Field Dump
In most applications, the input and output signals at the Ports is sufficient for characterizing a structure, such as its frequency response.
However, some special applications make use of the raw electromagnetic fields, not just the input and output signals. We can do this by creating a “dump box” (a region in space where field values are recorded) to save field samples to disk. For troubleshooting malfunctioning setups, this is especially helpful as one can identify the problematic region through direct visualization.
Several kinds of dump boxes exist.
Time-domain dumps of electric field \(\mathbf{E}\), auxiliary magnetic field \(\mathbf{H}\), electric conduction current \(\mathbf{J}\), total current density \(\mathrm{\nabla} \times \mathbf{H}\), electric displacement field \(\mathbf{D}\), and magnetic field (flux density) \(\mathbf{B}\), with their
dump_type
numbered from0
to5
.Frequency-domain dumps of electric field, auxiliary magnetic field, electric conduction current, total current density, electric displacement field, and magnetic field (flux density), numbered from
10
to15
.Specific Absorption Rate (SAR) for biological EM radiation exposure analysis.
Near-Field to Far-Field Transformation (NF2FF) for antenna analysis (special setup required, via
openEMS.openEMS.CreateNF2FFBox()
and a separate post-processing tool).
Note
openEMS calculates the total current density via Ampere-Maxwell’s law \(\mathrm{\nabla} \times \mathbf{H}\), which is \(\mathbf{J} + \frac{\partial \mathbf{D}}{\partial t}\) (i.e. the sum of conduction current and displacement current).
Usage
It’s added by the AddDump()
method in Matlab/Octave.
In Python,
use the CSXCAD.ContinuousStructure.AddDump()
method (see
CSPropDumpBox
for a detailed list of
parameters).
Important
Like all CSXCAD Properties, field dumps are also “materials” albeit non-physical, so they should be associated with one or more Primitives (i.e. geometric shapes) as well.
Example
Dump the total current density (dump_type=3
) on at 2D surface from
(-100, -100) to (100, 100) at Z = 8:
% Octave
%TODO
# Python
dump = csx.AddDump("curl_H_upper", dump_type=3)
dump.AddBox(start=[-100, -100, 8], stop=[100, 100, 8])