NeoPZ
|
Implements an affine transformation between points in parameter space. Topology Utility. More...
#include <pzmganalysis.h>
Public Member Functions | |
TPZTransform (int dim) | |
Storage the matrix objects use to avoid. More... | |
TPZTransform () | |
Default constructor. More... | |
TPZTransform (int fRow, int fCol) | |
Constructor of the transformation with rectangular matrix. More... | |
TPZTransform (const TPZTransform< T > &tr) | |
Copy constructor. More... | |
~TPZTransform () | |
Default destructor. More... | |
TPZTransform< T > & | operator= (const TPZTransform< T > &t) |
Overloading equal operator for transformation. More... | |
void | CopyFrom (const TPZTransform< REAL > &cp) |
Create a copy form a real transformation. More... | |
const TPZFMatrix< T > & | Mult () const |
const TPZFMatrix< T > & | Sum () const |
TPZFMatrix< T > & | Mult () |
TPZFMatrix< T > & | Sum () |
void | SetMatrix (TPZFMatrix< T > &mult, TPZFMatrix< T > &sum) |
Sets the transformation matrices. More... | |
TPZTransform< T > | Multiply (TPZTransform< T > &right) |
Multiply the transformation object (to the right) with right (Multiplying matrices) More... | |
void | Apply (TPZVec< T > &vectorin, TPZVec< T > &vectorout) |
Transforms the vector. More... | |
void | PrintInputForm (std::ostream &out) |
int | CompareTransform (TPZTransform< T > &t, REAL tol=1.e-6) |
Compare the current transformation with t transformation considering a given tolerance. More... | |
int | ClassId () const override |
Define the class id associated with the class. More... | |
void | Read (TPZStream &buf, void *context) override |
read objects from the stream More... | |
void | Write (TPZStream &buf, int withclassid) const override |
Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More... | |
Public Member Functions inherited from TPZSavable | |
TPZSavable () | |
virtual | ~TPZSavable () |
virtual std::list< std::map< std::string, uint64_t > > | VersionHistory () const |
virtual std::pair< std::string, uint64_t > | Version () const |
virtual bool | Compare (TPZSavable *copy, bool override=false) |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
virtual bool | Compare (TPZSavable *copy, bool override=false) const |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
Public Member Functions inherited from TPZRegisterClassId | |
template<typename T > | |
TPZRegisterClassId (int(T::*)() const) | |
TPZRegisterClassId ()=default | |
Private Attributes | |
int | fRow |
Number of rows of the matrix associated with the transformation. More... | |
int | fCol |
Number of columns of the matrix associated with the transformation. More... | |
TPZFNMatrix< 9, T > | fMult |
Matrix used by multiplications. More... | |
TPZFNMatrix< 3, T > | fSum |
Matrix used by sums. More... | |
Friends | |
class | TPZTransform< REAL > |
Rows of transformation matrix. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from TPZSavable | |
static std::set< TPZRestoreClassBase * > & | RestoreClassSet () |
This static function guarantees that the gMap object is available when needed. More... | |
static std::map< int, TPZRestore_t > & | ClassIdMap () |
This static function guarantees that the gMap object is available when needed. More... | |
static std::pair< std::string, uint64_t > | NeoPZVersion () |
static void | Register (TPZRestoreClassBase *restore) |
static void | RegisterClassId (int classid, TPZRestore_t fun) |
static TPZSavable * | CreateInstance (const int &classId) |
Implements an affine transformation between points in parameter space. Topology Utility.
Definition at line 14 of file pzmganalysis.h.
TPZTransform< T >::TPZTransform | ( | int | dim | ) |
Storage the matrix objects use to avoid.
Constructor of the transformation with square matrix
Definition at line 16 of file pztrnsform.cpp.
References TPZTransform< T >::fCol, TPZTransform< T >::fMult, TPZTransform< T >::fRow, TPZTransform< T >::fSum, and TPZFMatrix< TVar >::Zero().
TPZTransform< T >::TPZTransform | ( | ) |
Default constructor.
Definition at line 31 of file pztrnsform.cpp.
References TPZTransform< T >::fCol, and TPZTransform< T >::fRow.
TPZTransform< T >::TPZTransform | ( | int | fRow, |
int | fCol | ||
) |
Constructor of the transformation with rectangular matrix.
Definition at line 40 of file pztrnsform.cpp.
References TPZTransform< T >::fCol, TPZTransform< T >::fMult, TPZTransform< T >::fRow, TPZTransform< T >::fSum, and TPZFMatrix< TVar >::Zero().
TPZTransform< T >::TPZTransform | ( | const TPZTransform< T > & | tr | ) |
Copy constructor.
Definition at line 54 of file pztrnsform.cpp.
References TPZTransform< T >::fCol, and TPZTransform< T >::fRow.
TPZTransform< T >::~TPZTransform | ( | ) |
Default destructor.
Definition at line 79 of file pztrnsform.cpp.
References TPZTransform< T >::fCol, TPZTransform< T >::fMult, TPZTransform< T >::fRow, TPZTransform< T >::fSum, and TPZFMatrix< TVar >::Resize().
void TPZTransform< T >::Apply | ( | TPZVec< T > & | vectorin, |
TPZVec< T > & | vectorout | ||
) |
Transforms the vector.
Definition at line 121 of file pztrnsform.cpp.
References DebugStop, TPZTransform< T >::fCol, TPZTransform< T >::fMult, TPZTransform< T >::fRow, TPZTransform< T >::fSum, and TPZVec< T >::size().
Referenced by TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZInterfaceElement::CalcResidual(), TPZInterfaceElement::CalcStiff(), TPZGeoElSide::CenterPoint(), CheckElement(), TPZInterpolatedElement::CheckElementConsistency(), TPZCheckGeom::CheckNeighbourMap(), TPZCheckGeom::CheckSideTransform(), TPZCheckGeom::CheckSubFatherTransform(), CompareFluxes(), TPZInterfaceElement::ComputeErrorFace(), TPZGeoEl::ComputeParamTrans(), TPZRefPattern::ComputeParamTransform(), TPZGeoEl::ComputeXInverse(), TPZRefPatternTools::DragModelPatNodes(), TPZMGAnalysis::ElementError(), TPZGeoElSide::GradX(), TPZInterpolationSpace::IntegrateSolution(), TPZInterpolationSpace::InterpolateSolution(), TPZGeoElSide::Jacobian(), TPZInterfaceElement::MapQsi(), pzgeom::TPZGeoBlend< TGeo >::MapToNeighSide(), pztopology::Pr< TFather >::MapToSide(), pztopology::TPZCube::MapToSide(), pztopology::TPZLine::MapToSide(), pztopology::TPZQuadrilateral::MapToSide(), TPZRefPatternTools::PairMeshesCornerNodesMatchingCoordinates(), TPZRefPatternTools::PairMeshesNodesMatchingCoordinates(), ProjectBissectionInParametricDomain(), ProjectInParametricDomain(), TPZGeoEl::ProjectPoint(), TPZGeoElSide::QsiElement(), TPZGeoElMapped< TBase >::SetFatherIndex(), Shape(), TPZMultiphysicsInterfaceElement::Solution(), TPZTransform< T >::Sum(), TPZRefPatternTools::TransformationTest(), TPZGeoEl::TransformSonToFather(), and TPZGeoEl::WhichSide().
|
inlineoverridevirtual |
Define the class id associated with the class.
This id has to be unique for all classes A non unique id is flagged at the startup of the program
Implements TPZSavable.
Definition at line 86 of file pztrnsform.h.
References Hash().
int TPZTransform< T >::CompareTransform | ( | TPZTransform< T > & | t, |
REAL | tol = 1.e-6 |
||
) |
Compare the current transformation with t transformation considering a given tolerance.
Definition at line 163 of file pztrnsform.cpp.
References fabs, TPZTransform< T >::fCol, TPZTransform< T >::fMult, TPZTransform< T >::fRow, and TPZTransform< T >::fSum.
Referenced by TPZCheckRestraint::CheckRestraint(), TPZCheckGeom::CheckSubFatherTransform(), TPZRefPattern::FindRefPattern(), and TPZTransform< T >::Sum().
void TPZTransform< T >::CopyFrom | ( | const TPZTransform< REAL > & | cp | ) |
Create a copy form a real transformation.
Definition at line 62 of file pztrnsform.cpp.
References TPZTransform< T >::fCol, TPZTransform< T >::fMult, TPZTransform< T >::fRow, TPZTransform< T >::fSum, TPZFMatrix< TVar >::GetVal(), and TPZFMatrix< TVar >::Resize().
Referenced by TPZGeoElSide::GradX(), pztopology::TPZCube::MapToSide(), pztopology::TPZLine::MapToSide(), pztopology::TPZQuadrilateral::MapToSide(), and pzgeom::TPZGeoBlend< TGeo >::TransfBetweenNeigh().
|
inline |
Definition at line 64 of file pztrnsform.h.
References TPZTransform< T >::fMult.
Referenced by TPZInterpolatedElement::CompareShapeF(), GetSideTransform(), pzrefine::TPZRefTriangle::GetTransform(), pzrefine::TPZRefQuad::GetTransform(), pzrefine::TPZRefPyramid::GetTransform(), pzrefine::TPZRefCube::GetTransform(), pzrefine::TPZRefLinear::GetTransform(), pzrefine::TPZRefPrism::GetTransform(), pzrefine::TPZRefTetrahedra::GetTransform(), TPZGeoElSide::GradX(), TPZGeoElSide::Jacobian(), pzgeom::TPZGeoBlend< TGeo >::MapToNeighSide(), pztopology::Pr< TFather >::MapToSide(), pztopology::TPZCube::MapToSide(), pztopology::TPZLine::MapToSide(), pztopology::TPZQuadrilateral::MapToSide(), TPZGeoElSide::NeighbourSideTransform(), pzshape::TPZShapeTriang::ParametricTransform(), pzshape::TPZShapeQuad::ParametricTransform(), pzshape::TPZShapeLinear::ParametricTransform(), PYBIND11_MODULE(), Shape(), pztopology::TPZPyramid::SideToSideTransform(), pztopology::TPZCube::SideToSideTransform(), pztopology::TPZLine::SideToSideTransform(), pztopology::TPZPrism::SideToSideTransform(), pztopology::TPZTetrahedron::SideToSideTransform(), pztopology::TPZTriangle::SideToSideTransform(), pztopology::TPZQuadrilateral::SideToSideTransform(), pztopology::Pr< TFather >::TransformElementToSide(), pztopology::TPZPyramid::TransformElementToSide(), pztopology::TPZCube::TransformElementToSide(), pztopology::TPZPrism::TransformElementToSide(), pztopology::TPZLine::TransformElementToSide(), pztopology::TPZTetrahedron::TransformElementToSide(), pztopology::TPZTriangle::TransformElementToSide(), pztopology::TPZQuadrilateral::TransformElementToSide(), pztopology::Pr< TFather >::TransformSideToElement(), pztopology::TPZPyramid::TransformSideToElement(), pztopology::TPZCube::TransformSideToElement(), pztopology::TPZLine::TransformSideToElement(), pztopology::TPZPrism::TransformSideToElement(), pztopology::TPZTetrahedron::TransformSideToElement(), pztopology::TPZTriangle::TransformSideToElement(), and pztopology::TPZQuadrilateral::TransformSideToElement().
|
inline |
Definition at line 68 of file pztrnsform.h.
References TPZTransform< T >::fMult.
TPZTransform< T > TPZTransform< T >::Multiply | ( | TPZTransform< T > & | right | ) |
Multiply the transformation object (to the right) with right (Multiplying matrices)
Definition at line 112 of file pztrnsform.cpp.
References TPZTransform< T >::fCol, TPZTransform< T >::fMult, TPZTransform< T >::fRow, TPZTransform< T >::fSum, TPZMatrix< TVar >::Multiply(), and test::res.
Referenced by TPZGeoElRefLess< TGeo >::BuildTransform2(), TPZMultiphysicsInterfaceElement::CalcStiff(), TPZSBFemVolume::ComputeKMatrices(), TPZInterfaceElement::ComputeSideTransform(), TPZMultiphysicsInterfaceElement::ComputeSideTransform(), TPZInterpolationSpace::IntegrateSolution(), TPZGeoEl::Projection(), TPZGeoElMapped< TBase >::SetFatherIndex(), pztopology::Pr< TFather >::SideToSideTransform(), TPZGeoElSide::SideTransform3(), and TPZTransform< T >::Sum().
TPZTransform< T > & TPZTransform< T >::operator= | ( | const TPZTransform< T > & | t | ) |
Overloading equal operator for transformation.
Definition at line 87 of file pztrnsform.cpp.
References TPZTransform< T >::fCol, TPZTransform< T >::fMult, TPZTransform< T >::fRow, and TPZTransform< T >::fSum.
void TPZTransform< T >::PrintInputForm | ( | std::ostream & | out | ) |
Definition at line 140 of file pztrnsform.cpp.
References TPZTransform< T >::fCol, TPZTransform< T >::fMult, TPZTransform< T >::fRow, and TPZTransform< T >::fSum.
Referenced by TPZCheckGeom::CheckSubFatherTransform(), and TPZTransform< T >::Sum().
|
inlineoverridevirtual |
read objects from the stream
Reimplemented from TPZSavable.
Definition at line 90 of file pztrnsform.h.
References TPZStream::Read(), and TPZFNMatrix< N, TVar >::Read().
Referenced by pzgeom::TPZGeoBlend< TGeo >::Read(), and TPZRefPattern::Read().
void TPZTransform< T >::SetMatrix | ( | TPZFMatrix< T > & | mult, |
TPZFMatrix< T > & | sum | ||
) |
Sets the transformation matrices.
Definition at line 96 of file pztrnsform.cpp.
References TPZMatrix< TVar >::Cols(), DebugStop, TPZTransform< T >::fCol, TPZTransform< T >::fMult, TPZTransform< T >::fRow, TPZTransform< T >::fSum, and TPZMatrix< TVar >::Rows().
Referenced by TPZGeoEl::ComputeParamTrans(), TPZRefPattern::ComputeParamTransform(), and TPZTransform< T >::Sum().
|
inline |
Definition at line 66 of file pztrnsform.h.
References TPZTransform< T >::fSum.
Referenced by GetSideTransform(), pzrefine::TPZRefTriangle::GetTransform(), pzrefine::TPZRefCube::GetTransform(), pzrefine::TPZRefLinear::GetTransform(), pzrefine::TPZRefPyramid::GetTransform(), pzrefine::TPZRefQuad::GetTransform(), pzrefine::TPZRefPrism::GetTransform(), pzrefine::TPZRefTetrahedra::GetTransform(), TPZGeoElSide::NeighbourSideTransform(), pzshape::TPZShapeTriang::ParametricTransform(), PYBIND11_MODULE(), pztopology::TPZPyramid::SideToSideTransform(), pztopology::TPZCube::SideToSideTransform(), pztopology::TPZLine::SideToSideTransform(), pztopology::TPZPrism::SideToSideTransform(), pztopology::TPZTetrahedron::SideToSideTransform(), pztopology::TPZTriangle::SideToSideTransform(), pztopology::TPZQuadrilateral::SideToSideTransform(), pztopology::Pr< TFather >::TransformElementToSide(), pztopology::TPZPyramid::TransformElementToSide(), pztopology::TPZCube::TransformElementToSide(), pztopology::TPZPrism::TransformElementToSide(), pztopology::TPZLine::TransformElementToSide(), pztopology::TPZTetrahedron::TransformElementToSide(), pztopology::TPZTriangle::TransformElementToSide(), pztopology::TPZQuadrilateral::TransformElementToSide(), pztopology::Pr< TFather >::TransformSideToElement(), pztopology::TPZPyramid::TransformSideToElement(), pztopology::TPZCube::TransformSideToElement(), pztopology::TPZLine::TransformSideToElement(), pztopology::TPZPrism::TransformSideToElement(), pztopology::TPZTetrahedron::TransformSideToElement(), pztopology::TPZTriangle::TransformSideToElement(), and pztopology::TPZQuadrilateral::TransformSideToElement().
|
inline |
Definition at line 70 of file pztrnsform.h.
References TPZTransform< T >::Apply(), TPZTransform< T >::CompareTransform(), TPZTransform< T >::fSum, TPZTransform< T >::Multiply(), TPZTransform< T >::PrintInputForm(), TPZTransform< T >::SetMatrix(), and pzgeom::tol.
|
inlineoverridevirtual |
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
Writes this object to the TPZStream buffer. Include the classid if withclassid = true
Reimplemented from TPZSavable.
Definition at line 97 of file pztrnsform.h.
References TPZStream::Write(), and TPZFNMatrix< N, TVar >::Write().
Referenced by pzgeom::TPZGeoBlend< TGeo >::Write().
|
friend |
Rows of transformation matrix.
Cols of transformation matrix
Definition at line 52 of file pztrnsform.h.
|
private |
Number of columns of the matrix associated with the transformation.
Definition at line 27 of file pztrnsform.h.
Referenced by TPZTransform< T >::Apply(), TPZTransform< T >::CompareTransform(), TPZTransform< T >::CopyFrom(), TPZTransform< T >::Multiply(), TPZTransform< T >::operator=(), TPZTransform< T >::PrintInputForm(), TPZTransform< T >::SetMatrix(), TPZTransform< T >::TPZTransform(), and TPZTransform< T >::~TPZTransform().
|
private |
Matrix used by multiplications.
Definition at line 29 of file pztrnsform.h.
Referenced by TPZTransform< T >::Apply(), TPZTransform< T >::CompareTransform(), TPZTransform< T >::CopyFrom(), TPZTransform< T >::Mult(), TPZTransform< T >::Multiply(), TPZTransform< T >::operator=(), TPZTransform< T >::PrintInputForm(), TPZTransform< T >::SetMatrix(), TPZTransform< T >::TPZTransform(), and TPZTransform< T >::~TPZTransform().
|
private |
Number of rows of the matrix associated with the transformation.
Definition at line 25 of file pztrnsform.h.
Referenced by TPZTransform< T >::Apply(), TPZTransform< T >::CompareTransform(), TPZTransform< T >::CopyFrom(), TPZTransform< T >::Multiply(), TPZTransform< T >::operator=(), TPZTransform< T >::PrintInputForm(), TPZTransform< T >::SetMatrix(), TPZTransform< T >::TPZTransform(), and TPZTransform< T >::~TPZTransform().
|
private |
Matrix used by sums.
Definition at line 31 of file pztrnsform.h.
Referenced by TPZTransform< T >::Apply(), TPZTransform< T >::CompareTransform(), TPZTransform< T >::CopyFrom(), TPZTransform< T >::Multiply(), TPZTransform< T >::operator=(), TPZTransform< T >::PrintInputForm(), TPZTransform< T >::SetMatrix(), TPZTransform< T >::Sum(), TPZTransform< T >::TPZTransform(), and TPZTransform< T >::~TPZTransform().