OOF2: The Manual
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
Fieldwith both in- and out-of-plane parts. - ScalarField — A scalar-valued
Field - TwoVectorField —
A two dimensional vector-valued
Fieldobject - ThreeVectorField —
A three dimensional vector-valued
Fieldobject. - getField — Retrieve a
Fieldobject 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
Fluxobject by name
- Flux — Base class for
- 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
Equationobject 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
Componentsobjects - ComponentIteratorP —
Wrapper for
ComponentIteratorpointers - EmptyFieldIterator —
Iterate over a
Fieldwith no components - ScalarFieldIterator —
Iterate over a the components of
ScalarField. - VectorFieldIterator —
Iterate over the components of a
TwoVectorFieldorThreeVectorField - 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
Propertythat contributes to aFlux - EqnProperty — A
Propertythat contributes to anEquation - AuxiliaryProperty —
A Property that doesn't contribute directly to a
FluxorEquation - 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


