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

PropagationController is a special purpose system class used for setting various propagation modeling options. These options include the mesh parameters, the type of reference wavefront (planar or spherical), spatial filtering and absorbing boundaries, and the types of models to use for point sources and speckle imaging.
The AtmoPath library system contains PropagationControllers, so it is frequently unnecessary to explicitly insert Propagation Controllers into a WaveTrain system. See the WT User Guide for further discussion of the conditions that warrant explicit use f the PropagationController.
A PropagationController can be connected anywhere along the path between an optical source and an optical sensor, and it is required that there be one somewhere on the path, if there is an optical propagation on it. If there are two or more PropagationControllers along the same source-sensor path, the one nearest the source overrides the others. Thus placing a PropagationController on a common path for two or more sources means that it will control the propagation options for all the sensors, unless another PropagationController, typically placed on some non-common part of the path, is used to override it.
The atmospheric dispersion option ("useDispersion" ="true") in PropagationController can still be used, but a separate DispersionController is now available that has greater functionality. (Dispersion allows the treatment of the slightly different paths taken through phase screens by different wavelengths.) The bending of ray paths is calculated relative to a straight path taken by light with the "nominalWavelength".

Tempus Block Diagram Editor Snapshot
Parameters
targetGrid  GridGeometry   Geometry of propagation grid at sensor aperture   grid_with_origin_on_mesh(nxy,dxy)
xReferenceFocus  float   Focus to put in the reference wave (0 or 1e20 unless using SWP)   0.0
yReferenceFocus  float   Focus to put in the reference wave (0 or 1e20 unless using SWP)   0.0
oneTimeSpatialFilter  constFilter&   See filter documentation; used to remove high spatial frequency content from initial wavefront   NullFilter()
spatialFilter  constFilter&   See filter documentation; used to remove high spatial frequency content at each propagation step   NullFilter()
absorbingBoundary  constFilter&   See filter documentation; used to remove energy near the edge of the propagation mesh   NullFilter()
pointSourceModel  PointSourceModel   See point source/speckle documentation; sets which point source model is used   DEFAULT_PSM
speckleModel  SpeckleModel   See point source/speckle documentation; sets which speckle model is used   DEFAULT_SM
superApDiameter  float   Defines a circular region at the aperture plane which in vacuum would be uniformly illuminated; used in modeling point sources and surface speckle   1.5 * Dap
edgeSigma  float   Defines a gaussian round off at the edge of the superaperture; used in modeling point sources and surface speckle   5.0 * dxy
useDispersion  bool   Flag, model atmospheric dispersion; don't set here - use DispersionController instead   false
nominalWavelength  float   Nominal wavelength (m) for dispersion calculations; don't set here - use DispersionController instead   0.0
Inputs
incident  WaveTrain   Describes all light incident   WaveTrain()
Outputs
transmitted  WaveTrain   Describes all light transmitted   
Subsystems


Last Saved: Fri Feb 01 13:52:57 MST 2008 by TVE version 2007B