NAME
yao - Adaptive Optics simulation tool in yorick
SYNOPSIS
Start yao with the gtk GUI:
yao parfile.par
yorick -i yaopy.i parfile.par
Within yorick (no GUI, but same graphical output)
#include yao.i
aoread,"parfile.par"; aoinit; aoloop; go;
DESCRIPTION
Yao is a monte-carlo simulation package for adaptive optics. It
includes fast core coded in C (e.g. wavefront sensing) that are glued
together by yorick interpreted code. One defines the system to evaluate
using a configuration file, and then run aoread, aoinit and aoloop. Yao
features:
* Shack-Hartmann and Curvature WFS, on or off axis.
* Stackarray (piezostack), curvature (bimorph), modal (zernike) and
Tip-Tilt deformable mirrors are supported. The altitude of
conjugation is adjustable.
* An arbitrary number of WFSs and DMs can be selected, with the
possibility of mixing types. It is therefore possible (and easy) to
simulate single DM systems, as well as single non-zero conjugate,
GLAO and MCAO systems.
* It supports Natural and Laser Guide Stars (or a mix), WFS with
photon and read-out noise.
* It uses a multi-layered atmospheric model, with geometrical
propagation only.
* The loop execution has been optimized for speed: the critical
routines have been coded in C. Yorick is thus used as a convenient
glue between lower levels optimized C calls. Overall, this is rather
efficient: A simple 6x6 Shack-Hartmann system runs at up to 650
iterations per second on an apple dual 2GHz G5 (200 iterations/sec
for a full diffraction propagation model). A 50x50 Shack-Hartmann
system runs at about 3 iterations/s. A 188 curvature system runs at
25 iterations/s.
* Straightforward scriptability to probe parameter domains.
* GTK GUI to change some of the system parameters while the loop is
running (new in v4.0). This provides an educational approach to
Adaptive Optics (newbies can play with the parameters and
immediately sees how the system reacts) and can also provides a
quick way to investigate the stability conditions for a newly
designed system, before entering more serious Monte-carlo
simulations.
Options
help,aoread will give you information about the syntax, parameters
and keywords of aoread. See help,aoinit and help,aoloop
also.
AUTHOR
Francois Rigaut, Gemini Observatory
FILES
Input files:
parfile.par A yao parameter file. This file follows a regular yorick
syntax. It is directly included by yorick to define the
structures used by yao. As it might be a little bit
daunting to create a parfile from scratch, example
parfiles are provided. Their location depends on the
installation. Search for yao/examples (e.g. shx6x.par,
curvature.par)
screen*.fits To simulate the atmospheric turbulence, yao needs phase
screens. You can create phase screens with
create_phase_screens(). They might also be included in
your distribution.
Output files:
parfile.res After a simulation run, results are output in
parfile.res in the cwd
BUGS
Lots.
LGS uplink propagation is not implemented
Shack-Hartmann cross talk between subapertures is not implemented
Many more.
SEE ALSO
yorick(1)