Maxwell

AnalyticalExternalSource
Section: Maxwell
Type: logical
Default: no

This means the analytical evaluation of formula will be used, Maxwell propagation will not be used.


BesselBeamAxisShift
Section: Maxwell
Type: block

The BesselBeamAxisShift block allows to shift the Bessel Beam, which is centered at (0,0,0) as default. Selected position point will be used as the new center of the Bessel Beam. When defining a BesselBeamAxisShift, please make sure to define a shift for each Bessel source you use, then it is possible to tell which source is shifted according to which BesselShift, respectively. %BesselBeamAxisShift
   0.0 | 2.0 | 5.0
%



CurrentDensityFactor
Section: Maxwell
Type: float
Default: 1.0

Fictitous factor to modify the current density coming from partner systems. Note: This factor does not affect the external current density prescribed by the UserDefinedMaxwellExternalCurrent block.


ExternalCurrent
Section: Maxwell
Type: logical
Default: no

If an external current density will be used.


ExternalSourceBesselOutput
Section: Maxwell
Type: block

The ExternalSourceBesselOutput block allows to output analytically calculated fields at a particular point in space. The columns denote the x, y, and z coordinate of the point. Please be aware that ExternalSource lives on the grid of the system that it is applied to. Therefore, it might not be evaluated at every point in space. When comparing, please be sure to check the log and compare if your required point in space matches the evaluated position.

%ExternalSourceBesselOutput
   -1.0 | 2.0 | 4.0
%



MaxwellAbsorbingBoundaries
Section: Maxwell
Type: block

Type of absorbing boundaries used for Maxwell propagation in each direction.

Example:

%MaxwellAbsorbingBoundaries
   cpml | cpml | cpml
%



Options:


MaxwellBoundaryConditions
Section: Maxwell
Type: block

Defines boundary conditions for the electromagnetic field propagation.

Example:

%MaxwellBoundaryConditions
   zero | mirror_pec | constant
%





Options:


MaxwellFunctions
Section: Maxwell
Type: block

This block specifies the shape of a "spatial-dependent function", such as the envelope needed when using the MaxwellFunctions block. Each line in the block specifies one function. The first element of each line will be a string that defines the name of the function. The second element specifies which type of function we are using; in the following we provide an example for each of the possible types:


Options:


MaxwellHamiltonianOperator
Section: Maxwell
Type: integer
Default: faraday_ampere

With this variable the the Maxwell Hamiltonian operator can be selected
Options:


MaxwellIncidentWaves
Section: Maxwell
Type: block

The initial electromagnetic fields can be set by the user with the MaxwellIncidentWaves block variable. The electromagnetic fields have to fulfill the Maxwells equations in vacuum. For a Maxwell propagation, setting the electric field is sufficient, the magnetic field (for plane waves) will be calculated from it as 1/(c.|k|) . (k x E).

Example:

%MaxwellIncidentWaves
   plane_wave_parser | "field_type"| "k1x" | "k1y" | "k1z" | "E1x" | "E1z" | "E1x"
   plane_wave_mx_function | "field_type"| "E4x" | "E4y" | "E4z" | mx_envelope_name | phase
   bessel_function | "field_type"| A_0 | m | omega | helicity | \(\theta_{k}\) | mx_envelope_name | lin_dir
%


Field type can be "electric_field" or "vector_potential". Note that in order to couple to an electronic system, the MaxwellCouplingMode variable needs to be set to a coupling type compatible with the requested field type ("electric_field" is compatible with length gauge, while "vector_potential" is compatible with velocity gauge and full minimal coupling). Otherwise, the field will not be calculated or applied to the electronic Hamiltonian.


Options:


MaxwellPlaneWavesInBox
Section: Maxwell
Type: logical
Default: no

Analytic evaluation of the incoming waves inside the box, not doing any numerical propagation of Maxwells equations.


MaxwellTestQuadrupole
Section: Maxwell
Type: logical
Default: no

