YAO(1)
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 possi
- bility 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 pho
- ton and read-out noise.
- * It uses a multi-layered atmospheric model, with geometrical propaga
- tion only.
- * The loop execution has been optimized for speed: the critical rou
- tines 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.