NeoPZ
Modules | Classes | Macros | Enumerations | Functions
The Matrix classes

This module groups a collection of all matrix classes and solvers available in the PZ environment. More...

Collaboration diagram for The Matrix classes:

Modules

 The matrix utility classes
 Implements helper classes for matrices.
 

Classes

class  TPZBlockDiagonal< TVar >
 Defines block diagonal matrices. Matrix. More...
 
class  TPZFBMatrix< TVar >
 Defines a non symmetric banded matrix. Matrix. More...
 
class  TPZDiffMatrix< T >
 Matrix class to hold the flux derivatives A B C and diffusive matrix coefficients. Matrix. More...
 
class  TPZSpMatrix< TVar >
 Defines sparce matrix class. Matrix. More...
 
class  TPZFMatrix< TVar >
 Full matrix class. Matrix. More...
 
class  TPZFNMatrix< N, TVar >
 Non abstract class which implements full matrices with preallocated storage with (N+1) entries. Matrix. More...
 
class  TPZMatRed< TVar, TSideMatrix >
 Implements a simple substructuring of a linear system of equations, composed of 4 submatrices. Matrix. More...
 
class  TPZMatrix< TVar >
 Root matrix class (abstract). Matrix. More...
 
class  TPZSBMatrix< TVar >
 Implements symmetric band matrices. Matrix. More...
 
class  TPZSSpMatrix< TVar >
 Implements sparce symmetric matrix using a linked list of elements. Matrix. More...
 
class  TPZSFMatrix< TVar >
 Implements a symmetric full matrix. Matrix. More...
 
class  TPZGenMatrix< TObj >
 Implements generic class which holds a matrix of objects. Matrix. More...
 
class  TPZGenAMatrix< TObj >
 Implements a generic matrix of objects which implement arithmetic operations. Matrix. More...
 
class  TPZSkylMatrix< TVar >
 Implements a skyline storage format. A Skyline matrix is symmetric so square. Matrix. More...
 
class  TPZSkylParMatrix< TVar >
 Implements a skyline storage format to parallelized process. Matrix. More...
 
class  TPZSpBlockDiagPivot< TVar >
 Derivation using decompose LU with pivot. Matrix. More...
 
class  TPZStencilMatrix< TVar >
 Implements a sparse matrix defined by a stencil. Matrix. More...
 
class  TPZSYsmpMatrix< TVar >
 Implements a symmetric sparse matrix. Matrix. More...
 
class  TPZFYsmpMatrix< TVar >
 Implements a non symmetric sparse matrix (Yale Sparse Matrix Storage). Matrix. More...
 
class  TPZSparseBlockDiagonal< TVar >
 Implements a block diagonal matrix where the blocks are not contiguous. Matrix. More...
 
class  TPZVerySparseMatrix< TVar >
 Implements a matrix whose nonzero elements are stored in binary tree. Matrix. More...
 
class  TPZTransfer< TVar >
 Implements rectangular matrix which extends a solution vector of the coarse mesh to a solution vector in the fine mesh. Matrix. More...
 
class  TPZDohrMatrix< TVar, TSubStruct >
 Implements a matrix divided into substructures. Matrix Sub structure. More...
 

Macros

#define GETVAL(MAT, rows, row, col)
 MACRO to get MAT(row,col) entry. More...
 
#define PUTVAL(MAT, rows, row, col, val)
 MACRO to put value val into MAT(row,col) entry. More...
 
#define SELECTEL(ptr, rows, row, col)
 MACRO to get the entry of the vector (ptr[col*rows+row]) as matrix ( ptr(row,col) ) More...
 
#define TPZVERYSPARSEMATRIX_ID
 

Enumerations

enum  EStatus { EOk, EIncompDim, EZeroPivot }
 
enum  DecomposeType {
  ENoDecompose, ELU, ELUPivot, ECholesky,
  ELDLt
}
 Defines decomposition type for any matrix classes. More...
 
