tempus System Class WindAtmoPath

Atmosphere and wind. Parameters simplify the specification of the various atmsopheric parameters an the expense of generality. The propagation geometry is assumed to be the same on both incoming and outgoing paths. No filters are used. Wind is constant throughout the atmsophere.

Tempus Block Diagram Editor Snapshot

Interface
Parameters
AtmSpec  AcsAtmSpec   Specification of atmosphere   AcsAtmSpec()
AtmSeed  int   Random seed for phase screens   -9876543212
propnxy  int   Number of grid points on the propagation grid   256
propdxy  float   Propagation grid spacing (m)   0.01
vplat  Vector<float>   Platform velocity (x,y in m/s)   ZeroVecF(2)
vtarg  Vector<float>   Target velocity (x,y in m/s)   ZeroVecF(2)
vwind  Vector<float>   Wind velocity assumed uniform throughout (x,y, m/s)   ZeroVecF(2)
tmax  float   Maximum length of time used to size phase screens (s)   0.01
Dap  float   Diameter of telescope aperture (m)   0.4
Inputs
outgoingincident  WaveTrain   Outgoing incident light   WaveTrain()
incomingincident  WaveTrain   Incoming incident light   WaveTrain()
Outputs
outgoingtransmitted  WaveTrain   Outgoing transmitted light WaveTrain()  
incomingtransmitted  WaveTrain   Incoming transmitted light WaveTrain()  
Implementation
Subsystems
  TransverseVelocity    transversevelocity 
nametypevalue
vx  float   vwind(0)
vy  float   vwind(1)
x0  float   0.0
y0  float   0.0

  TransverseVelocity    transversevelocity2 
nametypevalue
vx  float   -vwind(0)
vy  float   -vwind(1)
x0  float   0.0
y0  float   0.0

  AtmoPath    atmosphericpath 
nametypevalue
atmSpec  AcsAtmSpec   AtmSpec
atmoSeed  int   AtmSeed
propnxy  int   propnxy
propdxy  float   propdxy
superApDiameter  float   3*Dap
edgeSigma  float   0.05
xp1  float   -propnxy*propdxy / 2.0
xp2  float   propnxy*propdxy / 2.0 + abs(vplat(0)+vwind(0))*tmax
yp1  float   -propnxy*propdxy / 2.0
yp2  float   propnxy*propdxy / 2.0 + abs(vplat(1)+vwind(1))*tmax
xt1  float   -propnxy*propdxy / 2.0
xt2  float   propnxy*propdxy / 2.0 + abs(vtarg(0)+vwind(0))*tmax
yt1  float   -propnxy*propdxy / 2.0
yt2  float   propnxy*propdxy / 2.0 +abs(vtarg(1)+vwind(1))*tmax
screenDxy  float   propdxy
xReferenceFocus  float   0.0
yReferenceFocus  float   0.0
locFlag  int   0

Connections
transversevelocity2.incomingIncident  <<=  incomingincident
transversevelocity.outgoingIncident  <<=  outgoingincident
outgoingtransmitted  <<=  transversevelocity2.outgoingTransmitted
incomingtransmitted  <<=  transversevelocity.incomingTransmitted
transversevelocity2.outgoingIncident  <<=  atmosphericpath.outgoingTransmitted
transversevelocity.incomingIncident  <<=  atmosphericpath.incomingTransmitted
atmosphericpath.outgoingIncident  <<=  transversevelocity.outgoingTransmitted
atmosphericpath.incomingIncident  <<=  transversevelocity2.incomingTransmitted