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

#include <matstatmapperint.h>

Inheritance diagram for oofem::MaterialStatusMapperInterface:

Public Member Functions

 MaterialStatusMapperInterface ()
virtual ~MaterialStatusMapperInterface ()
virtual void copyStateVariables (const MaterialStatus &iStatus)=0
virtual void addStateVariables (const MaterialStatus &iStatus)=0
virtual int MSMI_map (const GaussPoint &iGP, const Domain &iOldDom, Set &sourceSet, const TimeStep &iTStep, MaterialStatus &oStatus)
virtual int MSMI_map_cz (const GaussPoint &iGP, const Domain &iOldDom, Set &sourceSet, const TimeStep &iTStep, MaterialStatus &oStatus)
virtual int MSMI_update (const GaussPoint &iGP, const TimeStep &iTStep)
virtual int MSMI_finish (const TimeStep &iTStep)

Protected Attributes

std::unique_ptr< MaterialMappingAlgorithmmpMaterialMapper

Detailed Description

An interface class for MaterialStatus. The purpose is to allow mapping of state variables (Gauss point variables) in a generic way. This is useful when the mesh changes, e.g. due to propagating cracks or in adaptive analysis.

To add adaptivity capability to a new material model, only copyStateVariables() and addStateVariables need to be overloaded in the corresponding material status class. Hence, mapping functionality can be implemented for new material models with minimum effort.

Note
bp: this is however renundant to existing MaterialModelMapperInterface (MMI_map, MMI_update), which is perhaps more flexible (several mapping algorithms, etc).
Author
Erik Svenning Created on: Nov 6, 2013

Definition at line 68 of file matstatmapperint.h.

Constructor & Destructor Documentation

◆ MaterialStatusMapperInterface()

oofem::MaterialStatusMapperInterface::MaterialStatusMapperInterface ( )

Definition at line 43 of file matstatmapperint.C.

References mpMaterialMapper.

◆ ~MaterialStatusMapperInterface()

virtual oofem::MaterialStatusMapperInterface::~MaterialStatusMapperInterface ( )
inlinevirtual

Definition at line 75 of file matstatmapperint.h.

Member Function Documentation

◆ addStateVariables()

virtual void oofem::MaterialStatusMapperInterface::addStateVariables ( const MaterialStatus & iStatus)
pure virtual

◆ copyStateVariables()

◆ MSMI_finish()

int oofem::MaterialStatusMapperInterface::MSMI_finish ( const TimeStep & iTStep)
virtual

Finishes the mapping for given time step. Used to perform cleanup.

Definition at line 93 of file matstatmapperint.C.

Referenced by addStateVariables().

◆ MSMI_map()

int oofem::MaterialStatusMapperInterface::MSMI_map ( const GaussPoint & iGP,
const Domain & iOldDom,
Set & sourceSet,
const TimeStep & iTStep,
MaterialStatus & oStatus )
virtual

Maps all internal state variables from the old domain to the given gp status.

Parameters
iGPIntegration point belonging to the new domain.
iOldDomOld domain.
iTStepTime step.
Returns
Nonzero if o.k.

Definition at line 47 of file matstatmapperint.C.

References mpMaterialMapper.

Referenced by addStateVariables(), and oofem::Element::mapStateVariables().

◆ MSMI_map_cz()

int oofem::MaterialStatusMapperInterface::MSMI_map_cz ( const GaussPoint & iGP,
const Domain & iOldDom,
Set & sourceSet,
const TimeStep & iTStep,
MaterialStatus & oStatus )
virtual

Definition at line 65 of file matstatmapperint.C.

References mpMaterialMapper.

Referenced by addStateVariables().

◆ MSMI_update()

int oofem::MaterialStatusMapperInterface::MSMI_update ( const GaussPoint & iGP,
const TimeStep & iTStep )
virtual

Updates the internal state variables from previously mapped values.

Parameters
iGPIntegration point belonging to the new domain.
iTStepTime step.
Returns
Nonzero if o.k.

Definition at line 84 of file matstatmapperint.C.

Referenced by addStateVariables().

Member Data Documentation

◆ mpMaterialMapper

std::unique_ptr< MaterialMappingAlgorithm > oofem::MaterialStatusMapperInterface::mpMaterialMapper
protected

Definition at line 71 of file matstatmapperint.h.

Referenced by MaterialStatusMapperInterface(), MSMI_map(), and MSMI_map_cz().


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

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