|
OOFEM 3.0
|
#include <field.h>
Public Member Functions | |
| Field (FieldType b=FieldType::FT_Unknown) | |
| virtual | ~Field () |
| virtual int | evaluateAt (FloatArray &answer, const FloatArray &coords, ValueModeType mode, TimeStep *tStep)=0 |
| virtual int | evaluateAt (FloatArray &answer, DofManager *dman, ValueModeType mode, TimeStep *tStep)=0 |
| virtual int | evaluateAt (FloatArray &answer, Element *elem, ValueModeType mode, TimeStep *tStep) |
| FieldType | giveType () |
| Returns the type of receiver. | |
| void | setType (FieldType b) |
| Sets the type of receiver. | |
| void | setSetsNumbers (const IntArray sets) |
| Defines a list of sets used to impose a field on specific elements. | |
| virtual bool | hasElementInSets (int nElem, Domain *d) |
| Searches if element number exist in IntArray regionSets for given domain. | |
| virtual void | saveContext (DataStream &stream)=0 |
| virtual void | restoreContext (DataStream &stream)=0 |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). | |
| virtual const char * | giveClassName () const =0 |
| virtual void | initializeFrom (InputRecord &ir) |
Protected Attributes | |
| FieldType | type |
| IntArray | regionSets |
Abstract class representing field. Field represent the spatial distribution of certain variable. Field is able to evaluate its value at any point of interest. The field is usually associated to specific domain.
|
inline |
Constructor. Creates a field of given type associated to given domain.
Definition at line 95 of file field.h.
References regionSets, and type.
Referenced by oofem::DofManValueField::DofManValueField(), oofem::DofManValueField::DofManValueField(), oofem::ExpressionField::ExpressionField(), oofem::InternalVariableField::InternalVariableField(), oofem::MaskedPrimaryField::MaskedPrimaryField(), oofem::PrimaryField::PrimaryField(), oofem::PythonField::PythonField(), oofem::SmoothedNodalInternalVariableField::SmoothedNodalInternalVariableField(), oofem::UniformGridField::UniformGridField(), oofem::UnstructuredGridField::UnstructuredGridField(), and oofem::VoxelVOFField::VoxelVOFField().
| std::string oofem::Field::errorInfo | ( | const char * | func | ) | const |
Returns string for prepending output (used by error reporting macros).
Definition at line 66 of file field.C.
References giveClassName().
Referenced by restoreContext().
|
pure virtual |
Evaluates the field at given point.
| coords | Coordinates of the point of interest |
| answer | Field evaluated at coordinate. |
| tStep | Time step to evaluate for. |
| mode | Mode of value (total, velocity,...). |
Implemented in oofem::DofManValueField, oofem::ExpressionField, oofem::InternalVariableField, oofem::MaskedPrimaryField, oofem::PrimaryField, oofem::PythonField, oofem::SmoothedNodalInternalVariableField, oofem::UniformGridField, oofem::UnstructuredGridField, and oofem::VoxelVOFField.
|
pure virtual |
Evaluates the field at given DofManager. This potentially can be resolved quickly, as receiver data may be described using values at dofManagers. Here an additional issue exists: one needs to make sure, that passed dman is from the same domain, so that its number can be used to perform suggested quick evaluation.
If this is not the case (the field is described differently), the response can be evaluated using dofman coordinates in a standard way.
| [out] | answer | Evaluated field for dman. |
| dman | Reference to dofManager. | |
| mode | Mode of value (total, velocity,...). | |
| tStep | Time step to evaluate for. |
Implemented in oofem::DofManValueField, oofem::ExpressionField, oofem::InternalVariableField, oofem::MaskedPrimaryField, oofem::PrimaryField, oofem::PythonField, oofem::SmoothedNodalInternalVariableField, oofem::UniformGridField, oofem::UnstructuredGridField, and oofem::VoxelVOFField.
|
inlinevirtual |
Reimplemented in oofem::VoxelVOFField.
|
pure virtual |
Implemented in oofem::DofManValueField, oofem::ExpressionField, oofem::InternalVariableField, oofem::MaskedPrimaryField, oofem::PrimaryField, oofem::PythonField, oofem::SmoothedNodalInternalVariableField, oofem::UniformGridField, oofem::UnstructuredGridField, and oofem::VoxelVOFField.
Referenced by errorInfo().
|
inline |
|
virtual |
Searches if element number exist in IntArray regionSets for given domain.
Definition at line 49 of file field.C.
References oofem::Domain::giveSet(), oofem::Set::hasElement(), and regionSets.
|
inlinevirtual |
Reimplemented in oofem::ExpressionField, and oofem::VoxelVOFField.
|
pure virtual |
Restores the receiver state previously written in stream.
| stream | Input stream. |
| Throws | an ContextIOERR exception if error encountered. |
Implemented in oofem::DofManValueField, oofem::ExpressionField, oofem::InternalVariableField, oofem::MaskedPrimaryField, oofem::PrimaryField, oofem::PythonField, oofem::SmoothedNodalInternalVariableField, oofem::UniformGridField, oofem::UnstructuredGridField, and oofem::VoxelVOFField.
References errorInfo().
|
pure virtual |
Stores receiver state to output stream.
| stream | Output stream. |
| Throws | an ContextIOERR exception if error encountered. |
Implemented in oofem::DofManValueField, oofem::ExpressionField, oofem::InternalVariableField, oofem::MaskedPrimaryField, oofem::PrimaryField, oofem::PythonField, oofem::SmoothedNodalInternalVariableField, oofem::UniformGridField, oofem::UnstructuredGridField, and oofem::VoxelVOFField.
| void oofem::Field::setSetsNumbers | ( | const IntArray | sets | ) |
Defines a list of sets used to impose a field on specific elements.
Definition at line 42 of file field.C.
References regionSets.
|
inline |
|
protected |
Definition at line 89 of file field.h.
Referenced by Field(), hasElementInSets(), and setSetsNumbers().
|
protected |
Definition at line 88 of file field.h.
Referenced by oofem::UnstructuredGridField::addCell(), Field(), giveType(), oofem::ExpressionField::initializeFrom(), and setType().