enum  MatrixOutputFormat {
  EFormatted, EInputFormat, EMathematicaInput, EMatlabNonZeros,
  EMatrixMarket
}
 Defines output format. More...
 

Functions

template<class TVar >
TVar Dot (const TPZFMatrix< TVar > &A, const TPZFMatrix< TVar > &B)
 Returns a dot product to matrices. More...
 
template<class TVar >
TVar Norm (const TPZFMatrix< TVar > &A)
 Returns the norm of the matrix A. More...
 

Detailed Description

This module groups a collection of all matrix classes and solvers available in the PZ environment.

Macro Definition Documentation

◆ GETVAL

#define GETVAL (   MAT,
  rows,
  row,
  col 
)

MACRO to get MAT(row,col) entry.

Definition at line 45 of file pzfmatrix.h.

Referenced by TPZFMatrix< STATE >::Substitution().

◆ PUTVAL

#define PUTVAL (   MAT,
  rows,
  row,
  col,
  val 
)

MACRO to put value val into MAT(row,col) entry.

Definition at line 47 of file pzfmatrix.h.

Referenced by TPZFMatrix< STATE >::Substitution().

◆ SELECTEL

#define SELECTEL (   ptr,
  rows,
  row,
  col 
)

MACRO to get the entry of the vector (ptr[col*rows+row]) as matrix ( ptr(row,col) )

Definition at line 49 of file pzfmatrix.h.

Referenced by TPZFMatrix< STATE >::PrintStatic(), and TPZFMatrix< STATE >::Substitution().

◆ TPZVERYSPARSEMATRIX_ID

#define TPZVERYSPARSEMATRIX_ID

Definition at line 14 of file tpzverysparsematrix.h.

Enumeration Type Documentation

◆ DecomposeType

Defines decomposition type for any matrix classes.

Parameters
ENoDecomposeNot decomposed
ELUDecomposed using LU method
ECholeskyDecomposed using Cholesky method
ELDLtDecomposed using LDLt method
Enumerator
ENoDecompose 
ELU 
ELUPivot 
ECholesky 
ELDLt 

Definition at line 52 of file pzmatrix.h.

◆ EStatus

enum EStatus
Enumerator
EOk 
EIncompDim 
EZeroPivot 

Definition at line 17 of file pzdiffmatrix.h.

◆ MatrixOutputFormat

Defines output format.

Enumerator
EFormatted 
EInputFormat 
EMathematicaInput 
EMatlabNonZeros 
EMatrixMarket 

Definition at line 55 of file pzmatrix.h.

Function Documentation

◆ Dot()

template<class TVar >
TVar Dot ( const TPZFMatrix< TVar > &  A,
const TPZFMatrix< TVar > &  B 
)

Returns a dot product to matrices.

Returns a dot product to matrices.

Definition at line 2083 of file pzfmatrix.cpp.

References TPZMatrix< TVar >::Cols(), Dot(), TPZFMatrix< TVar >::g(), and TPZMatrix< TVar >::Rows().

Referenced by BiCG(), BiCGSTAB(), CG(), TPZTensor< STATE >::ComputeEigenvector0(), Dot(), GMRES(), and Norm().

◆ Norm()

template<class TVar >
TVar Norm ( const TPZFMatrix< TVar > &  A)

Returns the norm of the matrix A.

