MultiLayerAtmosphere

class hcipy.atmosphere.MultiLayerAtmosphere(layers, scintillation=False, scintilation=None)

Bases: hcipy.optics.optical_element.OpticalElement

Attributes Summary

Cn_squared

The total Cn^2 value of the simulated atmosphere.

layers

A list of AtmosphericLayer objects.

outer_scale

The outer scale of all layers.

scintillation

Whether to include scintillation effects in the propagation.

t

The current time.

Methods Summary

backward(wavefront)

Propagate a wavefront backward through the optical element.

calculate_propagators()

Recalculates the list of optical elements used for a propagation.

evolve_until(t)

Evolve all atmospheric layers to a time t.

forward(wavefront)

Propagate a wavefront forward through the optical element.

phase_for(wavelength)

Get the unwrapped phase in radians for the atmosphere.

reset()

Attributes Documentation

Cn_squared

The total Cn^2 value of the simulated atmosphere.

layers

A list of AtmosphericLayer objects.

outer_scale

The outer scale of all layers.

scintillation

Whether to include scintillation effects in the propagation.

t

The current time.

Methods Documentation

backward(wavefront)

Propagate a wavefront backward through the optical element.

A backward propagation is a literal backward propagation through the element. It is not (in general) the inverse of the forward propagation, except in cases where energy is conserved.

This function will be implemented by the derived class.

Parameters
wavefrontWavefront

The wavefront to propagate.

Returns
Wavefront

The propagated wavefront.

calculate_propagators()

Recalculates the list of optical elements used for a propagation.

This function is called automatically by other functions, but a recalculation can be forced by calling it explicitly.

evolve_until(t)

Evolve all atmospheric layers to a time t.

Parameters
tscalar

The time to which to evolve the atmospheric layers.

forward(wavefront)

Propagate a wavefront forward through the optical element.

This will be implemented by the derived class.

Parameters
wavefrontWavefront

The wavefront to propagate.

Returns
Wavefront

The propagated wavefront.

phase_for(wavelength)

Get the unwrapped phase in radians for the atmosphere.

Parameters
wavelengthscalar

The wavelength at which to calculate the phase screen.

Returns
Field

The total unwrapped phase screen.

reset()