Profile defined from external Numpy array#

class lasy.profiles.FromArrayProfile(wavelength, pol, array, dim, axes, axes_order=['x', 'y', 't'])[source]#

Profile defined from numpy array directly.

Parameters:
wavelengthfloat (in meter)

The main laser wavelength \(\\lambda_0\) of the laser, which defines \(\\omega_0\) in the above formula, according to \(\\omega_0 = 2\\pi c/\\lambda_0\).

pollist of 2 complex numbers (dimensionless)

Polarization vector. It corresponds to \(p_u\) in the above formula ; \(p_x\) is the first element of the list and \(p_y\) is the second element of the list. Using complex numbers enables elliptical polarizations.

arrayArray of the electric field of the laser pulse.
axesPython dictionary containing the axes vectors.

Keys are ‘x’, ‘y’, ‘t’. Values are the 1D arrays of each axis. array.shape = (axes[‘x’].size, axes[‘y’].size, axes[‘t’].size) in 3D, and similar in cylindrical geometry.

axes_orderList of strings, giving the name and ordering of the axes in the array.

Currently, only implemented for 3D, and supported values are [‘x’, ‘y’, ‘t’] and [‘t’, ‘y’, ‘x’].

evaluate(x, y, t)[source]#

Return the envelope field of the scaled profile.