openPMD extension name: LaserEnvelope
This extension is specifically designed for modeling the propagation of laser beams and pulses.
The laser pulse is represented as a single complex field
or in spatial representation:
where
When added to an output, the following naming conventions shall be used for complex electric field mesh records
.
-
<laser envelope name>/
- type: (complexX)
- scope: required
- description: Scalar field for the envelope (as a field strength). See above for description. The name is arbitrary, allowing a single series to store multiple laser pulses.
- unitDimension =
(1., 1., -3., -1., 0., 0., 0.)
$(V/m = kg . m / (A . s^3))$ ifenvelopeField
iselectric_field
, dimensionless(0., 0., 0., 0., 0., 0., 0.)
otherwise.
On the series
object, set the following attributes:
-
envelopeField
- type: (string)
- scope: required
- description: physical quantity used to represent the laser envelope field.
- allowed values:
-
electric_field
The mesh represents the envelope of the transverse electric field$E_{x/y}$ of the laser pulse. -
normalized_vector_potential
The mesh represents the envelope of the transverse vector potential of the laser pulse. This quantity is normalized (to be dimensionless), as commonly used in laser-plasma interaction literature:$eA_{x/y}/(m_ec)$ .
-
-
angularFrequency
- type: (floatX)
- description: angular frequency
$\omega_0$ at which the laser envelope is defined (rad/s). - scope: required
-
polarization
- type: 1-dimensional array containing 2 (complexX)
- description: polarization vector, 2 values for the 2 transverse components x and y. This vector is normalized (so its modulus is 1) and contains all information to account for polarization states and carrier-envelope phase (CEP).
- scope: required