FiniteAtmosphericLayer

class hcipy.atmosphere.FiniteAtmosphericLayer(input_grid, Cn_squared=None, L0=inf, velocity=0, height=0, oversampling=2, seed=None)

Bases: AtmosphericLayer

An atmospheric layer simulating atmospheric turbulence.

This atmospheric layer is finite. This means that it will wrap after translation by more than oversampling times the extent of the input grid.

Parameters:
input_gridGrid

The grid on which the incoming wavefront is defined.

Cn_squaredscalar

The integrated strength of the turbulence for this layer.

L0scalar

The outer scale for the atmospheric turbulence of this layer. The default is infinity.

velocityscalar or array_like

The wind speed for this atmospheric layer. If this is a scalar, the wind will be along x. If this is a 2D array, then the values are interpreted as the wind speed along x and y. The default is zero.

heightscalar

The height of the atmospheric layer. By itself, this value has no influence, but it’ll be used by the AtmosphericModel to perform inter-layer propagations.

oversamplingscalar

The amount of oversampling in the Fourier space. The atmospheric layer will wrap after translation by more than oversampling times the extent of the input grid. The default is 2.

seedNone, int, array of ints, SeedSequence, BitGenerator, Generator

A seed to initialize the spectral noise. If None, then fresh, unpredictable entry will be pulled from the OS. If an int or array of ints, then it will be passed to a numpy.SeedSequency to derive the initial BitGenerator state. If a BitGenerator or Generator are passed, these will be wrapped and used instead. Default: None.

Attributes Summary

Cn_squared

The integrated strength of the turbulence for this layer.

L0

The outer scale of the turbulence for this layer.

achromatic_screen

The phase of this layer for a wavelength of one.

noise

The (unshifted) spectral noise of this layer.

outer_scale

The outer scale of the turbulence for this layer.

Methods Summary

evolve_until(t)

Evolve the atmospheric layer until a certain time.

phase_for(wavelength)

Compute the phase at a certain wavelength.

reset([make_independent_realization])

Reset the atmospheric layer to t=0.

Attributes Documentation

Cn_squared

The integrated strength of the turbulence for this layer.

L0

The outer scale of the turbulence for this layer.

achromatic_screen

The phase of this layer for a wavelength of one.

This property is not intended to be used by the user.

noise

The (unshifted) spectral noise of this layer.

This property is not intended to be used by the user.

outer_scale

The outer scale of the turbulence for this layer.

Methods Documentation

evolve_until(t)

Evolve the atmospheric layer until a certain time.

Parameters:
tscalar

The new time to evolve the phase screen to.

phase_for(wavelength)

Compute the phase at a certain wavelength.

Parameters:
wavelengthscalar

The wavelength of the light for which to compute the phase screen.

Returns:
Field

The computed phase screen.

reset(make_independent_realization=False)

Reset the atmospheric layer to t=0.

Parameters:
make_independent_realizationboolean

Whether to start an independent realization of the noise for the atmospheric layer or not. When this is False, the exact same phase screens will be generated as in the first run, as long as the Cn^2 and outer scale are the same. This allows for testing of multiple runs of a control system with different control parameters. When this is True, an independent realization of the atmospheric layer will be generated. This is useful for Monte-Carlo-style computations. The default is False.