OOFEM 3.0
Loading...
Searching...
No Matches
oofem::ZZNodalRecoveryModel Class Reference

#include <zznodalrecoverymodel.h>

Inheritance diagram for oofem::ZZNodalRecoveryModel:
Collaboration diagram for oofem::ZZNodalRecoveryModel:

Classes

struct  parallelStruct

Public Member Functions

 ZZNodalRecoveryModel (Domain *d)
 Constructor.
virtual ~ZZNodalRecoveryModel ()
 Destructor.
int recoverValues (Set elementSet, InternalStateType type, TimeStep *tStep) override
const char * giveClassName () const override
Public Member Functions inherited from oofem::NodalRecoveryModel
 NodalRecoveryModel (Domain *d)
 Constructor.
virtual ~NodalRecoveryModel ()
 Destructor.
void setDomain (Domain *ipDomain)
virtual int clear ()
int giveNodalVector (const FloatArray *&ptr, int node)
virtual int giveRegionRecordSize ()
std::string errorInfo (const char *func)

Private Member Functions

void initRegionMap (IntArray &regionMap, InternalStateType type)
void initCommMaps ()
void exchangeDofManValues (FloatArray &lhs, FloatMatrix &rhs, IntArray &rn)
int packSharedDofManData (parallelStruct *s, ProcessCommunicator &processComm)
int unpackSharedDofManData (parallelStruct *s, ProcessCommunicator &processComm)

Additional Inherited Members

Public Types inherited from oofem::NodalRecoveryModel
enum  NodalRecoveryModelType { NRM_NodalAveraging = 0 , NRM_ZienkiewiczZhu = 1 , NRM_SPR = 2 }
Protected Member Functions inherited from oofem::NodalRecoveryModel
int initRegionNodeNumbering (IntArray &regionNodalNumbers, int &regionDofMans, Set &region)
int updateRegionRecoveredValues (const IntArray &regionNodalNumbers, int regionValSize, const FloatArray &rhs)
Protected Attributes inherited from oofem::NodalRecoveryModel
std ::map< int, FloatArraynodalValList
InternalStateType valType
 Determines the type of recovered values.
StateCounterType stateCounter
 Time stamp of recovered values.
Domaindomain
CommunicatorBuffcommBuff
 Common Communicator buffer.
ProblemCommunicatorcommunicator
 Communicator.
bool initCommMap
 Communication init flag.

Detailed Description

The nodal recovery model based on paper of Zienkiewicz and Zhu "A Simple Estimator and Adaptive Procedure for Practical Engineering Analysis". The recovery is based on nodal averaging or projection process in which it is assumed that the stress \( \sigma_\star \) is interpolated by the same function as the displacement.

Definition at line 54 of file zznodalrecoverymodel.h.

Constructor & Destructor Documentation

◆ ZZNodalRecoveryModel()

oofem::ZZNodalRecoveryModel::ZZNodalRecoveryModel ( Domain * d)

Constructor.

Definition at line 61 of file zznodalrecoverymodel.C.

References oofem::NodalRecoveryModel::NodalRecoveryModel().

◆ ~ZZNodalRecoveryModel()

oofem::ZZNodalRecoveryModel::~ZZNodalRecoveryModel ( )
virtual

Destructor.

Definition at line 64 of file zznodalrecoverymodel.C.

Member Function Documentation

◆ exchangeDofManValues()

void oofem::ZZNodalRecoveryModel::exchangeDofManValues ( FloatArray & lhs,
FloatMatrix & rhs,
IntArray & rn )
private

Definition at line 303 of file zznodalrecoverymodel.C.

References oofem::NodalRecoveryModel::communicator.

Referenced by initRegionMap(), and recoverValues().

◆ giveClassName()

const char * oofem::ZZNodalRecoveryModel::giveClassName ( ) const
inlineoverridevirtual

Implements oofem::NodalRecoveryModel.

Definition at line 77 of file zznodalrecoverymodel.h.

◆ initCommMaps()

◆ initRegionMap()

void oofem::ZZNodalRecoveryModel::initRegionMap ( IntArray & regionMap,
InternalStateType type )
private

Initializes the region table indicating regions to skip.

Parameters
regionMapRegion table, the nonzero entry for region indicates region to skip due to unsupported elements or incompatible value size.
typeDetermines the type of internal variable to be recovered.

References exchangeDofManValues(), initCommMaps(), packSharedDofManData(), and unpackSharedDofManData().

◆ packSharedDofManData()

◆ recoverValues()

◆ unpackSharedDofManData()


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