- EmField
EmField¶
Blocks define the properties of the electromagnetic (EM) fields in the
simulation. An EmField can be one of many types, with the most
commonly used being the explicitly time-advanced which can be constructed
with the emMultiField
and the VSimEm.mac,
in which the basic components of the field are on the Yee mesh, and
these fields are then averaged to cell nodes for use by other objects.
The basic setup of the Yee EM field is illustrated below. In this setup,
electric fields are located on the edges of grid cells, and magnetic
fields are on the faces of the cell surfaces.
This EmField section describes
general parameters for use with all EmField kinds, followed by
descriptions of each individual EmField kind. Parameters
specific to each individual kind are discussed within the description of
each kind. InitialConditions and
BoundaryConditions, including outGoing
and
kinds for EM fields only, are discussed in
Initial and Boundary Conditions.
Other fields include specified constant or functional fields and electrostatic fields. Multiple EM fields can co-exist in a simulation. Since each field will have a unique name, other objects in the simulation can reference them individually.
Electromagnetic fields are described by EmField blocks. Defining the EM field (EmField) input block involves defining the kind parameter, as well as nested input blocks that describe the electromagnetic boundary conditions.
Vorpal has several different algorithms that can be used to model EmFields. You specify which algorithm you would like Vorpal to use by using the kind parameter. For each different kind, different parameters apply.
All EmField kinds can specify initial and boundary conditions. Periodic boundary conditions are defined in the Decomp input block.
EmField Parameters¶
- EmField:
Electromagnetic field implementation algorithm.
- kind
One of the following:
constEmField
: Works with VSimBase, VSimEM, VSimVE, VSimPA, and VSimPD licenses.EM field in which components are held constant throughout the simulation.
emMultiField
: Works with VSimBase, VSimEM, VSimVE, VSimPA, and VSimPD licenses.Electromagnetic field described with the MultiField syntax. To construct standard Yee mesh explicit update use the basicEM macro.
funcEmField
: Works with VSimBase, VSimEM, VSimVE, VSimPA, and VSimPD licenses.Values for this field are set by a space/time function using the STFunc object.
- rhojweighting (string)
Option for current/charge deposition when using higher-order particles.
gridBoundary
(string, default =sphere
)Defines the boundaries for an EM Field in the simulation. One of:
sphere
(default)universe
pycavity
stlfile
user-defined boundary
interpolation
(string)Defines the interpolation used with higher-order particles.
linearFromNodalFields
:(default in case in which the interpolating fields are on the nodes)
esirk1stOrder
(default in case in which theInterpolating fields are on the Yee mesh): Corresponds to bilinear or trilinear interpolation from the Yee mesh points. With a VSimPA or VSimPD license up to 7th order interpolation (esirk7thOrderCP) is available.
esirk1stOrderCP
(default in case in which theInterpolating fields are on the Yee mesh): Corresponds to bilinear or trilinear interpolation from the Yee mesh points. With a VSimPA or VSimPD license up to 7th order interpolation (esirk7thOrderCP) is available. This variant is intended for use with coordProd (CP) grids.
interpOrder
(string, default =linear
)String used in conjunction with the polynomial interpolation algorithm only.
interpOrder
describes the order of the interpolation from the Yee mesh. Interpolation options include:linear
(default)quadratic
cubic
quartic
Note
Most of the time,
rhojweighting
andinterpolation
parameters for EmField will be the same. However, nodal fields uselinearFromNodalFields
and the Yee field usesesirk1stOrder
. That is:rhojweighting = esirk1stOrder interpolation = esirk1stOrder
However, in cases in which:
rhojweighting = areaWeighting
then:
interpolation = linearFromNodalFields
which is the default for fields in which:
offset=none
Otherwise the default for fields with any other offset is:
interpolation = esirk1stOrder
In the case in which:
rhojweighting = bilinear
then:
interpolation = linearFromNodalFields
which is the default for fields in which:
offset=none
Otherwise the default for fields with any other offset is:
interpolation = esirk1stOrder
Every gridField object has a default interpolation algorithm.
In the example below, the interpolation is set in a higher-level object and is valid for all gridField objects created by that EmField:
<EmField ...> kind = emMultiField interpolation=... ... </EmField>
The following code demonstrates how to change the interpolation for each gridField object individually:
<MultiField ...> <Field ...> kind = gridField interpolation=... </Field> ... </MultiField>