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)