NeoPZ
|
This class implements a geometric element which uses its ancestral to compute its jacobian. Geometry. More...
#include <tpzgeoelmapped.h>
Public Types | |
typedef TBase::Geo | Geo |
Public Member Functions | |
TPZGeoElMapped () | |
TPZGeoElMapped (int64_t id, TPZVec< int64_t > &nodeindexes, int matind, TPZGeoMesh &mesh) | |
TPZGeoElMapped (TPZVec< int64_t > &nodeindices, int matind, TPZGeoMesh &mesh) | |
TPZGeoElMapped (TPZVec< int64_t > &nodeindices, int matind, TPZGeoMesh &mesh, int64_t &index) | |
TPZGeoElMapped (TPZGeoMesh &destmesh, const TPZGeoElMapped< TBase > ©) | |
TPZGeoElMapped (TPZGeoMesh &destmesh, const TPZGeoElMapped< TBase > ©, std::map< int64_t, int64_t > &gl2lcNdIdx, std::map< int64_t, int64_t > &gl2lcElIdx) | |
~TPZGeoElMapped () | |
int | ClassId () const override |
virtual TPZGeoEl * | Clone (TPZGeoMesh &DestMesh) const override |
virtual TPZGeoEl * | ClonePatchEl (TPZGeoMesh &DestMesh, std::map< int64_t, int64_t > &gl2lcNdIdx, std::map< int64_t, int64_t > &gl2lcElIdx) const override |
void | Write (TPZStream &buf, int withclassid) const override |
Save the element data to a stream. More... | |
virtual void | Read (TPZStream &buf, void *context) override |
Read the element data from a stream. More... | |
virtual bool | IsLinearMapping (int side) const override |
virtual bool | IsGeoElMapped () const override |
Returns if is a TPZGeoElMapped< T > element. More... | |
virtual TPZGeoEl * | CreateGeoElement (MElementType type, TPZVec< int64_t > &nodeindexes, int matid, int64_t &index) override |
Creates a geometric element according to the type of the father element. More... | |
virtual void | SetFatherIndex (int64_t fatherindex) override |
Sets the father element index. More... | |
void | GradX (TPZVec< REAL > &qsi, TPZFMatrix< REAL > &gradx) const override |
Return the Jacobian matrix at the point. More... | |
void | X (TPZVec< REAL > &ksi, TPZVec< REAL > &result) const override |
Returns the Jacobian matrix at the point (from son to father) More... | |
virtual void | Print (std::ostream &out=std::cout) override |
virtual void | JacobianConv (TPZVec< REAL > QsiEta, TPZVec< REAL > &XYZ) |
Avaliate the Jacobian 3D (3x3 size) by Expected Convergence Order. More... | |
Protected Member Functions | |
template<class T > | |
void | TGradX (TPZVec< T > &qsi, TPZFMatrix< T > &gradx) const |
template<class T > | |
void | TX (TPZVec< T > &ksi, TPZVec< T > &result) const |
template<class T > | |
void | TKsiBar (TPZVec< T > &ksi, TPZVec< T > &ksibar) const |
Compute the map of the point ksi to the ancestor ksibar. More... | |
Private Member Functions | |
void | KsiBar (TPZVec< REAL > &ksi, TPZVec< REAL > &ksibar, TPZFMatrix< REAL > &jac) const |
Compute the map of the point ksi to the ancestor ksibar and the gradient of the ancestor ksibar with respect to ksi. More... | |
void | KsiBar (TPZVec< REAL > &ksi, TPZVec< REAL > &ksibar) const |
Compute the map of the point ksi to the ancestor ksibar. More... | |
virtual TPZGeoEl * | CreateBCGeoEl (int side, int bc) override |
Private Attributes | |
TPZFNMatrix< Geo::Dimension *Geo::NNodes > | fCornerCo |
This class implements a geometric element which uses its ancestral to compute its jacobian. Geometry.
Definition at line 33 of file tpzgeoelmapped.h.
typedef TBase::Geo TPZGeoElMapped< TBase >::Geo |
Definition at line 35 of file tpzgeoelmapped.h.
|
inline |
Definition at line 36 of file tpzgeoelmapped.h.
Referenced by TPZGeoElMapped< TBase >::TPZGeoElMapped().
|
inline |
Definition at line 40 of file tpzgeoelmapped.h.
|
inline |
Definition at line 45 of file tpzgeoelmapped.h.
|
inline |
Definition at line 50 of file tpzgeoelmapped.h.
References TPZGeoElMapped< TBase >::TPZGeoElMapped().
TPZGeoElMapped< TBase >::TPZGeoElMapped | ( | TPZGeoMesh & | destmesh, |
const TPZGeoElMapped< TBase > & | copy | ||
) |
Definition at line 74 of file tpzgeoelmapped.cpp.
TPZGeoElMapped< TBase >::TPZGeoElMapped | ( | TPZGeoMesh & | destmesh, |
const TPZGeoElMapped< TBase > & | copy, | ||
std::map< int64_t, int64_t > & | gl2lcNdIdx, | ||
std::map< int64_t, int64_t > & | gl2lcElIdx | ||
) |
Definition at line 81 of file tpzgeoelmapped.cpp.
|
inline |
Definition at line 61 of file tpzgeoelmapped.h.
References TPZGeoElMapped< TBase >::ClassId(), TPZGeoElMapped< TBase >::Clone(), and TPZGeoElMapped< TBase >::ClonePatchEl().
|
override |
Definition at line 612 of file tpzgeoelmapped.h.
References Hash().
Referenced by TPZGeoElMapped< TBase >::~TPZGeoElMapped().
|
overridevirtual |
Definition at line 51 of file tpzgeoelmapped.cpp.
Referenced by TPZGeoElMapped< TBase >::~TPZGeoElMapped().
|
overridevirtual |
Definition at line 66 of file tpzgeoelmapped.cpp.
Referenced by TPZGeoElMapped< TBase >::~TPZGeoElMapped().
|
inlineoverrideprivatevirtual |
Definition at line 489 of file tpzgeoelmapped.h.
References TPZGeoMesh::CreateGeoBlendElement(), TPZGeoEl::Initialize(), TPZGeoElSide::InsertConnectivity(), and TPZGeoEl::NSides().
|
overridevirtual |
Creates a geometric element according to the type of the father element.
Creates a geometric element according to the type of the father element
Definition at line 41 of file tpzgeoelmapped.cpp.
References TPZGeoMesh::CreateGeoElementMapped().
Referenced by TPZGeoElMapped< TBase >::IsGeoElMapped().
|
inlineoverride |
Return the Jacobian matrix at the point.
Return the Jacobian matrix at the point
Definition at line 305 of file tpzgeoelmapped.h.
References TPZGeoElMapped< TBase >::TGradX().
|
inlineoverridevirtual |
Returns if is a TPZGeoElMapped< T > element.
It is necessary due to the lack of dynamic cast for these elements
Definition at line 105 of file tpzgeoelmapped.h.
References TPZGeoElMapped< TBase >::CreateGeoElement().
|
inlineoverridevirtual |
Definition at line 599 of file tpzgeoelmapped.h.
References TPZGeoElSide::Element(), pzrefine::fatherside, and TPZGeoElSide::IsLinearMapping().
Referenced by TPZGeoElMapped< TBase >::Read().
|
inlinevirtual |
Avaliate the Jacobian 3D (3x3 size) by Expected Convergence Order.
Definition at line 382 of file tpzgeoelmapped.h.
References error(), TPZGeoElMapped< TBase >::fCornerCo, TPZFMatrix< TVar >::GetVal(), log, sqrt, and TPZGeoElMapped< TBase >::X().
|
inlineprivate |
Compute the map of the point ksi to the ancestor ksibar and the gradient of the ancestor ksibar with respect to ksi.
Definition at line 456 of file tpzgeoelmapped.h.
References TPZVec< T >::Fill(), TPZFMatrix< TVar >::GetVal(), TPZFMatrix< TVar >::Redim(), and Shape().
Referenced by TPZGeoElMapped< TBase >::KsiBar(), and TPZGeoElMapped< TBase >::TX().
|
inlineprivate |
Compute the map of the point ksi to the ancestor ksibar.
Definition at line 479 of file tpzgeoelmapped.h.
References TPZGeoElMapped< TBase >::KsiBar(), and TPZGeoElMapped< TBase >::TKsiBar().
|
inlineoverridevirtual |
Definition at line 374 of file tpzgeoelmapped.h.
References TPZGeoElMapped< TBase >::fCornerCo, and TPZMatrix< TVar >::Print().
|
inlineoverridevirtual |
Read the element data from a stream.
Definition at line 86 of file tpzgeoelmapped.h.
References TPZGeoElMapped< TBase >::fCornerCo, TPZGeoElMapped< TBase >::IsLinearMapping(), and TPZFNMatrix< N, TVar >::Read().
|
inlineoverridevirtual |
Sets the father element index.
Definition at line 118 of file tpzgeoelmapped.h.
References TPZTransform< T >::Apply(), TPZGeoEl::ComputeXInverse(), DebugStop, TPZGeoElSide::Element(), error(), TPZGeoEl::Father(), TPZGeoElSide::Father2(), pzrefine::fatherside, TPZGeoElMapped< TBase >::fCornerCo, LOGPZ_ERROR, TPZGeoEl::Mesh(), TPZTransform< T >::Multiply(), TPZVec< T >::NElements(), TPZGeoEl::NSides(), TPZGeoMesh::Print(), TPZGeoEl::Projection(), TPZGeoElSide::Side(), TPZGeoEl::SideToSideTransform(), sqrt, pzgeom::tol, TPZGeoEl::WhichSide(), TPZGeoEl::X(), and ZeroTolerance().
|
inlineprotected |
Creating Variables
Combining Variables
Definition at line 514 of file tpzgeoelmapped.h.
References TPZGeoEl::Dimension(), TPZGeoEl::Father(), TPZGeoEl::GradX(), LOGPZ_DEBUG, TPZMatrix< TVar >::Multiply(), TPZVec< T >::Print(), and TPZMatrix< TVar >::Print().
Referenced by TPZGeoElMapped< TBase >::GradX().
|
inlineprotected |
Compute the map of the point ksi to the ancestor ksibar.
Definition at line 579 of file tpzgeoelmapped.h.
References TPZVec< T >::Fill(), and TPZFMatrix< TVar >::GetVal().
Referenced by TPZGeoElMapped< TBase >::KsiBar().
|
inlineprotected |
Definition at line 552 of file tpzgeoelmapped.h.
References TPZGeoEl::Father(), TPZGeoElMapped< TBase >::KsiBar(), and TPZGeoEl::X().
Referenced by TPZGeoElMapped< TBase >::X().
|
inlineoverride |
Save the element data to a stream.
Definition at line 80 of file tpzgeoelmapped.h.
References TPZGeoElMapped< TBase >::fCornerCo, and TPZFNMatrix< N, TVar >::Write().
|
inlineoverride |
Returns the Jacobian matrix at the point (from son to father)
Returns the coordinate in real space of the point coordinate in the master element space
Definition at line 365 of file tpzgeoelmapped.h.
References TPZGeoElMapped< TBase >::TX().
Referenced by TPZGeoElMapped< TBase >::JacobianConv().
|
private |
Definition at line 452 of file tpzgeoelmapped.h.
Referenced by TPZGeoElMapped< TBase >::JacobianConv(), TPZGeoElMapped< TBase >::Print(), TPZGeoElMapped< TBase >::Read(), TPZGeoElMapped< TBase >::SetFatherIndex(), and TPZGeoElMapped< TBase >::Write().