[Irr,x,y,t,Ipk,Irel,Shft,Sig,WO,Field] = ...
[Irr,x,y,t,Ipk,Irel,Shft,Sig,WO,Field] = ...
[Irr,x,y,t,Ipk,Irel,Shft,Sig,WO,Field] = ...
TB = TBWaveCalc(...)

Thermal blooming and turbulence combined effects wave-optics propagation. Models propagation of a laser source with arbitrary wavelength, power, focus distance, size/type to be propagated given an atmospheric specification structure (Atm) and the engagement geometry velocity decomposition. Must have Atm.Abs, Atm.Scat, and Atm.Temp in order to model thermal blooming. If Atm.Cn2 is specified, wave-optics propagation will also include turbulence phase screens as specified by Atm.z. Input Atm struct may also include models for inner and outer scale given the Cn2 model employed. Returns mensurated target irradiance (${W}/{m}^2$), relative peak irradiance, peak shift, beam spread and wave-optics configuration information. Wave-optics modeling may be controlled through a propagation control structure,'PC' , otherwise default propagation parameters are assumed (see comments below). If TBWaveCalc is called with a single output and no inputs, the default propagation control structure is returned, i.e PC = TBWaveCalc. The fields PC.dt and PC.propDxy if left empty will be computed using the default method. Uses tempus (TM) mex-system propagation model and accompanying TMX toolbox (see HELP tmx.tbx). NOTE: The mex-system DLL's for propagation with thermal blooming are of limited distribution. Request access by contacting

Laser [struct] 
Structure from LaserField or a comma-separated list of (lambda,Pwr,Focus,D,Type,...) 
lambda [scalar] 
Wavelength of laser (m) 
Pwr [scalar] 
Total power of laser through link (W) 
Focus [scalar] 
Range at which laser beam is focused (m) 
D [scalar] 
Starting diameter of laser (m) 
Type [char/struct] 
Beam type, must be 'GAUSSIAN,' 'UNIFORM' or a structure containing a near-field pattern. If 'GAUSSIAN', $I(r)=I_0exp[-(r/sigma)^2]$, where $sigma=D/2sqrt{2}$. If 'UNIFORM', $I(r)$ is CONST over full aperture diameter D. Near-field structure must have fields .x, .y, and .g and should not include any focus phase. 
S [struct] 
Engagement parameters. Can be a structure from EngagementStruct or GeomStruct. If a structure from GeomStruct is passed in as S, the engagement structure will be computed. 
Atm [struct] 
Atmospheric modeling parameters. Must be a discrete model from AtmStruct. Propagation path length is set from Atm.L. Atm must have wind profile if calculation with wind is desired. 
PropConfigFile [char] 
Name of a data file saved by PropConfig. Uses wavelength, power, focus range, aperture diameter and geometry and atmosphere. 
PC [struct] 
(Optional) Propagation control parameters for wave-optics modeling. 
PC.propNxy [scalar] 
Propagation mesh dimension (defaults to 256x256) 
PC.propDxy [scalar] 
Propagation mesh resolution in x and y defaults to dxy to aperture function or focus term (m) 
PC.ApplyBlooming [scalar] 
Flag (1/0) indicating whether thermal blooming phase will be applied in propagation (defaults to 1) 
PC.RandIndex [scalar] 
Index for phase screen random seed (defaults to 0) 
PC.dt [scalar] 
Delta time between propagation steps in simulation. Defaults to value giving max step motion equal to 1/10 beam diameter (s) 
PC.TimeSteps [scalar/string] 
Number of dt time steps in simulation (defaults to 30). If identifier 'STEADY-STATE' is provided, simulation will run until peak irradiance convergence or 50 time steps, whichever comes first. 
PC.ConvergeThresh [scalar] 
Convergence threshhold for 'STEADY-STATE.' Defaults to 0.05. 
PC.ReportSteps [string] 
Identifier of which steps to report from simulation. 'ALL' - report metrics at each time step (default), 'AVG' - report metrics from average of time steps, 'LAST'
  • report metrics from the last time step.
PC.ReportBegin [scalar] 
Time step at which report begins (defaults to 1) 
PC.DisplaySteps [string] 
Identifier determining whether propagation time steps are displayed on screen (defaults to 'NO') 'YES' - display irradiance at each step, 'NO' - don't display irradiance at each step. 
PC.DLLName [string] 
Runset name for compiled DLL to use. Default uses CWSourceThermBloomRunScreens in ATMTools 
PC.tempusBin [string] 
Full path to tempus/bin directory. Default uses tempusSupport/bin as distributed with ATMTools. Specify as empty ('') to use tempus/bin from the system path. 
PC.callbackFcn [function_handle] 
Callback function that is checked at each iteration of the loop. If the value returned from the callback function is false, execution will stop. Uses progressbar by default. Set to @(v)(true) to suppress. 
> x 
((1:512)-257)*0.005; y = x; 
> Laser 
> [Irr,x,y,t,Irel,Shft,Sig,WO,Field] 
... TBWaveCalc(Laser,GeomStruct,AtmStruct);
  • Set up the laser field structure for a clipped Gaussian beam and simulate the propagation using the input geometry and atmosphere
> [Irr,x,y,t,Ipk,Irel,Shft,Sig,WO,Field] 
  • Gets wavelength, power, focus range and aperture diameter from the PropConfig data file and simulates a 'UNIFORM' laser with the geometry and atmosphere as setup in PropConfig
... TBWaveCalc(NF,PropConfigFile);
  • Uses wavelength, power, focus range and aperture diameter from the PropConfig data file to scale the input near-field pattern and simulates the propagation with the geometry and atmosphere as setup in PropConfig
Return Values
Return Values 
Irr [matrix] 
Irradiance after propagation (${W}/{m}^2$) 
x [vector] 
X locations of irradiance values (m) 
y [vector] 
Y locations of irradiance values (m) 
t [vector] 
Time at which peak irradiance values are reported (every time step) (s) 
Ipk [vector] 
Peak irradiance values at every time step (${W}/{m}^2$) 
Irel [vector] 
Peak irradiance relative to vacuum--includes atmospheric attenuation--Strehl=Irel/Transmission(Atm) 
Shft [vector] 
Shift of peak irradiance from optical axis [X,Y] (m) 
Sig [vector] 
Sigma value for Gaussian fit to target irradiance [X,Y] (m). Irradiance is fit to a Gaussian form: $exp[-0.5((X/sigma_X)^2+(Y/sigma_Y)^2)]$ 
WO [struct] 
Configuration and inputs used for wave-optics modeling 
WO.PC [struct] 
Input propagation control structure 
WO.dllName [string] 
Name of DLL used to perform wave-optics calculations 
Parameter list used by DLL wave-optics model 
WO.Laser [struct] 
Structure used to simulate laser 
WO.Time [scalar] 
Runtime for wave-optics model (s) 
Field [matrix] 
Complex field value after propagation, i.e., Irr=Field.*conj(Field) 
TB [struct] 
A structure whose fields contain the above data. If only a single output is requested, the output will be a structure. 

>> [Irr,x,y,t,Irel,Shft,Sig,WO,Field] = TBWaveCalc(1.064e-6,... 


  • Simulate propagation for a uniform beam with default propagation  

See Also
Made with Doc-O-Matic.
Copyright (c) 2009. All rights reserved.
What do you think about this topic? Send feedback!