The Solver hierarchy

Table of Contents

TPZSolver

The TPZSolver defines the hierarchy of solvers to be used.

Note

Since the availability of a given solver might depend on the chosen matrix storage format, the choice of solver is directly connected with the choice of Available Structural Matrices. Currently this only applies for the class TPZPardisoSolver, which is only compatible with sparse matrix storage.

The NeoPZ solvers can be divided in two main groups: the TPZMatrixSolver hierarchy, for solving algebraic equation systems, and the TPZEigenSolver hierarchy that implements solvers for eigenvalue problems.

class TPZSolver : public TPZSavable

Defines a abstract class of solvers which will be used by matrix classes.

Subclassed by TPZEigenSolver< TVar >, TPZMatrixSolver< TVar >

Public Functions

virtual int ClassId() const override

Defines the ClassId of TPZSolver class.

virtual TPZSolver *Clone() const = 0

Clones the current object returning a pointer of type TPZSolver.

virtual ~TPZSolver() = default

Destructor.

virtual void ResetMatrix() = 0

Resets the matrix associated with the solver. This is useful when the matrix needs to be recomputed in a non linear problem