NeoPZ
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
TPZCompElWithMem< TBASE > Class Template Reference

This class implements the TPZCompEl structure to enable material memory feature.
It should be instantiated using one of TPZCompEl bottom classes as parent in the template parameter. More...

#include <pzcompelwithmem.h>

Inheritance diagram for TPZCompElWithMem< TBASE >:
[legend]
Collaboration diagram for TPZCompElWithMem< TBASE >:
[legend]

Public Member Functions

 TPZCompElWithMem ()
 
virtual ~TPZCompElWithMem ()
 
 TPZCompElWithMem (TPZCompMesh &mesh, TPZGeoEl *gel, int64_t &index)
 
 TPZCompElWithMem (TPZCompMesh &mesh, TPZGeoEl *ref, int64_t &index, TPZCompElSide left, TPZCompElSide right)
 
 TPZCompElWithMem (TPZCompMesh &mesh, const TPZCompElWithMem< TBASE > &copy)
 
 TPZCompElWithMem (TPZCompMesh &mesh, const TPZCompElWithMem< TBASE > &copy, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap)
 used to generate patch mesh... generates a map of connect index from global mesh to clone mesh More...
 
virtual TPZCompElClone (TPZCompMesh &mesh) const override
 
virtual void SetCreateFunctions (TPZCompMesh *mesh) override
 Set create function in TPZCompMesh to create elements of this type. More...
 
virtual TPZCompElClonePatchEl (TPZCompMesh &mesh, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap) const override
 Create a copy of the given element. The clone copy have the connect indexes mapped to the local clone connects by the given map. More...
 
virtual void ComputeRequiredData (TPZMaterialData &data, TPZVec< REAL > &qsi) override
 
virtual void ComputeRequiredData (TPZVec< REAL > &intpointtemp, TPZVec< TPZTransform<> > &trvec, TPZVec< TPZMaterialData > &datavec) override
 
int64_t GetGlobalIntegrationPointIndex (TPZMaterialData &data)
 
void GetMemoryIndices (TPZVec< int64_t > &indices) const override
 Get the indices of the vector of element memory associated with the integration points. More...
 
virtual void SetIntegrationRule (int ord) override
 Modify the maximum order an integration rule can integrate. More...
 
virtual void Write (TPZStream &buf, int withclassid) const override
 Saves the element data to a stream. More...
 
virtual void Read (TPZStream &buf, void *context) override
 Reads the element data from a stream. More...
 
virtual int ClassId () const override
 ClassId of the class. Is implemented for each type of compel in this .h. More...
 
Print

Methods for print data structure

virtual void Print (std::ostream &out=std::cout) const override
 Prints element data. More...
 

Protected Member Functions

virtual void PrepareIntPtIndices () override
 PrepareIntPtIndices initializes the material damage varibles memory in the proper material class. More...
 
virtual void ForcePrepareIntPtIndices () override
 PrepareIntPtIndices initializes the material damage varibles memory in the proper material class. More...
 
virtual void SetMemoryIndices (TPZVec< int64_t > &indices) override
 PrepareIntPtIndices initializes the material damage varibles memory in the proper material class. More...
 
virtual void SetFreeIntPtIndices () override
 Frees the material damage varibles memory in the proper material class. More...
 
void CopyIntPtIndicesFrom (const TPZCompElWithMem< TBASE > &copy)
 
template<>
void PrepareIntPtIndices ()
 

Private Attributes

TPZStack< int64_t, 128 > fIntPtIndices
 

Detailed Description

template<class TBASE>
class TPZCompElWithMem< TBASE >

This class implements the TPZCompEl structure to enable material memory feature.
It should be instantiated using one of TPZCompEl bottom classes as parent in the template parameter.

Since
July, 23 2008

Definition at line 37 of file pzcompelwithmem.h.

Constructor & Destructor Documentation

◆ TPZCompElWithMem() [1/5]

template<class TBASE >
TPZCompElWithMem< TBASE >::TPZCompElWithMem ( )

Definition at line 147 of file pzcompelwithmem.h.

◆ ~TPZCompElWithMem()

template<class TBASE >
TPZCompElWithMem< TBASE >::~TPZCompElWithMem ( )
virtual

Definition at line 17 of file pzcompelwithmem.cpp.

◆ TPZCompElWithMem() [2/5]

template<class TBASE >
TPZCompElWithMem< TBASE >::TPZCompElWithMem ( TPZCompMesh mesh,
TPZGeoEl gel,
int64_t &  index 
)

◆ TPZCompElWithMem() [3/5]

template<class TBASE >
TPZCompElWithMem< TBASE >::TPZCompElWithMem ( TPZCompMesh mesh,
TPZGeoEl ref,
int64_t &  index,
TPZCompElSide  left,
TPZCompElSide  right 
)

