AtmosphericLayer
- class hcipy.atmosphere.AtmosphericLayer(input_grid, Cn_squared=None, L0=inf, velocity=0, height=0)
Bases:
OpticalElement
A single infinitely-thin atmospheric layer.
This class serves as a base class for all atmospheric layers. Multiply atmospheric layers can be combined into an
MultiLayerAtmosphere
which provides modelling of scintillation between layers.- Parameters:
- input_gridGrid
The grid on which the wavefront will be defined.
- Cn_squaredscalar
The integrated value of Cn^2 for the layer.
- L0scalar
The outer scale of the layer.
- velocityscalar or array_like
The velocity of the layer. If a scalar is given, its direction will be along x.
- heightscalar
The height of the atmospheric layer above the ground.
- Attributes:
- input_gridGrid
The grid on which the wavefront will be defined.
t
scalarThe current time of the atmospheric layer.
Cn_squared
scalarThe integrated value of Cn^2 for the layer.
L0
scalarThe outer scale of the phase structure function.
velocity
array_likeThe two-dimensional velocity of the layer.
- heightscalar
The height of the atmospheric layer above the ground.
Attributes Summary
The integrated value of Cn^2 for the layer.
The outer scale of the phase structure function.
The outer scale of the phase structure function.
The current time of the atmospheric layer.
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.