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
.
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”
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.
Allows for manual specification of each component of the field
The function defining the field in the 0th component. Can be a time varying function
The function defining the field in the 1st component. Can be a time varying function
The function defining the field in the 2nd component. Can be a time varying function
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.
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”
Either vsh5 file defined mode or function 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.
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.
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.
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.
A boundary launcher will set the chosen field
to the value given
in the applied field
functions of space and time.
field
to which the boundary condition applies.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.
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.
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).
The simulation domain surface on which the MAL boundary condition should be set.
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.
The simulation domain surface on which the open boundary condition should be set.
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.
The simulation domain surface on which the PEC boundary condition should be set.
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.
The simulation domain surface on which the PEC boundary condition should be set.
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.
The simulation domain surface on which the PML boundary condition should be set.
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\).
The simulation domain surface on which the MAL boundary condition should be set.
A Port Launcher boundary condition will add aPort
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.
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.
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.
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.
The type of waveguide used. Several commonly used waveguides are included, as well as the option to define your own.
User Defined
The eight predefined waveguides are WR-90, WR-340, WR-284, WR-229, WR-187, WR-159, WR-137, and WR-112.
A dipole current is a current source centered around the user specified location and going \(\pm 1\) cell around the specified location.
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.
A separable distributed current can be used to load an external current mode and vary it in time.
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.
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.
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.
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.
The Electrons specified will not be modeled as discrete particles.
The ions specified will not be modeled as discrete particles.
Note
Plasma dielectrics are incompatible with a simulation that also features regular or Drude/Debye-Lorentz modeled dielectrics.
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.