Override Maxwell field with linear E field for testing.


RegularizationFunction
Section: Maxwell
Type: integer
Default: COS2

The current arising from charged point particles must be mapped onto the Maxwell propagation grid. This requires a smearing or regularization function $\phi(\mathbf{r})$ attached to each particle position $\mathbf{r}_i$ with user defined cutoff width, $\sigma$
Options:


RegularizationFunctionWidth
Section: Maxwell
Type: float
Default: 2

The current arising from charged point particles must be mapped onto the Maxwell propagation grid. This requires a smearing or regularization function $\phi(\mathbf{r})$ attached to each particle position $\mathbf{r}_i$ with user defined cutoff width, $\sigma$. Default 2 bohrradii


SpeedOfLightFactor
Section: Maxwell
Type: float
Default: 1.0

Fictitous factor to modify the speed of light in vacuum. Note: the proper way to handle linear media with a certain refractive index is by the user of the linear_medium system.


TransverseFieldCalculation
Section: Maxwell
Type: integer
Default: no

This variable selects the method for the calculation of the transverse field.
Options:


UserDefinedConstantSpatialMaxwellField
Section: Maxwell
Type: block

Define parameters of spatially constant field.

Example:

%UserDefinedConstantSpatialMaxwellFields
   plane_wave_parser | E_x | E_y | E_z | B_x | B_y | B_z | "tdf_function"
%


This block defines three components of E field, three components of B field, and reference to the TD function.


UserDefinedInitialMaxwellStates
Section: Maxwell
Type: block

The initial electromagnetic fields can be set by the user with the UserDefinedMaxwellStates block variable. The electromagnetic fields have to fulfill the Maxwells equations in vacuum.

Example:

%UserDefinedMaxwellStates
   formula | 2 | "magnetic_field" | "-1/P_c * sin(x)"
   formula | 3 | "electric_field" | " sin(x) "
%


The second column specifies the component of the dimension of the electric field and magnetic field. The first column indicates that column four should be interpreted as a formula for the corresponding state. P_c is the speed of light constant.

Alternatively, if column one states file the electric field and magnetic field will be read from the files given in column four.

%UserDefinedMaxwellStates
   file | 3 | electric_field | "/path/to/file_electric_field_of_dimension_3"
   file | 2 | magnetic_field | "/path/to/file_magnetic_field_of_dimension_2"
%


The third option to define the initial state inside the box is to extend the plane waves used as incident waves in the MaxwellIncidentWaves block, as follows:

%UserDefinedMaxwellStates
   use_incident_waves
%



Options:


UserDefinedMaxwellExternalCurrent
Section: Maxwell
Type: block



Example:

%UserDefinedMaxwellExternalCurrent
   current_parser | "expression_x_dir1" | "expression_y_dir1" | "expression_z_dir1"
   current_parser | "expression_x_dir2" | "expression_y_dir2" | "expression_z_dir2"
   current_td_function | "amplitude_j0_x" | "amplitude_j0_y" | "amplitude_j0_z" | omega | envelope_td_function_name | phase
%


Description about UserDefinedMaxwellExternalCurrent follows


Options:


Maxwell::Boundaries

MaxwellABPMLPower
Section: Maxwell::Boundaries
Type: float
Default: 3.5

Exponential of the polynomial profile for the non-physical conductivity of the PML. Should be between 2 and 4


MaxwellABPMLReflectionError
Section: Maxwell::Boundaries
Type: float
Default: 1.0e-16

Tolerated reflection error for the PML


MaxwellABWidth
Section: Maxwell::Boundaries
Type: float

Width of the region used to apply the absorbing boundaries. The default value is twice the derivative order.


MediumElectricSigma
Section: Maxwell::Boundaries
Type: float
Default: 0.

Electric conductivity of the linear medium.


MediumEpsilonFactor
Section: Maxwell::Boundaries
Type: float
Default: 1.0.

Linear medium electric susceptibility.


