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 |