next up previous [pdf]

Next: Functions Up: Structures and Interfaces Previous: Fields

Field allocation

IWAVE stores all fields as rarrays (or RARRs). RARR is an intelligent array type that defines gridpoints by reference to global coordinates in $ {\bf
Z}^d$ for $ d$ -dimensional simulations, provides both one- and multi-dimensional access to array data, and includes many utiliities for data manipulation. The time step function implementing the dynamic field updates will be written in terms of RARR utilities and data members. The RARRs corresponding to the application's fields together form an rdomain (RDOM), which is simply an array of RARR, indexed in the order that they appear in the iwave_fields array.

Derivatives (and adjoint derivatives) of the simulation map involve multiple copies of the basic application fields: the first derivative needs two copies, a set of reference fields and a corresponding set of perturbation fields. Since the $ k$ th derivative is the derivative of the $ k-1$ st derivative, the $ k$ th derivative requires $ 2^k$ sets of fields in its definition. The IWaveTree data structure of order $ k$ is a vector of $ 2^k$ RDOMs suitable for defining the $ k$ th derivative; the first $ 2^{k-1}$ RDOMs comprise the reference IWaveTree, the second form the perturbation.


next up previous [pdf]

Next: Functions Up: Structures and Interfaces Previous: Fields

2015-04-20