MultiLayerAtmosphere
- class hcipy.atmosphere.MultiLayerAtmosphere(layers, scintillation=False, scintilation=None)
Bases:
OpticalElement
A multi-layer atmospheric model.
This
OpticalElement
can model turbulence and scintillation effects due to atmospheric turbulence by propagating light through a series of infinitely-thin atmospheric phase screens at different altitudes. The distance between two phase screens can be propagated using Fresnel propagation, or using noPropagator
.- Parameters:
- layerslist of AtmosphericLayer objects
The series of atmospheric layers in this model.
- scintillationbool
If True, then the distance between two phase screens is propagated using a
FresnelPropagator
. Otherwise, no propagator will be used.
Attributes Summary
The total Cn^2 value of the simulated atmosphere.
A list of
AtmosphericLayer
objects.The outer scale of all layers.
Whether to include scintillation effects in the propagation.
The current time.
Methods Summary
backward
(wavefront)Propagate a wavefront backward through the optical element.
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()