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

The class representing the general material model adaptive mapping interface. More...

#include <materialmapperinterface.h>

+ Inheritance diagram for oofem::MaterialModelMapperInterface:
+ Collaboration diagram for oofem::MaterialModelMapperInterface:

Public Member Functions

 MaterialModelMapperInterface ()
 Constructor. More...
 
virtual ~MaterialModelMapperInterface ()
 Destructor. More...
 
The interface required by MaterialModelMapperInterface
virtual int MMI_map (GaussPoint *gp, Domain *oldd, TimeStep *tStep)=0
 Maps the required internal state variables from old mesh oldd to given ip. More...
 
virtual int MMI_update (GaussPoint *gp, TimeStep *tStep, FloatArray *elemGPVec=NULL)=0
 Updates the required internal state variables from previously mapped values. More...
 
virtual int MMI_finish (TimeStep *tStep)=0
 Finishes the mapping for given time step. More...
 
- Public Member Functions inherited from oofem::Interface
 Interface ()
 Constructor. More...
 
virtual ~Interface ()
 
virtual const char * giveClassName () const =0
 

Detailed Description

The class representing the general material model adaptive mapping interface.

The basic task is to define the algorithm for mapping of the internal material model variables from one (old) mesh to the given IP of new mesh.

Definition at line 50 of file materialmapperinterface.h.

Constructor & Destructor Documentation

oofem::MaterialModelMapperInterface::MaterialModelMapperInterface ( )
inline

Constructor.

Definition at line 56 of file materialmapperinterface.h.

virtual oofem::MaterialModelMapperInterface::~MaterialModelMapperInterface ( )
inlinevirtual

Destructor.

Definition at line 58 of file materialmapperinterface.h.

Member Function Documentation

virtual int oofem::MaterialModelMapperInterface::MMI_finish ( TimeStep tStep)
pure virtual

Finishes the mapping for given time step.

Used to perform cleanup. Typically some mappers require to compute some global mesh data related to current step, which are valid for example to all IPs - so they are computed only once for all IPs, stored and they need to be deallocated. These mappers are typically class variables, but their finish is invoked by all members.

Implemented in oofem::IsotropicDamageMaterial1, and oofem::MDM.

Referenced by oofem::Element::adaptiveFinish().

virtual int oofem::MaterialModelMapperInterface::MMI_map ( GaussPoint gp,
Domain oldd,
TimeStep tStep 
)
pure virtual

Maps the required internal state variables from old mesh oldd to given ip.

The result is stored in gp status.

Parameters
gpIntegration point belonging to new domain which values will be mapped
olddOld mesh reference.
tStepTime step.
Returns
Nonzero if o.k.

Implemented in oofem::IsotropicDamageMaterial1, and oofem::MDM.

Referenced by oofem::Element::adaptiveMap().

virtual int oofem::MaterialModelMapperInterface::MMI_update ( GaussPoint gp,
TimeStep tStep,
FloatArray elemGPVec = NULL 
)
pure virtual

Updates the required internal state variables from previously mapped values.

The result is stored in gp status. This map and update splitting is necessary, for example for nonlocal models that local quantity to be averaged must be mapped in all integration points and then update can happen, because it may depend on nonlocal variable, which is computed from local values.

Parameters
gpIntegration point belonging to new domain which values will be mapped.
tStepTime step.
elemGPVecVector passed to MMI_update at material level, probably computed from primary unknowns (for structural elements this represent strain vector).
Returns
Nonzero if o.k.

Implemented in oofem::IsotropicDamageMaterial1, and oofem::MDM.


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