20#ifndef dealiiLinearSolverProblem_H_
21# define dealiiLinearSolverProblem_H_
68 const double omega)
const = 0;
81 const std::string & identifier =
"")
const = 0;
87 const std::string & identifier =
"")
const = 0;
virtual void vmult(distributedCPUVec< double > &Ax, distributedCPUVec< double > &x)=0
Compute A matrix multipled by x.
virtual void precondition_Jacobi(distributedCPUVec< double > &dst, const distributedCPUVec< double > &src, const double omega) const =0
Jacobi preconditioning function.
virtual void unsubscribe(std::atomic< bool > *const validity, const std::string &identifier="") const =0
virtual void computeRhs(distributedCPUVec< double > &rhs)=0
Compute right hand side vector for the problem Ax = rhs.
virtual void distributeX()=0
distribute x to the constrained nodes.
virtual distributedCPUVec< double > & getX()=0
get the reference to x field
dealii::types::global_dof_index size_type
typedef declaration needed by dealii
Definition dealiiLinearSolverProblem.h:96
dealiiLinearSolverProblem()
Constructor.
virtual bool operator!=(double val) const =0
function needed by dealii to mimic SparseMatrix
virtual void subscribe(std::atomic< bool > *const validity, const std::string &identifier="") const =0
Definition pseudoPotentialToDftfeConverter.cc:34
dealii::LinearAlgebra::distributed::Vector< elem_type, dealii::MemorySpace::Host > distributedCPUVec
Definition headers.h:92