OOF2: The Manual
Name
CompoundField —
A Field with both in- and
out-of-plane parts.
Synopses
Only those methods useful for extending OOF2 are listed
here. Base class functions are described in the Field
documentation.
C++ Synopsis
#include "engine/field.h"class CompoundField: , public Field {Field* out_of_plane() const;bool in_plane(const FEMesh* mesh) const;bool in_plane(const CSubProblem* mesh) const;
}
Python Synopsis
from oof2.SWIG.engine.field import CompoundFieldclass CompoundField(Field):def out_of_plane(self)def in_plane(self, mesh)
Description
Most Fields that the user encounters in OOF2 are instances
of CompoundField subclasses. A
CompoundField is a
Field that has been augmented with its
out-of-plane parts, which form a Field
(but not a CompoundField) themselves.
See Section 2.5.5 for the details.
When a CompoundField is created, its
out-of-plane part is created automatically. The name of the
out-of-plane part is the same as the name of the
CompoundField, but with
_z appended.
The C++ class hierarchies for
CompoundField subclasses are actually
moderately complicated, and are simplified somewhat in the
documentation. An alert reader will notice that the
out-of-plane part of a ScalarField
can't be another ScalarField, because
ScalarField is derived from
CompoundField, but the out-of-plane
part isn't compounded. However, for purposes of writing
OOF2 extensions, such complications are just distracting.
Readers who are interested in the details can consult
SRC/engine/field.h.
Methods
Field *out_of_plane() const
out_of_plane returns the Field
that contains the out-of-plane part of a
CompoundField.
bool in_plane(...) const
in_plane indicates whether or not
the CompoundField is constrained to
be in-plane.
In C++, the argument can be a pointer to either an FEMesh
or a CSubProblem.
In Python, the argument must be an FEMesh.
![]() |
Note |
|---|---|
|
The out-of-plane |


![[Note]](IMAGES/note.png)

