NeoPZ
Public Member Functions | Static Public Member Functions | List of all members
TPZAxesTools< TVar > Class Template Reference

Implements method to verify whether axes is an orthogonal normalizes matrix and to transformation from given axes to euclidian basis and viceverse. Utility. More...

#include <pzaxestools.h>

Public Member Functions

 TPZAxesTools ()
 simple constructor More...
 
 ~TPZAxesTools ()
 destructor More...
 

Static Public Member Functions

static void VerifyAxes (const TPZFMatrix< TVar > &axes)
 Verify whether parameter axes is an orthogonal normalized matrix. More...
 
static void Axes2XYZ (const TPZFMatrix< TVar > &dudaxes, TPZFMatrix< TVar > &dudx, const TPZFMatrix< REAL > &axesv, bool colMajor=true)
 Makes the basis transformation from axes basis to euclidian basis. More...
 
static void XYZ2Axes (TPZFMatrix< TVar > &dudaxes, const TPZFMatrix< TVar > &dudx, const TPZFMatrix< REAL > &axes, bool colMajor=true)
 Makes the basis transformation from euclidian basis to axes basis. More...
 
static TVar ComputeDetjac (TPZFMatrix< TVar > &gradx)
 
static void ComputeGradX (TPZFMatrix< TVar > &jac, TPZFMatrix< TVar > &axes, TPZFMatrix< TVar > &gradx)
 Compute GradX as a function of jac and axes. More...
 
static int main ()
 

Detailed Description

template<class TVar>
class TPZAxesTools< TVar >

Implements method to verify whether axes is an orthogonal normalizes matrix and to transformation from given axes to euclidian basis and viceverse. Utility.

Definition at line 18 of file pzaxestools.h.

Constructor & Destructor Documentation

◆ TPZAxesTools()

template<class TVar >
TPZAxesTools< TVar >::TPZAxesTools ( )
inline

simple constructor

Definition at line 21 of file pzaxestools.h.

◆ ~TPZAxesTools()

template<class TVar >
TPZAxesTools< TVar >::~TPZAxesTools ( )
inline

destructor

Definition at line 23 of file pzaxestools.h.

Member Function Documentation

◆ Axes2XYZ()

template<class TVar >
static void TPZAxesTools< TVar >::Axes2XYZ ( const TPZFMatrix< TVar > &  dudaxes,
TPZFMatrix< TVar > &  dudx,
const TPZFMatrix< REAL > &  axesv,
bool  colMajor = true 
)
inlinestatic

Makes the basis transformation from axes basis to euclidian basis.

Parameters
dudxOutput matrix
dudaxesInput matrix
axesvMust be an orthogonal normalized matrix. Axes vectors are written in rows.
colMajorIf true, dudaxes is stored as a column-major matrix. Else, row-major.

Definition at line 61 of file pzaxestools.h.

References TPZMatrix< TVar >::Cols(), TPZFMatrix< TVar >::GetVal(), TPZMatrix< TVar >::Multiply(), TPZFMatrix< TVar >::Redim(), TPZFMatrix< TVar >::Resize(), TPZMatrix< TVar >::Rows(), TPZFMatrix< TVar >::Transpose(), TPZAxesTools< TVar >::VerifyAxes(), and TPZFMatrix< TVar >::Zero().

Referenced by TPZMixedElasticityMaterial::ComputeDivergenceOnDeformed(), TPZCompElHDiv< TSHAPE >::ComputeSolutionHDiv(), TPZLinearConvecDiff::Contribute(), TPZSpaceTimeRichardsEq::Contribute(), TPZElasticity3D::Contribute(), TPZMixedPoisson::Contribute(), TPZMatMixedPoisson3D::Contribute(), TPZMatElasticity2D::Contribute(), TPZMatDualHybridPoisson::ContributeInterface(), TPZMatConvectionProblem::ContributeInterface(), TPZMatLaplacian::ContributeInterface(), TPZMatPoisson3d::ContributeInterface(), TPZMatElasticity2D::ContributeVec(), TPZMatDualHybridPoisson::Errors(), TPZElasticityAxiMaterial::Errors(), TPZL2Projection::Errors(), TPZElasticity3D::Errors(), TPZElasticityMaterial::Errors(), TPZMatElasticity2D::Errors(), TPZMatLaplacian::Errors(), TPZAxesTools< TVar >::main(), TPZLinearConvecDiff::Solution(), TPZMatDualHybridPoisson::Solution(), TPZElasticity3D::Solution(), TPZMixedPoisson::Solution(), TPZMatConvectionProblem::Solution(), TPZMatLaplacian::Solution(), TPZMatPoisson3d::Solution(), and TPZMatMixedPoisson3D::Solution().

◆ ComputeDetjac()

template<class TVar >
static TVar TPZAxesTools< TVar >::ComputeDetjac ( TPZFMatrix< TVar > &  gradx)
inlinestatic

◆ ComputeGradX()

template<class TVar >
static void TPZAxesTools< TVar >::ComputeGradX ( TPZFMatrix< TVar > &  jac,
TPZFMatrix< TVar > &  axes,
TPZFMatrix< TVar > &  gradx 
)
inlinestatic

Compute GradX as a function of jac and axes.

Definition at line 132 of file pzaxestools.h.

References TPZFMatrix< TVar >::Redim(), and TPZMatrix< TVar >::Rows().

◆ main()

template<class TVar >
static int TPZAxesTools< TVar >::main ( )
inlinestatic

◆ VerifyAxes()

template<class TVar >
static void TPZAxesTools< TVar >::VerifyAxes ( const TPZFMatrix< TVar > &  axes)
inlinestatic

Verify whether parameter axes is an orthogonal normalized matrix.

Parameters
axesObject to check if it is a orthogonal and normalized matrix

Definition at line 29 of file pzaxestools.h.

References TPZMatrix< TVar >::Cols(), TPZFMatrix< TVar >::GetVal(), IsZero(), TPZMatrix< TVar >::Print(), PZError, and TPZMatrix< TVar >::Rows().

Referenced by TPZAxesTools< TVar >::Axes2XYZ(), TPZFMatrix< STATE >::GramSchmidt(), and TPZAxesTools< TVar >::XYZ2Axes().

◆ XYZ2Axes()

template<class TVar >
static void TPZAxesTools< TVar >::XYZ2Axes ( TPZFMatrix< TVar > &  dudaxes,
const TPZFMatrix< TVar > &  dudx,
const TPZFMatrix< REAL > &  axes,
bool  colMajor = true 
)
inlinestatic

Makes the basis transformation from euclidian basis to axes basis.

Parameters
dudaxesInput matrix
dudxOutput matrix
axesmust be an orthogonal normalized matrix. Axes vectors are written in rows.
colMajorIf true, dudaxes is stored as a column-major matrix. Else, row-major.

Definition at line 95 of file pzaxestools.h.

References TPZMatrix< TVar >::Cols(), TPZMatrix< TVar >::Multiply(), TPZFMatrix< TVar >::Resize(), TPZMatrix< TVar >::Rows(), TPZFMatrix< TVar >::Transpose(), TPZAxesTools< TVar >::VerifyAxes(), and TPZFMatrix< TVar >::Zero().

Referenced by TPZAxesTools< TVar >::main().


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