Grid#

class lasy.utils.grid.Grid(dim, lo, hi, npoints, n_azimuthal_modes=None, is_envelope=True, is_cw=False, is_plane_wave=False, position=0.0)[source]#

Store the envelope in temporal and spectral space and corresponding metadata.

Parameters:
dimstring

Dimensionality of the array. Options are:

  • 'xyt': The laser pulse is represented on a 3D grid:

    Cartesian (x,y) transversely, and temporal (t) longitudinally.

  • 'rt'The laser pulse is represented on a 2D grid:

    Cylindrical (r) transversely, and temporal (t) longitudinally.

lo, hilist of scalars

Lower and higher end of the physical domain. One element per direction (2 for dim='rt', 3 for dim='xyt')

npointstuple of int

Number of points in each direction. One element per direction (2 for dim='rt', 3 for dim='xyt') For the moment, the lower end is assumed to be (0,0) in rt and (0,0,0) in xyt

n_azimuthal_modesint (optional)

Only used if dim is 'rt'. The number of azimuthal modes used in order to represent the laser field.

is_envelopebool (optional)

Whether the field provided uses the (complex) envelope representation, as used internally in lasy. If False, field is assumed to represent the the full (real) electric field (with fast oscillations).

is_cwbool (optional)

Whether the laser pulse longitudinal profile is a continuous wave laer profile or not.

is_plane_wavebool (optional)

Whether the laser pulse transverse profile is a plane wave laer profile or not.

positionscalar (optional)

Longitudinal (z) position in a beamline at which the pulse is defined.