TurbBloomAtmosphere

Top  Previous  Next

RESTRICTED AVAILABILITY NOTICE:

The thermal-blooming components of LightLike are only available with specific permission from the government sponsor.  Contact TimeLike Systems for details.

 

LL_TurbBloomAtmosphere

View Inside TurbBloomAtmosphere:

LL_TurbBloomAtmosphere_Inside

 

TurbBloomAtmosphere models optical propagation through atmospheric turbulence with thermal blooming. The atmospheric turbulence is modeled using multiple "phase screens", typically 5-20, distributed along the propagation path. Each phase screen represents the cumulative optical path differences for a slab of atmosphere, and in between phase screens we perform vacuum propagations, using a two-step FFT propagator. The details of the path model (number and placement of screens, turbulence strengths, inner scale, etc.) are specified by "atmosphere specification" (an object of type AcsAtmSpec). Atmosphere specifications can be created using TurbTool, and for certain common cases (e.g. uniform turbulence, or scaled Clear1) we have also provided a more convenient function call interface. Thermal blooming is specified via a "thermal blooming specification", MtbAtmSpec. Thermal blooming screens can be located independently of turbulence phase screens, but in order to minimize the number of FFT propagations it is recommended that they are placed at the same locations wherever possible. The dimensions of each phase screen dimensions are controlled by a user-defined bounding rectangle for the region of interest at each end of the propagation path. If the specified bounds should be exceeded, each screen will be "scrolled" as necessary. Unlike AtmoPath, TurbBloomAtmosphere does not include PropagationControllers, at least one of which is required somewhere along each propagation path, so the user must put them in himself.

C++ type

name

value

description

Parameters

AcsAtmSpec

acsSpec


Atmospheric turbulence specification

MtbAtmSpec

mtbSpec


Thermal blooming specification

int

randomSeed


Seed for phasescreen generation

RectangularRegion

regionPlatform


Region of screens at the 'platform' end of path

RectangularRegion

regionTarget


Region of screens at the 'target' end of path

double

dxy

0.01

Grid spacing of turbulence screens (m)

int

locFlag

0

Low order correction flag

Inputs

Light

incomingIncident

Light()

Describes all light incident from the "incoming" direction

Light

outgoingIncident

Light()

Describes all light incident from the "outgoing" direction

Outputs

Light

incomingTransmitted


Describes all light transmitted in the "incoming" direction

Light

outgoingTransmitted


Describes all light transmitted in the "outgoing" direction