lightFrameEnvelopeUpdater

lightFrameEnvelopeUpdater

Works with VSimPA license.

Multifield updater that updates the envelope fields in the laser envelope model. To use it effectively, you must use it with the lightFrameEnvelopeMultiField kind of MultiField. When using the envelope model with particles, the species should be of kind envBoris Species Kind.

lightFrameEnvelope Updater Parameters

The lightFrameEnvelopeUpdater takes the lowerBounds and upperBounds parameters of FieldUpdater, as well as the following parameters:

readFields (required string vector)

Three field names: the active envelope field, the alternate field, and the susceptibility field. The envelope fields are complex scalars, with the real part in component 0 and the imaginary part in component 1.

writeFields (required string vector)

Two field names: the active and alternate envelope fields.

omega (required float)

Angular frequency of the laser, in Hz.

Solver (required parameter block)

The lightFrameEnvelopeUpdater requires a block of type Solver of any name. This block provides parameters for the linear solver used in the update.

In general, the possible values of solver block parameters correspond to the values of parameters of the AztecOO library used by Vorpal. String parameters are case insensitive and need not have the AZ_ prefix. Not all AztecOO parameters can be set from the input file, and the parameters in the example file have been found to work well. However, solver parameters that you may want to adjust include:

kind (optional string):

Specifies the iterative solver available in Aztec to use for the linear system of equations of the envelope model. Please refer to the Trilinos documentation for further details. One of:

  • cg
  • gmres
  • cgs
  • tfgmr
  • bicgstab
precond (optional string):

Please refer to the Trilinos documentation for details regarding Trilinos preconditioners. The precond parameter specifies a Trilinos preconditioner; one of:

  • ml
  • dom_decomp_ilu
  • dom_decomp_ilut
  • neumann
  • ls
  • jacobi
output (optional string):

specifies information to be printed. Possible values to specify level of output include:

  • all
  • none: suppress residual data
  • warnings
  • last
  • summary
tolerance (optional float):
Tolerance for solver convergence.

Example lightFrameEnvelopeUpdater Block

<FieldUpdater envUpdater>
  kind = lightFrameEnvelopeUpdater
  lowerBounds = [ 0   0   0]
  upperBounds = [NX  NY  NZ]
  readFields = [activeEnvFld altEnvFld chi]
  writeFields = [activeEnvFld altEnvFld]

  omega = OMEGA

  <Solver mySolver>
    kind = gmres
    precond = dom_decomp
    output = all
    tolerance = 1.e-08
  </Solver>
</FieldUpdater>