MediumMagneticSigma
Section: Maxwell::Boundaries
Type: float
Default: 0.

Magnetic conductivity of the linear medium.


MediumMuFactor
Section: Maxwell::Boundaries
Type: float
Default: 1.0

Linear medium magnetic susceptibility.


MediumWidth
Section: Maxwell::Boundaries
Type: float
Default: 0.0 a.u.

Width of the boundary region with medium


Maxwell::Medium

CheckPointsMediumFromFile
Section: Maxwell::Medium
Type: logical
Default: no

Whether to re-calculate the points map by artificially shrinking the coordinate system by a factor of 0.99 to check if the points inside the medium surface are properly detected. This works for only one medium surface which is centered in the origin of the coordinate system.


LinearMediumBoxFile
Section: Maxwell::Medium
Type: string

File in OFF format with the shape of the linear medium.


LinearMediumBoxShape
Section: Maxwell::Medium
Type: integer

This variable defines the shape of the linear medium box. The default is medium_parallelepiped.
Options:


LinearMediumBoxSize
Section: Maxwell::Medium
Type: block

Defines center and size of a parallelepiped linear medium box.

Example:

%LinearMediumBoxSize
   center_x | center_y | center_z | x_length | y_length | z_length
%


LinearMediumEdgeProfile
Section: Maxwell::Medium
Type: integer

Defines the type of numerical approximation used for the derivatives at the edges of the medium box. Default is edged. When the box shape is read from file, only the edged profile is supported.


Options:


LinearMediumProperties
Section: Maxwell::Medium
Type: block

Defines electromagnetic parameters for a linear medium box.

Example:

%LinearMediumProperties
   epsilon_factor | mu_factor | sigma_e | sigma_m
%


Permittivity factor, permeability factor, electric conductivity and magnetic conductivity of the medium box.


MediumDispersionType
Section: Maxwell::Medium
Type: integer
Default: drude_medium

Dispersion model used for the medium (only Drude model available for the moment).
Options:


MediumPoleDamping
Section: Maxwell::Medium
Type: float
Default: 0

Damping factor (inverse relaxation time) of the medium.


MediumPoleEnergy
Section: Maxwell::Medium
Type: float
Default: 0

Energy of the pole.


MediumPoleStrength
Section: Maxwell::Medium
Type: float
Default: 1.0

Strength of the pole (unitless).


Maxwell::Output

MaxwellFieldsCoordinate
Section: Maxwell::Output
Type: block

The Maxwell MaxwellFieldsCoordinate block allows to output Maxwell fields at particular points in space. For each point a new line with three columns has to be added to the block, where the columns denote the x, y, and z coordinate of the point.

%MaxwellFieldsCoordinate
   -1.0 | 2.0 | 4.0
   0.0 | 1.0 | -2.0
%



MaxwellTDOutput
Section: Maxwell::Output
Type: flag
Default: maxwell_energy

Defines what should be output during the time-dependent Maxwell simulation. Many of the options can increase the computational cost of the simulation, so only use the ones that you need. In most cases the default value is enough, as it is adapted to the details of the TD run. WARNING: the calculation of the longitudinal or transverse E and B fields can be very expensive, so please consider using the MaxwellOutput block to calculate and output these quantities at certain timesteps.
Options:


MediumCurrentCoordinates
Section: Maxwell::Output
Type: block

This allows to output phasor current vectors at particular points in space.

%MediumCurrentCoordinates
   -1.0 | 2.0 | 4.0
   0.0 | 1.0 | -2.0
%



Maxwell::TD Propagation

MaxwellTDETRSApprox
Section: Maxwell::TD Propagation
Type: integer
Default: no

Whether to perform approximations to the ETRS propagator.
Options:


PropagateSpatialMaxwellField
Section: Maxwell::TD Propagation
Type: logical
Default: yes

Allow for numerical propagation of Maxwells equations of spatially constant field. If set to no, do only analytic evaluation of the field inside the box.