◆ TPZCompElWithMem() [4/5]

template<class TBASE >
TPZCompElWithMem< TBASE >::TPZCompElWithMem ( TPZCompMesh mesh,
const TPZCompElWithMem< TBASE > &  copy 
)

◆ TPZCompElWithMem() [5/5]

template<class TBASE >
TPZCompElWithMem< TBASE >::TPZCompElWithMem ( TPZCompMesh mesh,
const TPZCompElWithMem< TBASE > &  copy,
std::map< int64_t, int64_t > &  gl2lcConMap,
std::map< int64_t, int64_t > &  gl2lcElMap 
)

used to generate patch mesh... generates a map of connect index from global mesh to clone mesh

Definition at line 175 of file pzcompelwithmem.h.

References TPZCompElWithMem< TBASE >::CopyIntPtIndicesFrom().

Member Function Documentation

◆ ClassId()

template<class TBASE >
int TPZCompElWithMem< TBASE >::ClassId ( ) const
overridevirtual

ClassId of the class. Is implemented for each type of compel in this .h.

Definition at line 338 of file pzcompelwithmem.h.

References Hash().

Referenced by TPZCompElWithMem< TBASE >::ClonePatchEl(), TPZCompElWithMem< TBASE >::Read(), and TPZCompElWithMem< TBASE >::Write().

◆ Clone()

template<class TBASE>
virtual TPZCompEl* TPZCompElWithMem< TBASE >::Clone ( TPZCompMesh mesh) const
inlineoverridevirtual

Definition at line 57 of file pzcompelwithmem.h.

◆ ClonePatchEl()

template<class TBASE>
virtual TPZCompEl* TPZCompElWithMem< TBASE >::ClonePatchEl ( TPZCompMesh mesh,
std::map< int64_t, int64_t > &  gl2lcConMap,
std::map< int64_t, int64_t > &  gl2lcElMap 
) const
inlineoverridevirtual

Create a copy of the given element. The clone copy have the connect indexes mapped to the local clone connects by the given map.

Parameters
meshPatch clone mesh
gl2lcConMapmap the connects indexes from global element (original) to the local copy.
gl2lcElMapmap the indexes of the elements between the original element and the patch element

Definition at line 72 of file pzcompelwithmem.h.

References TPZCompElWithMem< TBASE >::ClassId(), TPZCompElWithMem< TBASE >::ComputeRequiredData(), TPZCompElWithMem< TBASE >::CopyIntPtIndicesFrom(), TPZCompElWithMem< TBASE >::ForcePrepareIntPtIndices(), TPZCompElWithMem< TBASE >::GetGlobalIntegrationPointIndex(), TPZCompElWithMem< TBASE >::GetMemoryIndices(), TPZCompElWithMem< TBASE >::PrepareIntPtIndices(), TPZCompElWithMem< TBASE >::Read(), TPZCompElWithMem< TBASE >::SetFreeIntPtIndices(), TPZCompElWithMem< TBASE >::SetIntegrationRule(), TPZCompElWithMem< TBASE >::SetMemoryIndices(), and TPZCompElWithMem< TBASE >::Write().

◆ ComputeRequiredData() [1/2]

template<class TBASE >
void TPZCompElWithMem< TBASE >::ComputeRequiredData ( TPZMaterialData data,
TPZVec< REAL > &  qsi 
)
inlineoverridevirtual

◆ ComputeRequiredData() [2/2]

template<class TBASE >
void TPZCompElWithMem< TBASE >::ComputeRequiredData ( TPZVec< REAL > &  intpointtemp,
TPZVec< TPZTransform<> > &  trvec,
TPZVec< TPZMaterialData > &  datavec 
)
inlineoverridevirtual

◆ CopyIntPtIndicesFrom()

template<class TBASE >
void TPZCompElWithMem< TBASE >::CopyIntPtIndicesFrom ( const TPZCompElWithMem< TBASE > &  copy)
protected

◆ ForcePrepareIntPtIndices()

template<class TBASE >
void TPZCompElWithMem< TBASE >::ForcePrepareIntPtIndices ( )
inlineoverrideprotectedvirtual

PrepareIntPtIndices initializes the material damage varibles memory in the proper material class.

Definition at line 188 of file pzcompelwithmem.h.

References TPZCompElWithMem< TBASE >::fIntPtIndices, TPZIntPoints::NPoints(), PZError, and TPZManVector< T, NumExtAlloc >::Resize().

Referenced by TPZCompElWithMem< TBASE >::ClonePatchEl().

◆ GetGlobalIntegrationPointIndex()

template<class TBASE >
int64_t TPZCompElWithMem< TBASE >::GetGlobalIntegrationPointIndex ( TPZMaterialData data)
inline