Referenced by TPZPoroElastoPlasticAnalysis::AcceptSolution(), TPZElastoPlasticAnalysis::AcceptSolution(), TPZConnect::AddDependency(), TPZPlasticStepPV< YC_t, ER_t >::ApplyLoad(), TPZStructMatrixGCTP::Assemble(), TPZStructMatrixGC::Assemble(), TPZStructMatrixST::Assemble(), TPZStructMatrixTBBFlow::Assemble(), TPZStructMatrixCS::Assemble(), TPZStructMatrixOT::Assemble(), TPZStructMatrixOR::Assemble(), BiCG(), BiCGSTAB(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZCompElDisc::BuildTransferMatrix(), TPZCompElPostProc< TCOMPEL >::CalcResidual(), TPZCondensedCompEl::CalcStiff(), CG(), CheckConvergence(), TPZMatElastoPlastic< T, TMEM >::CheckConvergence(), TPZPlasticDiagnostic::CheckGlobal(), pzgeom::TPZArc3D::ComputeAtributes(), TPZSBFemVolume::ComputeKMatrices(), TPZPorousElasticResponse::ComputeStrain(), TPZPlasticTest::ComputeTangent(), TPZGeoEl::ComputeXInverse(), TPZRefPatternTools::ConstJacobian(), TPZMixedDarcyFlow::Contribute(), TPZMixedDarcyFlow::ContributeBC(), TPZSwelling::ContributeBC(), TPZMatRed< TTVar, TPZFMatrix< TTVar > >::DecomposeK00(), TPZEulerAnalysis::EvaluateFluxEpsilon(), GMRES(), pzgeom::TPZTriangleSphere< GeomTriang >::GradX(), IR(), TPZElastoPlasticAnalysis::IterativeProcess(), TPZNonLinearAnalysis::IterativeProcess(), TPZElastoPlasticAnalysis::IterativeProcessPrecomputedMatrix(), TPZElastoPlasticAnalysis::LineSearch(), TPZNonLinearAnalysis::LineSearch(), TPZEulerAnalysis::LineSearch(), TPZCondensedCompEl::LoadSolution(), Norm(), TPZMatRed< TTVar, TPZFMatrix< TTVar > >::Print(), TPZSandlerExtended::ProjectBetaConstF2(), TPZSandlerExtended::ProjectCapCoVertex(), TPZSandlerExtended::ProjectCoVertex(), TPZSandlerExtended::ProjectF1(), TPZSandlerExtended::ProjectF2(), TPZSandlerExtended::ProjectRing(), TPZYCCamClayPV::ProjectToSurface(), TPZYCCamClayPV::ProjectToSurfaceConstantBeta(), TPZYCDruckerPragerPV::ProjectToSurfaceF1(), PYBIND11_MODULE(), TPZTransientAnalysis< TRANSIENTCLASS >::RunExplicit(), TPZEulerAnalysis::RunNewton(), TPZTransientAnalysis< TRANSIENTCLASS >::RunTransient(), TPZStructMatrixOR::Serial_Assemble(), pzgeom::TPZEllipse3D::SetAxes(), pzgeom::TPZCylinderMap< TGeo >::SetCylinderAxis(), TPZFMatrix< STATE >::SetSize(), TPZNonLinMultGridAnalysis::SmoothingSolution(), TPZNonLinMultGridAnalysis::SmoothingSolution2(), TPZMixedDarcyFlow::Solution(), TPZNonLinearAnalysis::SolutionNorm(), TPZMGAnalysis::Solve(), TPZMGSolver< TVar >::Solve(), TPZAnalysis::Solve(), TPZFYsmpMatrix< TVar >::SolveJacobi(), TPZMatrix< STATE >::SolveJacobi(), TPZMatrix< STATE >::SolveSOR(), TPZSkylMatrix< TVar >::SolveSOR(), TPZSandlerExtended::TaylorCheckDDistF1(), TPZSandlerExtended::TaylorCheckDDistF1DSigtrial(), TPZSandlerExtended::TaylorCheckDDistF2(), TPZSandlerExtended::TaylorCheckDDistF2DSigtrial(), TPZSandlerExtended::TaylorCheckDF1Cart(), TPZSandlerExtended::TaylorCheckDF2Cart(), TPZSandlerExtended::TaylorCheckDtbkDsigtrial(), TPZSandlerExtended::TaylorCheckParamF1Sigtrial(), TPZSandlerExtended::TaylorCheckProjectF1(), TPZSandlerExtended::TaylorCheckProjectF2(), TPZSandlerExtended::TaylorCheckProjectSigma(), TPZCheckConvergence(), TPZNonLinMultGridAnalysis::TwoGridAlgorithm(), and TPZEulerAnalysis::UpdateSolAndRhs().