What is Yorick?
Yorick is an interpreted programming language, designed for postprocessing/data analysis or for 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. 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. Yorick is written in ANSI C and runs on most operating systems (Linux, *nix, Windows, OsX). For a short overview, see the Linux Gazette and Unix review articles.
Yorick is similar in scope to languages like IDL or Matlab. It is Open Source Software, hosted at sourceforge.net, and distributed under a BSD licence -which means you can use it, modify it, redistribute it, all of it free of charge.
- A compact syntax, similar to C, but with array operators
- Easily Expandable (dynamic linking of C libraries)
- Efficient manipulation of arbitrary size/dimension arrays
- Extensive graphic capabilities
The help links in the menu at the top of this page lead to the complete online documentation for yorick, including a manual, a function index, a keyword list, a language Quick Reference, plus some examples and a cookbook.
The Download links lead 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. In the download link list, one will find download pages for external packages (plugins and packages contributed by yorick users, but not yet integrated into the yorick distribution)
Development Environment: This page leads to a description of the yorick development environment, which is David Munro's suggestion for how to prepare and execute yorick source code. Alternatively, you can download and use rlterm or, even better, rlwrap, which are utilities to run yorick with file name completion, command line recall, etc (both need the readline library).
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 and resources
Yorick is also available in many Linux distributions through the official repositories (Debian, Ubuntu, Archlinux) or custom repositories (Mandriva, Fedora, see instructions here). For OsX, fink used to have an up-to-date yorick. A better alternative might be to use the OsX dmg installer, which contains yorick-2.2 and many plugins.
Questions about Yorick? You may try the Yorick Forums or the mailing list. If you are out of luck there you may contact David Munro, the Yorick author. Questions or complains about this website go to the Site maintainer.