OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Abstract base class representing (moving) material interfaces. More...
#include <materialinterface.h>
Public Member Functions | |
MaterialInterface (int n, Domain *d) | |
Constructor. More... | |
virtual const char * | giveInputRecordName () const |
virtual void | initialize () |
Initializes receiver. More... | |
virtual void | updatePosition (TimeStep *tStep)=0 |
Updates the position of interface according to state reached in given solution step. More... | |
virtual void | updateYourself (TimeStep *tStep)=0 |
Updates element state after equilibrium in time step has been reached. More... | |
virtual double | computeCriticalTimeStep (TimeStep *tStep)=0 |
Computes critical time step induced by receiver integration algorithm. More... | |
virtual void | giveMaterialMixtureAt (FloatArray &answer, FloatArray &position)=0 |
Returns relative material contents at given point. More... | |
virtual void | giveElementMaterialMixture (FloatArray &answer, int ielem)=0 |
Returns volumetric (or other based measure) of relative material contents in given element. More... | |
virtual double | giveNodalScalarRepresentation (int)=0 |
Returns scalar value representation of material Interface at given point. More... | |
Public Member Functions inherited from oofem::FEMComponent | |
FEMComponent (int n, Domain *d) | |
Regular constructor, creates component with given number and belonging to given domain. More... | |
virtual | ~FEMComponent () |
Virtual destructor. More... | |
virtual const char * | giveClassName () const =0 |
Domain * | giveDomain () const |
virtual void | setDomain (Domain *d) |
Sets associated Domain. More... | |
int | giveNumber () const |
void | setNumber (int num) |
Sets number of receiver. More... | |
virtual void | updateLocalNumbering (EntityRenumberingFunctor &f) |
Local renumbering support. More... | |
virtual IRResultType | initializeFrom (InputRecord *ir) |
Initializes receiver according to object description stored in input record. More... | |
virtual void | giveInputRecord (DynamicInputRecord &input) |
Setups the input record string of receiver. More... | |
virtual contextIOResultType | saveContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
Stores receiver state to output stream. More... | |
virtual contextIOResultType | restoreContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
Restores the receiver state previously written in stream. More... | |
virtual int | checkConsistency () |
Allows programmer to test some internal data, before computation begins. More... | |
virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
Prints output of receiver to stream, for given time step. More... | |
virtual void | printYourself () |
Prints receiver state on stdout. Useful for debugging. More... | |
virtual Interface * | giveInterface (InterfaceType t) |
Interface requesting service. More... | |
std::string | errorInfo (const char *func) const |
Returns string for prepending output (used by error reporting macros). More... | |
Additional Inherited Members | |
Protected Attributes inherited from oofem::FEMComponent | |
int | number |
Component number. More... | |
Domain * | domain |
Link to domain object, useful for communicating with other FEM components. More... | |
Abstract base class representing (moving) material interfaces.
Its typical use to model moving interface (such as free surface) in a fixed-grid methods (as typically used in CFD). The basic tasks are representation of interface and its updating.
Definition at line 47 of file materialinterface.h.
|
inline |
Constructor.
Takes two two arguments. Creates MaterialInterface instance with given number and belonging to given domain.
n | Component number in particular domain. For instance, can represent node number in particular domain. |
d | Domain to which component belongs to. |
Definition at line 57 of file materialinterface.h.
|
pure virtual |
Computes critical time step induced by receiver integration algorithm.
Implemented in oofem::LEPlic, and oofem::LevelSetPCS.
|
pure virtual |
Returns volumetric (or other based measure) of relative material contents in given element.
Implemented in oofem::LEPlic, and oofem::LevelSetPCS.
Referenced by oofem::Quad10_2D_SUPG::giveIPValue(), oofem::TR1_2D_SUPG::giveIPValue(), and oofem::TwoFluidMaterial::giveTempVOF().
|
inlinevirtual |
Implements oofem::FEMComponent.
Definition at line 59 of file materialinterface.h.
|
pure virtual |
Returns relative material contents at given point.
Usually only one material is presented in given point, but some smoothing may be applied close to material interface to make transition smooth
Implemented in oofem::LEPlic, and oofem::LevelSetPCS.
|
pure virtual |
Returns scalar value representation of material Interface at given point.
For visualization
Implemented in oofem::LEPlic, and oofem::LevelSetPCS.
Referenced by oofem::VTKExportModule::exportIntVarAs(), and oofem::VTKXMLExportModule::getNodalVariableFromIS().
|
inlinevirtual |
Initializes receiver.
Reimplemented in oofem::LevelSetPCS.
Definition at line 64 of file materialinterface.h.
|
pure virtual |
Updates the position of interface according to state reached in given solution step.
Implemented in oofem::LEPlic, and oofem::LevelSetPCS.
|
pure virtual |
Updates element state after equilibrium in time step has been reached.
All temporary history variables, which now describe equilibrium state should be copied into equilibrium ones. The existing internal state is used for update.
Implemented in oofem::LEPlic, and oofem::LevelSetPCS.