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)