7.4. Laser

7.4.1. Laser Spectrum

class cherab.core.laser.laserspectrum.LaserSpectrum

Laser spectrum base class.

This is an abstract class and cannot be used for observing.

A 1D function holding information about the spectral properties of a laser. The scattered spectrum is calculated as an iteration over the laser spectrum.

Warning

When adding a LaserSpectrum, a special care should be given to the integral power of the laser spectrum. During the scattering calculation, the spectral power can be multiplied by the power spatial distribution [W * m ** -3] of the laser power from the LaserProfile. If the integral power of the LaserSpectrum is not 1, unexpected values might be obtained.

Note

It is expected that majority of the fusion applications can neglect the influence of the spectral shape of the laser and can use laser spectrum with a single bin, which approximates an infinitely narrow laser spectrum.

Parameters:
  • min_wavelength (float) – The minimum wavelength of the laser spectrum in nm.

  • max_wavelength (float) – The maximum wavelength of the laser spectrum in nm.

  • bins (int) – The number of spectral bins of the laser spectrum.

Variables:
  • min_wavelength (float) – The minimum wavelength of the laser spectrum in nm.

  • max_wavelength (float) – The maximum wavelength of the laser spectrum in nm.

  • bins (int) – The number of specral bins of the laser spectrum

  • wavelengths (ndarray) – The wavelengt coordinate vector in nm.

  • power_spectral_density (ndarray) – The values of the power spectral density in W / nm.

  • delta_wavelength (float) – Spectral width of the bins in nm.

7.4.2. Laser Profile

class cherab.core.laser.profile.LaserProfile

LaserProfile base class.

This is an abstract class and cannot be used for observing.

Provides information about spatial properties of the laser beam: direction of the laser propagation (direction of the Poynting vector), polarisation of the ligth as the direction of the electric component vector and volumetric energy density of the laser light.

All the laser properties are evaluated in the frame of reference of the laser.

Warning

When combining a LaserProfile with a LaserSpectrum for a laser, a special care has to be given to obtain the correct power of the scattered spectrum. Scattering models can multiply both the spectral power density given by the LaserProfile and the volumetric energy density given by the LaserProfile. Combination of incompatible cases may yield incorrect values of scattered power.

Variables:

laser (Laser) – The Laser scenegraph node the LaserProfile is connected to.

generate_geometry()

returns list of raysect primitives composing the laser geometry

This method is called from the Laser instance to which the instance of Profile is attached to. The Laser instance will be assigned as the parent to the returned primitives in the Laser._configure method. The Laser._configure method does not change any transforms. This is why the returned primitives have to have their transforms already initialised in the frame of the laser, when returned.

get_energy_density(x, y, z)

Returns the volumetric energy density of the laser light in W*m^-3.

At the point (x, y, z) in the laser space.

Parameters:
  • x – x coordinate in meters in the laser frame.

  • y – y coordinate in meters in the laser frame.

  • z – z coordinate in meters in the laser frame.

Returns:

power density in W*m^-3.

get_pointing(x, y, z)

Returns the laser light propagation direction.

At the point (x, y, z) in the laser space.

Parameters:
  • x – x coordinate in meters.

  • y – y coordinate in meters.

  • z – z coordinate in meters.

Returns:

Intensity in m^-3.

get_polarization(x, y, z)

Returns a vector denoting the laser polarisation.

The polarisation direction is the direction of the electric component of the electromagnetic wave for the point (x, y, z) in the laser space.

Parameters:
  • x – x coordinate in meters.

  • y – y coordinate in meters.

  • z – z coordinate in meters.

Returns:

power density in Wm^-3.

set_energy_density_function(function)

Assigns the 3D scalar function describing the laser energy distribution.

The laser power distribution is the value of the volumetric energy density of the laser light.

set_pointing_function(function)

Assings the 3D vector function describing the direction of the laser propagation.

The direction of the laser light propagation is the direction of the Poynting vector.

Parameters:

function (VectorFunction3D) – A 3D vector function describing the laser light propagation direction

set_polarization_function(function)

Assigns the 3D vector function describing the polarisation vector.

The polarisation is given as the direction of the electric component of the electromagnetic wave.

The function is specified in the laser space.

Parameters:

function (VectorFunction3D) – A 3D vector function describing the polarisation vector.

7.4.3. Laser Model

class cherab.core.laser.model.LaserModel

Laser spectrum base class.

This is an abstract class and cannot be used for observing.

Calculates the contribution to a spectrum caused by a laser.

Parameters:
  • laser_profile – LaserProfile object

  • plasma – Plasma object

  • laser_spectrum – LaserSpectrum object

Variables:
  • laser_profile – LaserProfile object

  • plasma – Plasma object

  • laser_spectrum – LaserSpectrum object