tempusSystem Class GeneralAtmosphere2
GeneralAtmosphere2 is part of the WaveTrain system class library

GeneralAtmosphere2 is a modified GeneralAtmosphere.
Option to remove tilt from individual phase screens added.
Beam diameter over which tilt is fit is specified.
Phase screens are available as output as a nscreen by 11+nxy*nxy array. The header of 11 data values before the nxy*nxy phase values for each screen is set in compPhaseScreen() in AcsPhaseScreen.cpp as:
propGrid->nx();
propGrid->ny();
propGrid->dx();
propGrid->dy();
propGrid->xCenter()-xtw;
propGrid->yCenter()-ytw;
distance;
rateX;
rateY;
xtw;
ytw;

GeneralAtmosphere2 models optical propagation through atmospheric turbulence. The atmosphere 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. 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, GeneralAtmosphere2 does not include PropagationControllers, at least one of which is required somewhere along each propagation path, so the user must put them in himself.

Tempus Block Diagram Editor Snapshot
Parameters
atmSpec  AcsAtmSpec   Atmosphere specification   
randomSeed  int   Seed for phasescreen generation   -1234567
gridPlatform  GridGeometry   Region of interest at 'platform' end of path   
gridTarget  GridGeometry   Region of interest at 'target' end of path   
dxy  float   Phase screen grid spacing (m)   
locFlag  int   Low order correction flag   0
removeTilt  bool   Flag to remove tilt from phase screens   false
diam  float   Beam diameter for tilt removal fit (m)   diam
Inputs
incomingIncident  WaveTrain   Light incident in 'incoming' direction   WaveTrain()
outgoingIncident  WaveTrain   Light incident in 'outgoing' direction   WaveTrain()
Outputs
incomingTransmitted  WaveTrain   Light transmitted in 'incoming' direction   
outgoingTransmitted  WaveTrain   Light transmitted in 'outgoing' direction   
phaseScreen  Array<float>   Phase screens as a nscreen by 11+nxy*nxy array   
Subsystems


Last Saved: Fri Feb 22 10:40:45 MST 2008 by TVE version 2007B