![]() | Adding Particle Sources |
The example below will show you how to create a particle source(s) using EMA3D API.
This example shows how to create and configure a particle source. A pre-existing Charge Domain object is required. It demonstrates how to configure the spectrum data manually, using a file, and using STK.
# Python Script, API Version = V251 from System.Collections.Generic import List import clr apipath = "ema3d.Api.V25.dll" clr.AddReferenceToFileAndPath(apipath) import ema3d.Api.V25.Charging.Excitation as Excitation # get document doc = Window.ActiveWindow.Document # Create Particle Source particleSource = Excitation.ParticleSource.Create(doc) # Configure Particle Source particleSource.NumberParticles = 2000 particleSource.NumberTimeSteps = 1 particleSource.ParticleType = Excitation.ParticleType.Electron particleSource.Shape = Excitation.ParticleShape.Plane particleSource.PlanarPlane = Excitation.ParticlePlane.Z particleSource.Direction = Excitation.ParticleDirection.Neg # Configure Particle Source spectrum manually particleSource.ParticleInputType = Excitation.ParticleInputType.Manual particleSource.Current = 2e-7 particleSource.IntegralFluxTime = 2 spectrumEnergyBins = List[List[float]]() spectrumEnergyBins.Add(List[float]()) spectrumEnergyBins.Add(List[float]()) spectrumEnergyBins.Add(List[float]()) spectrumEnergyBins[0].Add(1) spectrumEnergyBins[0].Add(1) spectrumEnergyBins[1].Add(2) spectrumEnergyBins[1].Add(2) spectrumEnergyBins[2].Add(3) spectrumEnergyBins[2].Add(3) particleSource.SpectrumEnergyBins = spectrumEnergyBins # Configure Particle Source spectrum with a file particleSource.ParticleInputType = Excitation.ParticleInputType.File particleSource.SpectrumFile = "C:\Users\joe\Downloads\spectrum.dat" # Configure Particle Source spectrum with STK particleSource.ParticleInputType = Excitation.ParticleInputType.STK particleSource.SatelliteName = "satellite1" particleSource.SyncSTK = True