OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Abstract class representing a field of an internal variable. More...
#include <intvarfield.h>
Public Member Functions | |
InternalVariableField (InternalStateType ist, FieldType b, MaterialMappingAlgorithmType mma_type, Domain *d) | |
Constructor. More... | |
virtual | ~InternalVariableField () |
virtual int | evaluateAt (FloatArray &answer, const FloatArray &coords, ValueModeType mode, TimeStep *tStep) |
Evaluates the field at given point. More... | |
virtual int | evaluateAt (FloatArray &answer, DofManager *dman, ValueModeType mode, TimeStep *tStep) |
Evaluates the field at given DofManager. More... | |
virtual contextIOResultType | saveContext (DataStream &stream, ContextMode mode) |
Stores receiver state to output stream. More... | |
virtual contextIOResultType | restoreContext (DataStream &stream, ContextMode mode) |
Restores the receiver state previously written in stream. More... | |
virtual const char * | giveClassName () const |
Public Member Functions inherited from oofem::Field | |
Field (FieldType b) | |
Constructor. More... | |
virtual | ~Field () |
FieldType | giveType () |
Returns the type of receiver. More... | |
std::string | errorInfo (const char *func) const |
Returns string for prepending output (used by error reporting macros). More... | |
Protected Attributes | |
MaterialMappingAlgorithm * | mma |
Material mapping algorithm used. More... | |
InternalStateType | type |
InternalStateType. More... | |
Domain * | domain |
Source domain. More... | |
Protected Attributes inherited from oofem::Field | |
FieldType | type |
Abstract class representing a field of an internal variable.
Field represent the spatial distribution of certain variable and is able to evaluate its value at any point of interest. The field is usually associated to the specific domain.
It uses MaterialMappingAlgorithm interface to perform interpolation. Note, that some classes implementing MaterialMappingAlgorithm may require that elements implement corresponding interface.
Definition at line 56 of file intvarfield.h.
oofem::InternalVariableField::InternalVariableField | ( | InternalStateType | ist, |
FieldType | b, | ||
MaterialMappingAlgorithmType | mma_type, | ||
Domain * | d | ||
) |
Constructor.
Creates a internal variable field of given type associated to given domain.
ist | Physical meaning of field. |
b | Field type. |
mma_type | Algorithm used to map materials. |
d | Domain which field belongs to. |
Definition at line 41 of file intvarfield.C.
References oofem::classFactory, oofem::ClassFactory::createMaterialMappingAlgorithm(), domain, mma, and type.
|
virtual |
Definition at line 49 of file intvarfield.C.
References mma.
|
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,...). |
Use MaterialMappingAlgorithm classes to do the job
Implements oofem::Field.
Definition at line 57 of file intvarfield.C.
References oofem::MaterialMappingAlgorithm::__init(), oofem::MaterialMappingAlgorithm::__mapVariable(), oofem::Set::addAllElements(), oofem::IntArray::at(), domain, mma, and type.
Referenced by evaluateAt().
|
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. |
Implements oofem::Field.
Definition at line 71 of file intvarfield.C.
References evaluateAt(), oofem::DofManager::giveCoordinates(), and oofem::DofManager::hasCoordinates().
|
inlinevirtual |
Implements oofem::Field.
Definition at line 82 of file intvarfield.h.
|
virtual |
Restores the receiver state previously written in stream.
Reads the FEMComponent class-id in order to allow test consistency.
stream | Input stream. |
mode | Determines amount of info in stream (state, definition,...). |
Throws | an ContextIOERR exception if error encountered. |
Implements oofem::Field.
Definition at line 87 of file intvarfield.C.
References oofem::CIO_OK.
|
virtual |
Stores receiver state to output stream.
Writes the FEMComponent class-id in order to allow test whether correct data are then restored.
stream | Output stream. |
mode | Determines amount of info in stream (state, definition,...). |
Throws | an ContextIOERR exception if error encountered. |
Implements oofem::Field.
Definition at line 81 of file intvarfield.C.
References oofem::CIO_OK.
|
protected |
Source domain.
Definition at line 64 of file intvarfield.h.
Referenced by evaluateAt(), and InternalVariableField().
|
protected |
Material mapping algorithm used.
Definition at line 60 of file intvarfield.h.
Referenced by evaluateAt(), InternalVariableField(), and ~InternalVariableField().
|
protected |
InternalStateType.
Definition at line 62 of file intvarfield.h.
Referenced by evaluateAt(), and InternalVariableField().