- VolAvgLorentzJCrossDev
VolAvgLorentzJCrossDev
Works with XSimEM license.
MultiField updater that calculates the polarization current from the electric field (E), the polarization field (P), and the coefficient field (A) for the frequency-dependent part of the Lorentz permittivity. The coefficient field, A, is computed by the InitVolAvgLorentzInvEpsCrossDev initial update step.
VolAvgLorentzJCrossDev Parameters
The volAvgLorentzJCrossDev
updater takes the lowerBounds
and upperBounds
parameters of Field Slab updaters, as well as the
following parameters:
- resonantFreq (float, required)
The resonant frequency of the Lorentz dielectric.
- readFields (list of strings, required)
A list of field names in the following order: the electric field, the polarization field, and the 6-component Lorentz coefficient field (initialized by the InitVolAvgLorentzInvEpsCrossDev updater).
- writeFields (list of strings, required)
A list of field names containing a single element: the polarization current field.
VolAvgLorentzJCrossDev Usage Notes
The Lorentz algorithm models dielectrics with the following frequency-dependent form:
In this form, Maxwell’s equations may be written as
The first two equations are Faraday’s and Ampere’s laws, respectively; these are implemented using the compCurlCrossDev updater or the Dey-Mittra counterparts if the simulation contains perfectly-conducting boundaries (e.g. DeyMittraAmpereCrossDev). Note also the sum of polarization and source currents in Ampere’s law; this superposition can be carried out a number of ways (e.g. using twoFieldOpCrossDev to sum fields JPol and JSrc into a J field).
The last three equations are implemented using special updaters, for convenience and to ensure 2nd-order error in grid cells cut by the boundaries of dielectric objects. This updater, VolAvgLorentzJCrossDev, implements the last equation listed above.
Example VolAvgLorentzJCrossDev block
<FieldUpdater lorentzJUpdater>
kind = volAvgLorentzJCrossDev
lowerBounds = [0 0 0]
upperBounds = [NX NY NZ]
readFields = [E P A]
writeFields = [JPol]
resonantFreq = Si_RESFREQ
</FieldUpdater>
Notes
History
VolAvgLorentzJCrossDev was introduced in XSim 1.0