Click or drag to resize

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.

Particle Source Creation and Configuration
# 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