RNPL: RNPL is a special purpose, high-level computer language designed
to facilitate the rapid development of finite-difference (FD) codes for the
solution of time dependent systems of partial differential equations. A chief
design goal of the language was to free the user from the need to worry
about the many "book keeping" details (such as memory management, parameter
definition, input and output facilities etc.) that typically constitute a large
fraction of a "written-from-scratch" FD code. RNPL also allows the user to
specify the discrete equations of motion that define the FD system to be solved
in a natural, operator-based fashion.
The RNPL compiler translates RNPL source into several Fortran (or C) files,
which are then further compiled and linked to produce an executable. In some
circumstances, it is awkward, or simply not possible, to achieve a desired
functionality using pure RNPL---for such cases, a mechanism is provided that
allows essentially arbitrary user written Fortran (or C) code to be "imported"
into the RNPL-generated program.
You will use RNPL in each of the three lab projects described below, and
in preparation for this, it is recommended that you peruse the following
RNPL documentation before the summer school starts.
- Chapters 8 and 9 [PDF] of
Robert Marsa's PhD dissertation [PDF]
- RNPL Reference Manual: [HTML]
- RNPL User's Guide: [HTML]
- "New" Features of RNPL [HTML] (Use as supplement to
User's Guide and Reference Manual)