NeoPZ
|
This class implements the TPZCompEl structure to enable copying the solution of the referred compEl at the integration points to itself and interpolating it inside the element. More...
#include <pzcompelpostproc.h>
Public Member Functions | |
TPZCompElPostProc () | |
virtual | ~TPZCompElPostProc () |
TPZCompElPostProc (TPZCompMesh &mesh, TPZGeoEl *gel, int64_t &index) | |
TPZCompElPostProc (TPZCompMesh &mesh, const TPZCompElPostProc< TCOMPEL > ©) | |
TPZCompElPostProc (TPZCompMesh &mesh, const TPZCompElPostProc< TCOMPEL > ©, 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... | |
void | InitializeShapeFunctions () |
Initializes the shape function type in order to allow non ill-conditioned L2 Transfer matrix. More... | |
virtual TPZCompEl * | Clone (TPZCompMesh &mesh) const override |
virtual TPZCompEl * | ClonePatchEl (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 | Print (std::ostream &out=std::cout) const override |
Prints element data. More... | |
void | ComputeRequiredData (TPZMaterialData &data, TPZVec< REAL > &qsi) override |
virtual void | CalcResidual (TPZElementMatrix &ef) override |
The CalcResidual reimplementation is in charge of extracting the data from the referred compEl at the integration points and building a minimum square residual method to extrapolate this information throughout the element subdomain. The final ef vector shall be copied onto the solution vector, as it represents the shape functions multipliers of the extrapolation functions. More... | |
virtual void | CalcStiff (TPZElementMatrix &ek, TPZElementMatrix &ef) override |
Null implementation of the CalcStiff in order to ensure it wouldn't produce any valid system of equations. More... | |
bool | dataequal (TPZMaterialData &d1, TPZMaterialData &d2) |
Compare some fields of 2 TPZMaterialData and return true if these do match. More... | |
virtual void | ComputeSolution (TPZVec< REAL > &qsi, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphix, const TPZFMatrix< REAL > &axes, TPZSolVec &sol, TPZGradSolVec &dsol) override |
Avoids the calling of the TPZCompElReferred::ComputeSolution wich would attempt to append solution of the referred element. Computes solution and its derivatives in local coordinate qsi. More... | |
virtual void | ComputeSolution (TPZVec< REAL > &qsi, TPZVec< REAL > &normal, TPZSolVec &leftsol, TPZGradSolVec &dleftsol, TPZFMatrix< REAL > &leftaxes, TPZSolVec &rightsol, TPZGradSolVec &drightsol, TPZFMatrix< REAL > &rightaxes) override |
Avoids the calling of the TPZCompElReferred::ComputeSolution wich would attempt to append solution of the referred element. More... | |
virtual void | ComputeShape (TPZVec< REAL > &intpoint, TPZVec< REAL > &X, TPZFMatrix< REAL > &jacobian, TPZFMatrix< REAL > &axes, REAL &detjac, TPZFMatrix< REAL > &jacinv, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, TPZFMatrix< REAL > &dphidx) override |
Reimplemented in order to ensure the shape functions are computed with local support and thus benefits from the orthogonality properties of the legendre polynomials defined by the method InitializeShapeFunctios(). More... | |
int | ClassId () const override |
write the element data to a stream More... | |
void | Write (TPZStream &buf, int withclassid) const override |
Save the element data to a stream. More... | |
void | Read (TPZStream &buf, void *context) override |
Read the element data from a stream. More... | |
Public Member Functions inherited from TPZReferredCompEl< TCOMPEL > | |
TPZReferredCompEl (TPZCompMesh &mesh, TPZGeoEl *gel, int64_t &index) | |
Class constructor. More... | |
TPZReferredCompEl () | |
TPZReferredCompEl (TPZCompMesh &mesh, const TPZReferredCompEl< TCOMPEL > ©) | |
TPZReferredCompEl (TPZCompMesh &mesh, const TPZReferredCompEl< TCOMPEL > ©, std::map< int64_t, int64_t > &gl2lcConMap, std::map< int64_t, int64_t > &gl2lcElMap) | |
~TPZReferredCompEl () | |
Class destructor. More... | |
virtual void | SetCreateFunctions (TPZCompMesh *mesh) override |
Set create function in TPZCompMesh to create elements of this type. More... | |
TPZCompEl * | ReferredElement () |
Returns referred element of this. More... | |
virtual void | ComputeSolution (TPZVec< REAL > &qsi, TPZMaterialData &data) override |
Computes solution and its derivatives in local coordinate qsi. More... | |
int | ClassId () const override |
template<> | |
void | SetCreateFunctions (TPZCompMesh *mesh) |
Additional Inherited Members | |
Protected Member Functions inherited from TPZReferredCompEl< TCOMPEL > | |
void | AppendOtherSolution (TPZVec< REAL > &qsi, TPZSolVec &sol, TPZGradSolVec &dsol, TPZFMatrix< REAL > &axes) |
Append solution of the referred element. More... | |
void | AppendOtherSolution (TPZVec< REAL > &qsi, TPZSolVec &sol) |
Append solution of the referred element. More... | |
void | AppendOtherSolution (TPZVec< REAL > &qsi, TPZSolVec &sol, TPZGradSolVec &dsol, const TPZFMatrix< REAL > &axes) |
Append solution of the referred element. More... | |
void | AppendOtherSolution (TPZVec< REAL > &qsi, TPZVec< REAL > &normal, TPZSolVec &leftsol, TPZGradSolVec &dleftsol, TPZFMatrix< REAL > &leftaxes, TPZSolVec &rightsol, TPZGradSolVec &drightsol, TPZFMatrix< REAL > &rightaxes) |
Append solution of the referred element. More... | |
template<> | |
void | AppendOtherSolution (TPZVec< REAL > &qsi, TPZSolVec &sol, TPZGradSolVec &dsol, TPZFMatrix< REAL > &axes) |
This class implements the TPZCompEl structure to enable copying the solution of the referred compEl at the integration points to itself and interpolating it inside the element.
Definition at line 46 of file pzcompelpostproc.h.
|
inline |
Definition at line 167 of file pzcompelpostproc.h.
References TPZCompElPostProc< TCOMPEL >::InitializeShapeFunctions().
|
inlinevirtual |
Definition at line 172 of file pzcompelpostproc.h.
|
inline |
Definition at line 177 of file pzcompelpostproc.h.
References TPZCompElPostProc< TCOMPEL >::InitializeShapeFunctions().
|
inline |
Definition at line 183 of file pzcompelpostproc.h.
References TPZCompElPostProc< TCOMPEL >::InitializeShapeFunctions().
|
inline |
Used to generate patch mesh... generates a map of connect index from global mesh to clone mesh.
Definition at line 189 of file pzcompelpostproc.h.
References TPZCompElPostProc< TCOMPEL >::InitializeShapeFunctions().
|
inlineoverridevirtual |
The CalcResidual reimplementation is in charge of extracting the data from the referred compEl at the integration points and building a minimum square residual method to extrapolate this information throughout the element subdomain. The final ef vector shall be copied onto the solution vector, as it represents the shape functions multipliers of the extrapolation functions.
boundary discontinuous elements have this characteristic
Definition at line 256 of file pzcompelpostproc.h.
References TPZMaterialData::axes, TPZMultiphysicsElement::ComputeRequiredData(), TPZCompElPostProc< TCOMPEL >::ComputeRequiredData(), TPZInterpolationSpace::ComputeRequiredData(), TPZInterpolationSpace::ComputeShape(), TPZCompElPostProc< TCOMPEL >::ComputeShape(), TPZPostProcMat::Contribute(), DebugStop, TPZMaterialData::detjac, TPZMaterialData::dphi, TPZMaterialData::dphix, TPZMaterialData::dsol, fabs, TPZElementMatrix::fMat, TPZMaterialData::fNeedsSol, TPZCompEl::GetIntegrationRule(), TPZPostProcMat::GetPostProcessVarIndexList(), TPZPostProcMat::GetPostProcVarName(), TPZMatrix< TVar >::GetSub(), TPZInterpolationSpace::InitMaterialData(), TPZMaterialData::intLocPtIndex, TPZMaterialData::jacinv, TPZMaterialData::jacobian, LOGPZ_DEBUG, TPZCompEl::Material(), TPZInterpolationSpace::MaxOrder(), TPZFMatrix< TVar >::MultAdd(), TPZVec< T >::NElements(), Norm(), TPZIntPoints::NPoints(), TPZMaterial::NSolutionVariables(), TPZPostProcMat::NStateVariables(), TPZMaterialData::p, TPZMaterialData::phi, TPZIntPoints::Point(), TPZMatrix< TVar >::Print(), PZError, TPZReferredCompEl< TCOMPEL >::ReferredElement(), TPZElementMatrix::Reset(), TPZManVector< T, NumExtAlloc >::Resize(), TPZVec< T >::Resize(), TPZMatrix< TVar >::Rows(), TPZMaterialData::sol, TPZMaterial::Solution(), TPZCompEl::Solution(), TPZMatrix< TVar >::Solve_LU(), substruct_tst14.test::status, and TPZMaterialData::x.
|
inlineoverridevirtual |
Null implementation of the CalcStiff in order to ensure it wouldn't produce any valid system of equations.
Definition at line 438 of file pzcompelpostproc.h.
References PZError.
|
override |
write the element data to a stream
Definition at line 229 of file pzcompelpostproc.h.
References TPZReferredCompEl< TCOMPEL >::ClassId(), and Hash().
|
inlineoverridevirtual |
Definition at line 199 of file pzcompelpostproc.h.
|
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.
mesh | Patch clone mesh |
gl2lcConMap | map the connects indexes from global element (original) to the local copy. |
gl2lcElMap | map the indexes of the elements between the original element and the patch element |
Definition at line 204 of file pzcompelpostproc.h.
|
inlineoverride |
Definition at line 218 of file pzcompelpostproc.h.
Referenced by TPZCompElPostProc< TCOMPEL >::CalcResidual().
|
inlineoverridevirtual |
Reimplemented in order to ensure the shape functions are computed with local support and thus benefits from the orthogonality properties of the legendre polynomials defined by the method InitializeShapeFunctios().
Compute shape functions based on master element in the classical FEM manner.
Definition at line 491 of file pzcompelpostproc.h.
References TPZGeoEl::Jacobian(), PZError, Shape(), and TPZGeoEl::X().
Referenced by TPZCompElPostProc< TCOMPEL >::CalcResidual().
|
inlineoverridevirtual |
Avoids the calling of the TPZCompElReferred::ComputeSolution wich would attempt to append solution of the referred element. Computes solution and its derivatives in local coordinate qsi.
qsi | master element coordinate |
phi | matrix containing shape functions compute in qsi point |
dphix | matrix containing the derivatives of shape functions in the direction of the axes |
axes | direction of the derivatives |
sol | finite element solution |
dsol | solution derivatives |
Definition at line 473 of file pzcompelpostproc.h.
|
inlineoverridevirtual |
Avoids the calling of the TPZCompElReferred::ComputeSolution wich would attempt to append solution of the referred element.
qsi | master element coordinate of the interface element |
normal | unitary vector output normal at boundary |
leftsol | finite element solution |
dleftsol | solution derivatives |
leftaxes | axes associated with the left solution |
rightsol | finite element solution |
drightsol | solution derivatives |
rightaxes | axes associated with the right solution |
Reimplemented from TPZReferredCompEl< TCOMPEL >.
Definition at line 483 of file pzcompelpostproc.h.
|
inline |
Compare some fields of 2 TPZMaterialData and return true if these do match.
Definition at line 444 of file pzcompelpostproc.h.
References DebugStop, TPZVec< T >::NElements(), TPZMaterialData::p, TPZMaterialData::phi, pow(), test::res, TPZMatrix< TVar >::Rows(), and TPZMaterialData::x.
|
inline |
Initializes the shape function type in order to allow non ill-conditioned L2 Transfer matrix.
Definition at line 209 of file pzcompelpostproc.h.
Referenced by TPZCompElPostProc< TCOMPEL >::TPZCompElPostProc().
|
inlineoverridevirtual |
Prints element data.
out | indicates the device where the data will be printed |
Reimplemented from TPZReferredCompEl< TCOMPEL >.
Definition at line 85 of file pzcompelpostproc.h.
References TPZReferredCompEl< TCOMPEL >::Print().
|
inlineoverride |
Read the element data from a stream.
Definition at line 247 of file pzcompelpostproc.h.
|
inlineoverride |
Save the element data to a stream.
write the element data to a stream
Definition at line 238 of file pzcompelpostproc.h.