◆ GetMemoryIndices()

template<class TBASE >
void TPZCompElWithMem< TBASE >::GetMemoryIndices ( TPZVec< int64_t > &  indices) const
inlineoverride

Get the indices of the vector of element memory associated with the integration points.

Will return an empty vector if no memory is associated with the integration point Is implemented in TPZCompElWithMem

Definition at line 260 of file pzcompelwithmem.h.

References TPZCompElWithMem< TBASE >::fIntPtIndices.

Referenced by TPZCompElWithMem< TBASE >::ClonePatchEl().

◆ PrepareIntPtIndices() [1/2]

template<>
void TPZCompElWithMem< TPZInterfaceElement >::PrepareIntPtIndices ( )
inlineprotected

◆ PrepareIntPtIndices() [2/2]

template<class TBASE >
void TPZCompElWithMem< TBASE >::PrepareIntPtIndices ( )
inlineoverrideprotectedvirtual

PrepareIntPtIndices initializes the material damage varibles memory in the proper material class.

Definition at line 22 of file pzcompelwithmem.cpp.

References LOGPZ_ERROR, TPZIntPoints::NPoints(), and PZError.

Referenced by TPZCompElWithMem< TBASE >::ClonePatchEl(), TPZCompElWithMem< TBASE >::SetIntegrationRule(), and TPZCompElWithMem< TBASE >::TPZCompElWithMem().

◆ Print()

template<class TBASE>
virtual void TPZCompElWithMem< TBASE >::Print ( std::ostream &  out = std::cout) const
inlineoverridevirtual

Prints element data.

Parameters
outindicates the device where the data will be printed

Definition at line 132 of file pzcompelwithmem.h.

References TPZCompElWithMem< TBASE >::fIntPtIndices.

◆ Read()

template<class TBASE >
void TPZCompElWithMem< TBASE >::Read ( TPZStream buf,
void *  context 
)
inlineoverridevirtual

Reads the element data from a stream.

Read the element data from a stream

Definition at line 326 of file pzcompelwithmem.h.

References TPZCompElWithMem< TBASE >::ClassId(), DebugStop, TPZCompElWithMem< TBASE >::fIntPtIndices, and TPZStream::Read().

Referenced by TPZCompElWithMem< TBASE >::ClonePatchEl().

◆ SetCreateFunctions()

template<class TBASE>
virtual void TPZCompElWithMem< TBASE >::SetCreateFunctions ( TPZCompMesh mesh)
inlineoverridevirtual

Set create function in TPZCompMesh to create elements of this type.

Definition at line 62 of file pzcompelwithmem.h.

References TPZCompMesh::SetAllCreateFunctionsContinuousWithMem().

◆ SetFreeIntPtIndices()

template<class TBASE >
void TPZCompElWithMem< TBASE >::SetFreeIntPtIndices ( )
inlineoverrideprotectedvirtual

Frees the material damage varibles memory in the proper material class.

Definition at line 225 of file pzcompelwithmem.h.

References TPZCompElWithMem< TBASE >::fIntPtIndices, TPZVec< T >::NElements(), and TPZManVector< T, NumExtAlloc >::Resize().

Referenced by TPZCompElWithMem< TBASE >::ClonePatchEl(), and TPZCompElWithMem< TBASE >::SetIntegrationRule().

◆ SetIntegrationRule()

template<class TBASE >
void TPZCompElWithMem< TBASE >::SetIntegrationRule ( int  ord)
inlineoverridevirtual

◆ SetMemoryIndices()

template<class TBASE >
void TPZCompElWithMem< TBASE >::SetMemoryIndices ( TPZVec< int64_t > &  indices)
inlineoverrideprotectedvirtual

PrepareIntPtIndices initializes the material damage varibles memory in the proper material class.

Definition at line 216 of file pzcompelwithmem.h.

References TPZCompElWithMem< TBASE >::fIntPtIndices, TPZManVector< T, NumExtAlloc >::Resize(), and TPZVec< T >::size().

Referenced by TPZCompElWithMem< TBASE >::ClonePatchEl().

◆ Write()

template<class TBASE >
void TPZCompElWithMem< TBASE >::Write ( TPZStream buf,
int  withclassid 
) const
inlineoverridevirtual

Saves the element data to a stream.

Definition at line 316 of file pzcompelwithmem.h.

References TPZCompElWithMem< TBASE >::ClassId(), TPZCompElWithMem< TBASE >::fIntPtIndices, and TPZStream::Write().

Referenced by TPZCompElWithMem< TBASE >::ClonePatchEl().

Member Data Documentation

◆ fIntPtIndices

template<class TBASE>
TPZStack<int64_t,128> TPZCompElWithMem< TBASE >::fIntPtIndices
private

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