|
OOFEM 3.0
|
#include <zznodalrecoverymodel.h>
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 ®ionMap, 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 ®ionNodalNumbers, int ®ionDofMans, Set ®ion) |
| int | updateRegionRecoveredValues (const IntArray ®ionNodalNumbers, int regionValSize, const FloatArray &rhs) |
| Protected Attributes inherited from oofem::NodalRecoveryModel | |
| std ::map< int, FloatArray > | nodalValList |
| InternalStateType | valType |
| Determines the type of recovered values. | |
| StateCounterType | stateCounter |
| Time stamp of recovered values. | |
| Domain * | domain |
| CommunicatorBuff * | commBuff |
| Common Communicator buffer. | |
| ProblemCommunicator * | communicator |
| Communicator. | |
| bool | initCommMap |
| Communication init flag. | |
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.
| oofem::ZZNodalRecoveryModel::ZZNodalRecoveryModel | ( | Domain * | d | ) |
Constructor.
Definition at line 61 of file zznodalrecoverymodel.C.
References oofem::NodalRecoveryModel::NodalRecoveryModel().
|
virtual |
Destructor.
Definition at line 64 of file zznodalrecoverymodel.C.
|
private |
Definition at line 303 of file zznodalrecoverymodel.C.
References oofem::NodalRecoveryModel::communicator.
Referenced by initRegionMap(), and recoverValues().
|
inlineoverridevirtual |
Implements oofem::NodalRecoveryModel.
Definition at line 77 of file zznodalrecoverymodel.h.
|
private |
Definition at line 286 of file zznodalrecoverymodel.C.
References oofem::CBT_dynamic, oofem::NodalRecoveryModel::commBuff, oofem::NodalRecoveryModel::communicator, oofem::NodalRecoveryModel::domain, oofem::EngngModel::giveNumberOfProcesses(), oofem::EngngModel::giveRank(), oofem::NodalRecoveryModel::initCommMap, and OOFEM_LOG_INFO.
Referenced by initRegionMap(), and recoverValues().
|
private |
Initializes the region table indicating regions to skip.
| regionMap | Region table, the nonzero entry for region indicates region to skip due to unsupported elements or incompatible value size. |
| type | Determines the type of internal variable to be recovered. |
References exchangeDofManValues(), initCommMaps(), packSharedDofManData(), and unpackSharedDofManData().
|
private |
Definition at line 315 of file zznodalrecoverymodel.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::IntArray::at(), oofem::FloatMatrix::giveNumberOfColumns(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicator::giveToSendMap(), oofem::ZZNodalRecoveryModel::parallelStruct::lhs, oofem::ZZNodalRecoveryModel::parallelStruct::regionNodalNumbers, oofem::ZZNodalRecoveryModel::parallelStruct::rhs, and oofem::ProcessCommunicatorBuff::write().
Referenced by initRegionMap().
|
overridevirtual |
Recovers the nodal values for all regions.
| type | Determines the type of internal variable to be recovered. |
| tStep | Time step. |
Implements oofem::NodalRecoveryModel.
Definition at line 68 of file zznodalrecoverymodel.C.
References oofem::__InternalStateTypeToString(), oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::IntArray::at(), oofem::NodalRecoveryModel::clear(), oofem::NodalRecoveryModel::domain, oofem::Element_local, exchangeDofManValues(), oofem::Element::giveDofManager(), oofem::Set::giveElementList(), oofem::FEMComponent::giveInterface(), oofem::FEMComponent::giveNumber(), oofem::FloatMatrix::giveNumberOfColumns(), oofem::Element::giveNumberOfDofManagers(), oofem::Element::giveParallelMode(), oofem::IntArray::giveSize(), oofem::TimeStep::giveSolutionStateCounter(), initCommMaps(), oofem::NodalRecoveryModel::initRegionNodeNumbering(), OOFEM_LOG_RELEVANT, OOFEM_WARNING, oofem::FloatArray::resize(), oofem::FloatMatrix::resize(), oofem::NodalRecoveryModel::stateCounter, oofem::NodalRecoveryModel::updateRegionRecoveredValues(), oofem::NodalRecoveryModel::valType, oofem::FloatArray::zero(), oofem::FloatMatrix::zero(), oofem::ZZNodalRecoveryModelInterface::ZZNodalRecoveryMI_computeNNMatrix(), oofem::ZZNodalRecoveryModelInterface::ZZNodalRecoveryMI_computeNValProduct(), oofem::ZZNodalRecoveryModelInterfaceType, and ZZNRM_ZERO_VALUE.
|
private |
Definition at line 346 of file zznodalrecoverymodel.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::IntArray::at(), oofem::FloatMatrix::giveNumberOfColumns(), oofem::ProcessCommunicator::giveProcessCommunicatorBuff(), oofem::ProcessCommunicator::giveToRecvMap(), oofem::ZZNodalRecoveryModel::parallelStruct::lhs, oofem::ProcessCommunicatorBuff::read(), oofem::ZZNodalRecoveryModel::parallelStruct::regionNodalNumbers, and oofem::ZZNodalRecoveryModel::parallelStruct::rhs.
Referenced by initRegionMap().