AtmosphericLayer

class hcipy.atmosphere.AtmosphericLayer(input_grid, Cn_squared=None, L0=inf, velocity=0, height=0)

Bases: hcipy.optics.optical_element.OpticalElement

Attributes Summary

Cn_squared

The integrated value of Cn^2 for the layer.

L0

The outer scale of the phase structure function.

outer_scale

The outer scale of the phase structure function.

output_grid

t

The current time of the atmospheric layer.

velocity

The two-dimensional velocity of the layer.

Methods Summary

backward(wf)

Propagate a wavefront backward through the optical element.

evolve_until(t)

Evolve the atmospheric layer until time t.

forward(wf)

Propagate a wavefront forward through the optical element.

phase_for(wavelength)

Get the phase screen in radians at a certain wavelength.

reset()

Reset the phase screen.

Attributes Documentation

Cn_squared

The integrated value of Cn^2 for the layer.

L0

The outer scale of the phase structure function.

outer_scale

The outer scale of the phase structure function.

output_grid
t

The current time of the atmospheric layer.

velocity

The two-dimensional velocity of the layer.

Methods Documentation

backward(wf)

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.

evolve_until(t)

Evolve the atmospheric layer until time t.

Parameters
tscalar

The time to which to evolve the atmospheric layer.

forward(wf)

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 phase screen in radians at a certain wavelength.

Each atmospheric layer is modelled as an infinitely-thin phase screen.

Parameters
wavelengthscalar

The wavelength at which to calculate the phase screen.

reset()

Reset the phase screen.

This will create a randomized uncorrelated phase screen.