OOF2: The Manual
Name
PropertyOutputInit — Initialize Property Outputs
C++ Synopsis
#include "SRC/engine/IO/propertyoutput.h"
class PropertyOutputInit {virtual OutputVal* operator()(const PropertyOutput* po,
const FEMesh* mesh,
const Element* element,
const MasterCoord& coord) const = 0;
}
class ScalarPropertyOutputInit: , public PropertyOutputInit {
}
class ThreeVectorPropertyOutputInit: , public PropertyOutputInit {
}
class SymmMatrix3PropertyOutputInit: , public PropertyOutputInit {
}
Description
The subclasses of PropertyOutputInit
are used to initialize the computation of Property
Outputs. PropertyOutputInit
objects are passed to the PropertyOutputRegistration
constructor when a Property Output is defined. The classes
listed above are used automatically when the
PropertyOutputRegistration doesn't
explicitly specify an initializer — they all initialize
the data to zero. Non-trivial initialization can be obtained
by creating further subclasses and overriding
operator(). See
SRC/engine/cstrain.C for an example.
PropertyOutputInit classes should be
written in C++, and their constructors should be swigged.
The arguments to operator() are:
const PropertyOutput *po-
A
PropertyOutputobject describing the output that's being computed. It should be used just like it's used inProperty::output(). const FEMesh *mesh-
The
FEMeshon which the data is to be computed. const Element *element-
The
Elementcontaining the point at which the data is to be computed. const MasterCoord &pos-
The point at which the data is to be computed, given in the
Element's master space coordinates.
operator() must return a pointer to a
new OutputVal
object of the appropriate type. The pointer will be
deallocated elsewhere.



