OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::MaterialInterface Class Referenceabstract

Abstract base class representing (moving) material interfaces. More...

#include <materialinterface.h>

+ Inheritance diagram for oofem::MaterialInterface:
+ Collaboration diagram for oofem::MaterialInterface:

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
 
DomaingiveDomain () 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 InterfacegiveInterface (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...
 
Domaindomain
 Link to domain object, useful for communicating with other FEM components. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

oofem::MaterialInterface::MaterialInterface ( int  n,
Domain d 
)
inline

Constructor.

Takes two two arguments. Creates MaterialInterface instance with given number and belonging to given domain.

Parameters
nComponent number in particular domain. For instance, can represent node number in particular domain.
dDomain to which component belongs to.

Definition at line 57 of file materialinterface.h.

Member Function Documentation

virtual double oofem::MaterialInterface::computeCriticalTimeStep ( TimeStep tStep)
pure virtual

Computes critical time step induced by receiver integration algorithm.

Implemented in oofem::LEPlic, and oofem::LevelSetPCS.

virtual void oofem::MaterialInterface::giveElementMaterialMixture ( FloatArray answer,
int  ielem 
)
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().

virtual const char* oofem::MaterialInterface::giveInputRecordName ( ) const
inlinevirtual
Returns
Input record name of the receiver.

Implements oofem::FEMComponent.

Definition at line 59 of file materialinterface.h.

virtual void oofem::MaterialInterface::giveMaterialMixtureAt ( FloatArray answer,
FloatArray position 
)
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.

virtual double oofem::MaterialInterface::giveNodalScalarRepresentation ( int  )
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().

virtual void oofem::MaterialInterface::initialize ( )
inlinevirtual

Initializes receiver.

Reimplemented in oofem::LevelSetPCS.

Definition at line 64 of file materialinterface.h.

virtual void oofem::MaterialInterface::updatePosition ( TimeStep tStep)
pure virtual

Updates the position of interface according to state reached in given solution step.

Implemented in oofem::LEPlic, and oofem::LevelSetPCS.

virtual void oofem::MaterialInterface::updateYourself ( TimeStep tStep)
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.


The documentation for this class was generated from the following file:

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:38 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011