What is Yorick?
Yorick is an interpreted programming language, designed for
postprocessing or steering large scientific simulation codes. Smaller
scientific simulations or calculations, such as the flow past an airfoil or the motion of a drumhead, can be written as
standalone yorick programs. The language features a compact syntax
for many common array operations, so it processes large arrays of
numbers very efficiently. Unlike most interpreters, which are several
hundred times slower than compiled code for number crunching, yorick
can approach to within a factor of four or five of compiled speed for
many common tasks. Superficially, yorick code resembles C code, but
yorick variables are never explicitly declared and have a dynamic
scoping similar to many Lisp dialects. The yorick language is
designed to be typed interactively at a keyboard, as well as stored in
files for later use. Yorick includes an interactive graphics package,
and a binary file package capable of translating to and from the raw
numeric formats of all modern computers.
What's Available?
The navigation bar to the left leads to the complete online documentation
for yorick, which consists of:
- Manual the yorick user manual, which is a tutorial and
brief introduction to yorick
- Packages exhaustive documentation of the interpreted
library that comes with the yorick distribution, including HTML-ized
source code for easy study
- Global Index to all functions in Packages
- Keywords an alternative type of index into Packages
- Quick Reference cards for the yorick language
The Downloads button leads to the complete source and binary
distributions for yorick on UNIX, MS Windows, and MacIntosh computers.
The complete online documentation tree can also be downloaded for
local reference.
The Development Environment button leads to a description of
the yorick development environment, which is my suggestion for how to
prepare and execute yorick source code.
The yorick FAQ mostly deals with advanced or arcane features of
yorick; it is not designed to be the first thing a new user reads.
The Contributed Packages directory contains, of course,
packages contributed by yorick users, but not yet integrated into the
yorick distribution.
Getting Started
If you aren't sure whether you can use yorick at all, read about the
flow past an airfoil or the motion of a drumhead examples. These are
standalone yorick programs; yorick is also very useful as a
postprocessor for much larger simulation codes. Finally, yorick can
be used in combination with presentation or desktop publishing
software to produce the figures accompanying a scientific talk or
paper. If you know what to do with a PostScript graphic, you can
begin using yorick immediately.
The first thing to read is the first
chapter of the user manual. If you are still interested in
yorick, download it so you can reread the manual while typing in the
examples to see how yorick works first hand. You will want to read
about the yorick development environment
as well. To follow along online, you should probably download all
this documentation as well, which you can do from the downloads page.
To complete your introduction to yorick, run and study the demo
programs:
- demo1.i
- 1D hydrodynamics code, simulates sound and shock waves
- demo2.i
- 2D wave equation solver, simulates motion of a drumhead
- demo3.i
- chaotic pendulum simulation, inspired by SF Exploratorium
- demo4.i
- 2D flow past and airfoil using analytic functions
- demo5.i
- demonstration of how to use 2D graphics for 3D effects
Web Sites
The yorick home site is
ftp://ftp-icf.llnl.gov/pub/Yorick.
This site is mirrored at
http://wuarchive.wustl.edu/languages/yorick.
Yorick is also available as a Debian Linux package from
http://www.debian.org.
LLNL Disclaimers
|