OOFEM 3.0
Loading...
Searching...
No Matches
oofem::MaterialInterface Class Referenceabstract

#include <materialinterface.h>

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

Public Member Functions

 MaterialInterface (int n, Domain *d)
const char * giveInputRecordName () const override
virtual void initialize ()
virtual void updatePosition (TimeStep *tStep)=0
virtual void updateYourself (TimeStep *tStep)=0
virtual double computeCriticalTimeStep (TimeStep *tStep)=0
virtual void giveMaterialMixtureAt (FloatArray &answer, FloatArray &position)=0
virtual void giveElementMaterialMixture (FloatArray &answer, int ielem)=0
virtual double giveNodalScalarRepresentation (int)=0
Public Member Functions inherited from oofem::FEMComponent
 FEMComponent (int n, Domain *d)
virtual ~FEMComponent ()=default
 Virtual destructor.
virtual const char * giveClassName () const =0
DomaingiveDomain () const
virtual void setDomain (Domain *d)
int giveNumber () const
void setNumber (int num)
virtual void updateLocalNumbering (EntityRenumberingFunctor &f)
virtual void initializeFrom (InputRecord &ir)
virtual void initializeFrom (InputRecord &ir, int priority)
virtual void initializeFinish ()
virtual void postInitialize ()
 Performs post initialization steps. Called after all components are created and initialized.
virtual void giveInputRecord (DynamicInputRecord &input)
virtual void saveContext (DataStream &stream, ContextMode mode)
virtual void restoreContext (DataStream &stream, ContextMode mode)
virtual int checkConsistency ()
virtual void printOutputAt (FILE *file, TimeStep *tStep)
virtual void printYourself ()
 Prints receiver state on stdout. Useful for debugging.
virtual InterfacegiveInterface (InterfaceType t)
std::string errorInfo (const char *func) const
 Returns string for prepending output (used by error reporting macros).

Additional Inherited Members

Protected Attributes inherited from oofem::FEMComponent
int number
 Component number.
Domaindomain
 Link to domain object, useful for communicating with other FEM components.

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

◆ MaterialInterface()

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.

References oofem::FEMComponent::FEMComponent().

Referenced by oofem::LEPlic::LEPlic(), and oofem::LevelSetPCS::LevelSetPCS().

Member Function Documentation

◆ computeCriticalTimeStep()

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.

◆ giveElementMaterialMixture()

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().

◆ giveInputRecordName()

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

Implements oofem::FEMComponent.

Definition at line 59 of file materialinterface.h.

◆ giveMaterialMixtureAt()

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.

◆ giveNodalScalarRepresentation()

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::VTKBaseExportModule::getNodalVariableFromIS().

◆ initialize()

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

Initializes receiver

Reimplemented in oofem::LevelSetPCS.

Definition at line 64 of file materialinterface.h.

◆ updatePosition()

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.

◆ updateYourself()

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-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011