OOF2: The Manual

Part IV. OOF2 Extending Reference

This section contains the reference pages for the classes and functions that can be used when programming OOF2 extensions, and which are described in general in Part III. Both the C++ and Python interfaces are documented, when appropriate. In general, only functions that are relevant to building OOF2 extensions are listed, and base class functions are not listed again in the derived classes.

Both C++ and Python interfaces are listed at the top of each reference page. If the Description section mentions only the C++ syntax, assume that the Python syntax is derived in a straightforward way from the C++ syntax. In cases where there is a big difference between the C++ and Python interfaces for a class or function, it will be discussed explicitly.

Table of Contents

I. Tools for Building Extensions
swig_sources — CMake function for running swig and building Python extension modules.
oof2-extension-setup — Generate the infrastructure of the code for an OOF2 extension.
II. Points and Coordinates
Coord — Coordinate classes
MasterPosition and MasterCoord — Position in master coordinate space
Point — Python point class
III. Field Classes and Functions
Field — Base class for fields
CompoundField — A Field with both in- and out-of-plane parts.
ScalarField — A scalar-valued Field
TwoVectorField — A two dimensional vector-valued Field object
ThreeVectorField — A three dimensional vector-valued Field object.
getField — Retrieve a Field object by name
IV. Flux Classes and Functions
Flux — Base class for Fluxes
VectorFlux — A vector-valued Flux
SymmetricTensorFlux — A 3×3 symmetric tensor valued Flux
getFlux — Retrieve a Flux object by name
V. Equation Classes and Functions
Equation — Base class for Equations
DivergenceEquation — An Equation subclass for divergence equations
PlaneFluxEquation — An Equation subclass for enforcing plane-flux constraints
getEquation — Retrieve a Equation object by name
VI. Indices and Iterators
FieldIndex — Base class for index objects
IndexP — Generic wrapper for index objects
ScalarFieldIndex — Index object for a scalar Field
VectorFieldIndex — Index a vector field
OutOfPlaneVectorFieldIndex — Index the out-of-plane components of a vector
SymTensorIndex — Index a symmetric 3×3 tensor
OutOfPlaneSymTensorIndex — Index the out-of-plane components of a 3×3 symmetric tensor
Components — Iterable object containing a set of FieldIndexes
ComponentIterator — Base class for iterators that loop over Components objects
ComponentIteratorP — Wrapper for ComponentIterator pointers
EmptyFieldIterator — Iterate over a Field with no components
ScalarFieldIterator — Iterate over a the components of ScalarField.
VectorFieldIterator — Iterate over the components of a TwoVectorField or ThreeVectorField
OutOfPlaneVectorFieldIterator — Iterate over the out-of-plane components of a vector Field
SymTensorIterator — Iterate over the components of a symmetric 3×3 tensor
OutOfPlaneSymTensorIterator — Iterate over the out-of-plane components of a symmetric 3×3 tensor
Planarity — Specify the range of component iterators
VII. Property and Material Classes
PropertyRegistration — Register new Properties
Property — Base class for material properties
PhysicalProperty — Intermediate base class for FluxProperty and EqnProperty
FluxProperty — A Property that contributes to a Flux
EqnProperty — A Property that contributes to an Equation
AuxiliaryProperty — A Property that doesn't contribute directly to a Flux or Equation
Material — Collection of Properties
VIII. Mesh Classes and Functions
FEMesh — C++ FE mesh class
CSubProblem — C++ subproblem class
Element — Element class for finite element meshes
Node, FuncNode — Node classes for finite element meshes
ElementNodeIterator — Iterate over Nodes in an Element
ElementShapeFuncIterator — Base class for other Node iterators
ElementMapNodeIterator — Iterate over mapping nodes in an Element
ElementFuncNodeIterator — Iterate over function nodes in an Element
ElementCornerNodeIterator — Iterate over the corner Nodes of an Element
DegreeOfFreedom — Degree of freedom at a Node
conjugatePair — Establish conjugacy relations
SmallSystem — A small part of the linear system constructed by Properties
CSubProblem — C++ representation of subproblem
IX. Output Classes and Functions
Output — Compute output data on a Mesh
PropertyOutput — Compute Property-dependent data on a Mesh
PropertyOutputRegistration — Define a new Property-dependent output quantity
PropertyOutputInit — Initialize Property Outputs
definePositionOutput, defineScalarOutput, defineAggregateOutput — Install Outputs in the GUI
OutputVal — Wrappers for Output data
OutputValue — Wrapper for OutputVal classes
X. Miscellaneous Classes and Functions
Parameter — Parameter classes for OOF2 menu commands, Properties, Outputs, and RegisteredClasses.
acquirePyLock — ensure thread-safe Python API calls
ErrError — Classes and functions for handling exceptions
loadFile — Load documentation from a file