FieldDynamics for Electromagnetic Simulations¶
This page describes the Field options available for electromagnetic simulations, that is,
when the field solver
in the Basic Settings
element is set to electromagnetic
.
Fields¶
- Electric Field
The electric field
- Magnetic Field
The magnetic field.
- Current Density
The current density field. Must be added by user by right clicking “Fields”, hovering over “Add Field”, then choosing “Current Density”. Shows up as “J0”
- External Field
To allow external fields to either be added to the electric, magnetic or current fields. An external field will be added after the field solve and effect particle movements in the simulation. Must be added by user by right clicking “Fields”, hovering over “Add Field”, then choosing “External Field”
- description
A space to provide a descriptive comment for the field.
- field type
The type of field, electric, current or magnetic.
- field specification
Either import h5 file, import h5 file by grid index or function defined.
import h5 file A vis schema compliant h5 file. It does require that the file be in the same directory as the simulation. An error message will be provided if the file fails to import.
- filename:
The name of the .hdf5 file to be imported. Typical convention is simulationName_fieldName_dumpNum.h5
- lower bound 0:
The cell index of the 0th component lower bound of the source field, to be imported to the matching index in the simulation. If left not applicable the entire field will be imported.
- lower bound 1:
The cell index of the 1st component lower bound of the source field, to be imported to the matching index in the simulation. If left not applicable the entire field will be imported.
- lower bound 2:
The cell index of the 2nd component lower bound of the source field, to be imported to the matching index in the simulation. If left not applicable the entire field will be imported.
- upper bound 0:
The cell index of the 0th component upper bound of the source field, to be imported to the matching index in the simulation. If left not applicable the entire field will be imported.
- upper bound 1:
The cell index of the 1st component upper bound of the source field, to be imported to the matching index in the simulation. If left not applicable the entire field will be imported.
- upper bound 2:
The cell index of the 2nd component upper bound of the source field, to be imported to the matching index in the simulation. If left not applicable the entire field will be imported.
- function defined
Allows for manual specification of each component of the field
- component 0:
The function defining the field in the 0th component. Can be a time varying function
- component 1:
The function defining the field in the 1st component. Can be a time varying function
- component 2:
The function defining the field in the 2nd component. Can be a time varying function
- time dependent:
Set to true if any of the functions are time varying. The function will then be recalculated at each time step.
import h5 file by grid index A vis schema compliant h5 file. It does require that the file be in the same directory as the simulation. An error message will be provided if the file fails to import. This variant requires specifying the grid indices of both the source field to import as well as the indices of where to place that field in the simulation. This can be used to translate fields in position from a previous run to a new one.
The total number of cells between the source lower and upper bounds must match that of the simulation lower and upper bounds.
- filename:
The name of the .hdf5 file to be imported. Typical convention is simulationName_fieldName_dumpNum.h5
- source lower bound 0:
The grid index of the lower bound of the 0th dimension of the source field to be imported.
- source lower bound 1:
The grid index of the lower bound of the 1st dimension of the source field to be imported.
- source lower bound 2:
The grid index of the lower bound of the 2nd dimension of the source field to be imported.
- source upper bound 0:
The grid index of the upper bound of the 0th dimension of the source field to be imported.
- source upper bound 1:
The grid index of the upper bound of the 1st dimension of the source field to be imported.
- source upper bound 2:
The grid index of the upper bound of the 2nd dimension of the source field to be imported.
- simulation lower bound 0:
The grid index corresponding to the lower bound of the 0th dimension where the field will be placed in the simulation.
- simulation lower bound 1:
The grid index corresponding to the lower bound of the 1st dimension where the field will be placed in the simulation.
- simulation lower bound 2:
The grid index corresponding to the lower bound of the 2nd dimension where the field will be placed in the simulation.
- simulation upper bound 0:
The grid index corresponding to the upper bound of the 0th dimension where the field will be placed in the simulation.
- simulation upper bound 1:
The grid index corresponding to the upper bound of the 1st dimension where the field will be placed in the simulation.
- simulation upper bound 2:
The grid index corresponding to the upper bound of the 2nd dimension where the field will be placed in the simulation.
- External Mode Launching Field
This enables launching a 2D external electric field into a simulation. This electric field can be recalculated at each time step with a temporal variation, and moved to be at any 2D plane in the simulation space. Must be added by user by right clicking “Fields”, hovering over “Add Field”, then choosing “External Mode Launching Field”
- description
A space to provide a descriptive comment for the field.
- temporal variation
The time function that will be applied to the field.
- wavelength
The wavelength is used as a reference if a mode is to be calculated in the simulation process. It does not impact the launched wave itself.
- field type
The type of field, only electric is supported.
- field specification
Either vsh5 file defined mode or function defined mode.
- vsh5 file defined mode
Only requires specification of the file in the local simulation directory. These are typically generated from VSim analyzers. Must follow naming convention sourceSimulationName_datasetName_dumpNum.vsh5, where datasetName corresponds to the dataset to be loaded from the vsh5 file.
function defined mode
- E0(x, y, z):
The spatial function defining the field in the 0th component.
- E1(x, y, z):
The spatial function defining the field in the 1st component.
- E2(x, y, z):
The spatial function defining the field in the 2nd component.
- surface
The surface from which the field is launched. This will be visualized in the 3D view.
yz plane
- offset:
The position of the plane on the x axis.
- yMin:
Minimum coordinate of the plane on the y axis.
- yMax:
Maximum coordinate of the plane on the y axis.
- zMin:
Minimum coordinate of the plane on the z axis.
- zMax:
Maximum coordinate of the plane on the z axis.
xz plane
- offset:
The position of the plane on the y axis.
- xMin:
Minimum coordinate of the plane on the x axis.
- xMax:
Maximum coordinate of the plane on the x axis.
- zMin:
Minimum coordinate of the plane on the z axis.
- zMax:
Maximum coordinate of the plane on the z axis.
xy plane
- offset:
The position of the plane on the z axis.
- xMin:
Minimum coordinate of the plane on the x axis.
- xMax:
Maximum coordinate of the plane on the x axis.
- yMin:
Minimum coordinate of the plane on the y axis.
- yMax:
Maximum coordinate of the plane on the y axis.
- nodalE
This is a node centered electric field, used for calculating particle movements. It cannot be added to a simulation but is created automatically and will be plot-able post run if dump nodal fields = true.
- nodalB
This is a node centered magnetic field, used for calculating particle movements. It cannot be added to a simulation but is created automatically and will be plot-able post run if dump nodal fields = true.
- invEps
This is a field that stores the inverse values of dielectrics in a simulation. It cannot be added in the Fields tab but is created automatically if necessary and can be visualized.
- D
This is the displacement field, only created if a dielectric is present in the simulation. It cannot be added in the Fields tab but is created automatically if necessary and can be visualized.
Initial Condition¶
To add an Initial Condition to a field, right-click on the field and select Add FieldInitialCondition –> Initial Condition.
- kind (not editable)
Initial Condition
- expression
The value of the initial condition. Can be assigned a Constant, Parameter, or SpaceTimeFunction by right-clicking.
- component
Can be 0, 1 or 2 for the first, second, or third component of the field.
Field Boundary Conditions¶
To add a Boundary Condition, right-click on FieldBoundaryConditions and select your choice from Add FieldBoundaryCondition. Your choices for dimensionality and field solver in the Basic Settings element will determine which Boundary Conditions are available to add to your simulation.
Field Boundary conditions may only be applied on the simulation boundaries.
- Boundary Launcher
A boundary launcher will set the chosen
field
to the value given in theapplied field
functions of space and time.- field
The
field
to which the boundary condition applies.- applied fields
The location and orientation of the applied fields. The location is chosen from the simulation domain boundaries. Depending on your choice for the applied field orientation (i.e., the Value of the applied fields Property), you can set 2 of the following fields as a function of space and time.
Fx(x,y,z,t)
Fy(x,y,z,t)
Fz(x,y,z,t)
Coaxial Waveguide
This is a port launcher boundary condition, with the functions defining it preset to create a coaxial cable. See the VSimEM - Antennas example, “Coaxial Loop Antenna”, for a demonstration of its use. For proper operation, a physical coaxial cable must be constructed in Geometries to match the specified cable here.
- inner radius
The radius of the inner conductor.
- outer radius
The radius of the outer conductor.
- frequency
The frequency of the signal.
- voltage
The voltage of the signal.
- relative permittivity
The relative permittivity of the dielectric insulator.
- start time
The time at which to turn on the coaxial waveguide.
- stop time
The time at which to turn off the coaxial waveguide.
- turn on time
The amount of time to bring the coaxial waveguide up to full power. Typically, 2.5 periods of the carried signal.
- coaxial waveguide surface
The simulation domain boundary from which the coaxial waveguide enters the simulation. Depending on the selected boundary, two of the following three options are allowed.
- X-center coordinate
The center of the coaxial waveguide in X.
- Y-center coordinate
The center of the coaxial waveguide in Y.
- Z-center coordinate
The center of the coaxial waveguide in Z.
- Matched Absorbing Layer
A boundary condition that adds a Matched Absorbing Layer (MAL) to the specified face. A matched absorbing layer is an adiabatic absorber that uses isotropic electric and magnetic damping profiles to absorb the incident wave. This is unlike a PML (Perfectly Matched Layer), which uses the same electric and magnetic damping profiles, but is anisotropic. MAL boundaries are more stable, as an anisotropic boundary condition can become unstable when the incident wave has a non-zero imaginary part to its normal wavenumber (e.g., fringing fields from nearby structure, or particles entering the layer).
- thickness
The thickness of the MAL in meters. This value must be greater than the length of a computational cell in the direction of the boundary condition.
- surface
The simulation domain surface on which the MAL boundary condition should be set.
- damping factor
Most applications can use the default of 0.5. It can be increased if the MAL boundary needs to be very thin, or reduced if the MAL boundary is multiple wavelengths thick.
- power
Most applications can use the default of 3.0. It can be reduced if seeking very strong (60-80dB) damping with a multiple wavelength thick boundary.
lower x
lower y
lower z
upper x
upper y
upper z
- Open
A boundary condition that is “open” allowing EM waves to freely exit. This is a [Mur98] absorbing boundary condition. The open boundary condition works best for waves normal to the surface.
- surface
The simulation domain surface on which the open boundary condition should be set.
lower x
lower y
lower z
upper x
upper y
upper z
- Perfect Electric Conductor
A boundary condition that sets parallel components of the electric field to zero. For example, if the PEC boundary condition is added to the lower x surface, the y and z components of the electric field are set to zero.
- surface
The simulation domain surface on which the PEC boundary condition should be set.
lower x
lower y
lower z
upper x
upper y
upper z
- Perfect Magnetic Conductor
A boundary condition that sets parallel components of the magnetic field to zero. For example, if the PMC boundary condition is added to the lower x surface, the y and z components of the magnetic field are set to zero.
- surface
The simulation domain surface on which the PEC boundary condition should be set.
lower x
lower y
lower z
upper x
upper y
upper z
- Perfectly Matched Layer
A perfectly matched layer (PML) boundary condition. PMLs provide boundary conditions for the Yee algorithm that allow outgoing waves to leave without reflections (ideally). However in practice, there are problems with reflections in some materials, particularly photonic crystals. It is recommended to use the Matched Absorbing Layer (MAL) instead [OZAJ08]. PMLs can also fail when combined with other active boundary conditions, like ports, when there are particles present, or when structures exist at the PML boundary which are not normal to the boundary. For additional options within Text Setup, see PmlRegion in VSim Reference.
If it is decided to use PML boundary conditions it is also necesary to make sure there is not overlap between two boundaries, for example a LowerX bound running into a LowerY bound.
- thickness
The thickness of the PML in meters. This must correspond to a value greater than the length of one computational cell in the direction of the boundary condition.
- sigma
The strength of the PML conductivity. Typically 3.0 or \(5.0*LIGHTSPEED/DL\), where DL is the cell size in the normal direction.
- exponent
The exponent in the PML conductivity. Typically 1.5.
- surface
The simulation domain surface on which the PML boundary condition should be set.
lower x
lower y
lower z
upper x
upper y
upper z
- Port
A Port boundary condition is a tuned phase-velocity boundary condition. It can be used as an open or outgoing boundary condition, where waves traveling at exactly the specified phase velocity will exit the simulation with no reflection at all. Waves traveling at other phase velocities will partially exit and partially reflect, with a power reflection coefficient of \(\rho=(v_{p,wave} - v_{p,bc})^2/(v_{p,wave} + v_{p,bc})^2\).
- phase velocity
The phase velocity tuning parameter in meters/second.
- surface
The simulation domain surface on which the MAL boundary condition should be set.
lower x
lower y
lower z
upper x
upper y
upper z
- Port Launcher
A Port Launcher boundary condition will add a
Port
boundary condition to the chosen surface as well as setting the D field to the value given in theapplied field
functions of space and time.- phase velocity
The phase velocity tuning parameter in meters/second.
- applied fields
The location and orientation of the applied fields. The location is chosen from the simulation domain boundaries. Depending on your choice for the applied field orientation, you can set two of the following fields as a function of space and time.
Dx(x,y,z,t)
Dy(x,y,z,t)
Dz(x,y,z,t)
- Rectangular Waveguide
This is a port launcher boundary condition, with the functions defining it preset to create a rectangular waveguide. See the VSimEM example Rectangular Waveguide for an demonstration of its use. For proper operation, a physical waveguide must be constructed in Geometries at the location specified here.
- frequency
The frequency of the signal.
- voltage
The voltage of the signal.
- relative permittivity
The relative permittivity of the dielectric insulator.
- start time
The time at which to turn on the rectangular waveguide.
- stop time
The time at which to turn off the rectangular waveguide.
- turn on time
The amount of time to bring the rectangular waveguide up to full power. If this time is set to less than 2.5 periods of the carried signal, it will automatically be increased to 2.5 periods.
- waveguide surface
The simulation domain boundary from which the rectangular waveguide enters the simulation. Depending on the selected boundary, two of the following three options are allowed, as well as the polarization direction.
- X-center coordinate
The center of the rectangular waveguide in X
- Y-center coordinate
The center of the rectangular waveguide in Y
- Z-center coordinate
The center of the rectangular waveguide in Z
- polarization direction
The polarization direction of the waveguide. This will correspond to the height parameter of the waveguide.
- waveguide type
The type of waveguide used. Several commonly used waveguides are included, as well as the option to define your own.
User Defined
- height
The height of the waveguide. This will correspond to the polarization direction of the waveguide
- width
The width of the waveguide.
- Included Waveguides
The eight predefined waveguides are WR-90, WR-340, WR-284, WR-229, WR-187, WR-159, WR-137, and WR-112.
- WG equivalent (not-editable)
The RCSC designation of this waveguide type.
- standard frequency range (not-editable)
The frequencies over which this waveguide operates. A warning will be given if an operating frequency is given outside this range.
- height (not-editable)
The height of the waveguide. This will correspond to the polarization direction of the waveguide.
- width (not-editable)
The width of the waveguide.
Current Distributions¶
- Dipole Current
A dipole current is a current source centered around the user specified location and going \(\pm 1\) cell around the specified location.
- kind (not editable)
Dipole Current
- description
A space to provide a descriptive comment for the current.
- expression
The expression used to define the dipole. Can be assigned a Constant, Parameter, or SpaceTimeFunction by right-clicking. This should be either a constant or a function of time only.
- component
The component of the current density field to be set by the expression.
- coordinate
The physical location (in meters) where the dipole current should be set.
- General Distributed Current
A distributed current sets the values of the current density in the specified volume. Note that within the specified volume, spatial functions can be used to shape the current, for example to create a circular current excitation.
- kind (not editable)
General distributed current.
- description
A space to provide a descriptive comment for the current.
- J0(x,y,z,t)
If any, the expression for the current source in the x-direction.
- J1(x,y,z,t)
If any, the expression for the current source in the y-direction.
- J2(x,y,z,t)
If any, the expression for the current source in the z-direction.
- volume
- xMin
The domain extent in the negative x-direction.
- xMax
The domain extent in the positive x-direction.
- yMin
The domain extent in the negative y-direction.
- yMax
The domain extent in the positive y-direction.
- zMin
The domain extent in the negative z-direction.
- zMax
The domain extent in the positive z-direction.
- Separable Distributed Current
A separable distributed current can be used to load an external current mode and vary it in time.
- temporal variation
A time function to calculate how the current varies.
spatial profile
file specified A .h5 file that contains the current.
function specified
- J0(x,y,z)
The spatial profile of the current in the x-direction.
- J1(x,y,z)
The spatial profile of the current in the y-direction.
- J2(x,y,z)
The spatial profile of the current in the z-direction.
- volume
- xMin
The domain extent in the negative x-direction.
- xMax
The domain extent in the positive x-direction.
- yMin
The domain extent in the negative y-direction.
- yMax
The domain extent in the positive y-direction.
- zMin
The domain extent in the negative z-direction.
- zMax
The domain extent in the positive z-direction.
- Unidirectional Wave Launcher
A unidirectional wave launcher can be used to launch a wave at a specific, or range of frequencies in one direction only. This is particularly useful when measuring the S11 parameters of a device, or any simulation in which a waveguide cannot extend to the simulation boundary conditions.
- amplitude
Amplitude of the current launched wave. Note this value is modified when exciting a range of frequencies.
- excitation components
Components of the field to be excited.
- launching direction
Direction of the launched wave.
- spatial profile(x,y,z)
Spatial profile of the launched wave.
- wave launcher type
Either single frequency or multiple frequency.
single frequency
- frequency
Frequency to be excited.
- time beign
Time to start the excitation in seconds.
- time end
Time to end the excitation in seconds.
- turn on time
Time to ramp up to the specified amplitude in seconds.
multiple frequency
- frequency low
The lowest excited frequency.
- frequency high
The highest excited frequency.
- number of periods to drive
The number of periods to excite over the frequency range. Total excitation time will come out to the center frequency divided by this number.
- suppression factor
Factor that controls the speed at which the function goes from no frequency to the excitation band. Default value is almost always acceptable.
- normalization factor
The normalization factor can be used to tune the amplitude when performing S-parameter calculations with a psuedo-potential measurement technique, so that a pass frequency will be evaluated at one when looking at the FFT of the signal.
- cutoff frequency
The cutoff frequency of the launched wave, used to compute the phase velocity, if phase velocity is lightspeed set to 0.
- surface
The plane to use.
yz
- offset
The x offset from zero, in meters.
- yMin
The location of the y minimum, in meters.
- yMax
The location of the y maximum, in meters.
- zMin
The location of the z minimum, in meters.
- zMax
The location of the z maximum, in meters.
xz
- offset
The y offset from zero, in meters.
- xMin
The location of the x minimum, in meters.
- xMax
The location of the x maximum, in meters.
- zMin
The location of the z minimum, in meters.
- zMax
The location of the z maximum, in meters.
xy
- offset
The z offset from zero, in meters.
- xMin
The location of the x minimum, in meters.
- xMax
The location of the x maximum, in meters.
- yMin
The location of the y minimum, in meters.
- yMax
The location of the y maximum, in meters.
RCSBox Properties¶
The RCS box is available for electromagnetic simulations. It can be used to define a box and wave for calculation of radar cross sections. The wave defined will be perfectly absorbed at the other edge of the box, while waves from scattering off an object inside of the box will be allowed to exit. This allows for a relatively easy calculation of the radar cross section using the Far-Field Box Data History.
- kind
Only “Radar Cross Section” is available and is not editable.
- description
A space to provide a descriptive comment for the RCSBox.
- amplitude
Amplitude of the incident wave.
- frequency
Frequency of the incident wave.
- rise time (periods)
Number of periods (as given by frequency) for wave to rise to the given amplitude.
- x component incident direction
Incident angle in the x direction in radians.
- y component incident direction
Incident angle in the y direction in radians.
- z component incident direction
Incident angle in the z direction in radians.
- polarization direction x real
Polarization of the real component of the wave in the x direction.
- polarization direction y real
Polarization of the real component of the wave in the y direction.
- polarization direction z real
Polarization of the real component of the wave in the z direction.
- polarization direction x imaginary
Polarization of the imaginary component of the wave in the x direction.
- polarization direction y imaginary
Polarization of the imaginary component of the wave in the y direction.
- polarization direction z imaginary
Polarization of the imaginary component of the wave in the z direction.
volume
- xMin
The domain extent in the negative x-direction.
- xMax
The domain extent in the positive x-direction.
- yMin
The domain extent in the negative y-direction.
- yMax
The domain extent in the positive y-direction.
- zMin
The domain extent in the negative z-direction.
- zMax
The domain extent in the positive z-direction.
Plasma Dielectric Properties¶
A plasma dielectric is available in electromagnetic simulations. This is effectively a dielectric formed by plasma, and can be used more readily than generating the plasma from discrete particles.
A plasma dielectric is composed of a single electron type and as many ions as the user specifies.
Plasma dielectrics are most commonly used for propogation of microwaves through a plasma, or in the construction of a plasma antenna. Wave propogation through the ionosphere can be done with a plasma dielectric as well. To include a plasma dielectric in the simulation, right click on Field Dynamics and click on Add Plasma Dielectric. A new option will populate the Field Dynamics tab, typically called “PlasmaDielectric0”. The plasma dielectric algorithm used in VSim is discussed in [Smi07]. The plasma dielectric algorithm in the visual setup is the same as the one described in linPlasDielcUpdater in the text-based setup, except in the visual setup, sheath effects are not included.
- boundary damping frequency
The time constant of the damping of the plasma. Can be used to filter the signals passing through the plasma dielectric. Is a computational construct for absorbing boundary conditions.
- dump plasma work arrays
This wil dump the fields used in constructing the plasma dielectric if set to true.
- compute plasma losses
This will compute the losses in energy from the plasma.
- filtering level
Either none, weak, medium, or strong. This is used to filter computational noise of short wavelengths, particularly at sharp corners in the dielectric. A higher filtering level will more accurately filter but increases computational time.
- sheath
No sheath effects can be considered in VSim at this time.
- electron
The Electrons specified will not be modeled as discrete particles.
- density profile
A spatial profile describing the density of the electrons.
- collision frequency
A function describing electron drag on a neutral background, this will dampen electrical signals.
- impose charge neutrality
If set to true the ratio of all ions must add up to 1.0. This will gurantee that the plasma dielectric is charge neutral.
- ion
The ions specified will not be modeled as discrete particles.
- mass number [amu]
Mass of the ion in amu.
- charge number
Charge of the ion.
- density ratio
Fraction of all ions used consisting of this ion.
- collision frequency
A function describing ion drag on a neutral background, this will dampen electrical signals.
Note
Plasma dielectrics are incompatible with a simulation that also features regular or Drude/Debye-Lorentz modeled dielectrics.
Initial Beam Properties¶
Initial beams can be used for beam-driven Plasma Acceleration simulations.
These will perform an electrostatic field solve to setup the Lorentz boosted Poisson fields for launching the electron beam. This ensures that the simulation is self-consistent from start as the beam initializes the fields using a speed of light frame Poisson equation solve. This will also use a vector and scalar charge depositor for all particles in the simulation, and use esirk2ndOrder interpolation.
- beam gamma
The Lorentz factor, \(\gamma\), of the beam
- dump beam initialization fields
True or False option to dump the fields used in beam initialization