NeoPZ
|
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 () |
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.
|
inline |
simple constructor
Definition at line 21 of file pzaxestools.h.
|
inline |
destructor
Definition at line 23 of file pzaxestools.h.
|
inlinestatic |
Makes the basis transformation from axes basis to euclidian basis.
dudx | Output matrix |
dudaxes | Input matrix |
axesv | Must be an orthogonal normalized matrix. Axes vectors are written in rows. |
colMajor | If 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().
|
inlinestatic |
Definition at line 111 of file pzaxestools.h.
References TPZMatrix< TVar >::Cols(), and DebugStop.
Referenced by pztopology::TPZPyramid::AdjustTopDirections(), pztopology::TPZPrism::ComputeDirections(), pztopology::TPZPyramid::ComputeDirections(), pztopology::TPZTetrahedron::ComputeDirections(), pztopology::TPZQuadrilateral::ComputeDirections(), pztopology::computedirectionsC(), pztopology::TPZLine::ComputeHDivDirections(), and pztopology::TPZTriangle::GetSideHDivPermutation().
|
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().
|
inlinestatic |
Test code
Definition at line 146 of file pzaxestools.h.
References TPZAxesTools< TVar >::Axes2XYZ(), TPZMatrix< TVar >::Print(), sqrt, and TPZAxesTools< TVar >::XYZ2Axes().
|
inlinestatic |
Verify whether parameter axes is an orthogonal normalized matrix.
axes | Object 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().
|
inlinestatic |
Makes the basis transformation from euclidian basis to axes basis.
dudaxes | Input matrix |
dudx | Output matrix |
axes | must be an orthogonal normalized matrix. Axes vectors are written in rows. |
colMajor | If 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().