DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
dftfe::MultiVectorLinearSolverProblem< memorySpace > Class Template Referenceabstract

#include <MultiVectorLinearSolverProblem.h>

Inheritance diagram for dftfe::MultiVectorLinearSolverProblem< memorySpace >:
dftfe::MultiVectorPoissonLinearSolverProblem< memorySpace >

Public Member Functions

virtual dftfe::linearAlgebra::MultiVector< double, memorySpace > & computeRhs (dftfe::linearAlgebra::MultiVector< double, memorySpace > &NDBCVec, dftfe::linearAlgebra::MultiVector< double, memorySpace > &outputVec, unsigned int blockSizeInput)=0
 Compute right hand side vector for the problem Ax = rhs.
 
virtual void vmult (dftfe::linearAlgebra::MultiVector< double, memorySpace > &Ax, dftfe::linearAlgebra::MultiVector< double, memorySpace > &x, unsigned int blockSize)=0
 Compute A matrix multipled by x.
 
virtual void distributeX ()=0
 Apply the constraints to the solution vector.
 
virtual void precondition_Jacobi (dftfe::linearAlgebra::MultiVector< double, memorySpace > &dst, const dftfe::linearAlgebra::MultiVector< double, memorySpace > &src, const double omega) const =0
 Jacobi preconditioning function.
 
virtual void precondition_JacobiSqrt (dftfe::linearAlgebra::MultiVector< double, memorySpace > &dst, const dftfe::linearAlgebra::MultiVector< double, memorySpace > &src, const double omega) const =0
 Apply square-root of the Jacobi preconditioner function.
 

Member Function Documentation

◆ computeRhs()

template<dftfe::utils::MemorySpace memorySpace>
virtual dftfe::linearAlgebra::MultiVector< double, memorySpace > & dftfe::MultiVectorLinearSolverProblem< memorySpace >::computeRhs ( dftfe::linearAlgebra::MultiVector< double, memorySpace > & NDBCVec,
dftfe::linearAlgebra::MultiVector< double, memorySpace > & outputVec,
unsigned int blockSizeInput )
pure virtual

Compute right hand side vector for the problem Ax = rhs.

Parameters
rhsvector for the right hand side values

Implemented in dftfe::MultiVectorPoissonLinearSolverProblem< memorySpace >.

◆ distributeX()

template<dftfe::utils::MemorySpace memorySpace>
virtual void dftfe::MultiVectorLinearSolverProblem< memorySpace >::distributeX ( )
pure virtual

Apply the constraints to the solution vector.

Implemented in dftfe::MultiVectorPoissonLinearSolverProblem< memorySpace >.

◆ precondition_Jacobi()

template<dftfe::utils::MemorySpace memorySpace>
virtual void dftfe::MultiVectorLinearSolverProblem< memorySpace >::precondition_Jacobi ( dftfe::linearAlgebra::MultiVector< double, memorySpace > & dst,
const dftfe::linearAlgebra::MultiVector< double, memorySpace > & src,
const double omega ) const
pure virtual

Jacobi preconditioning function.

Implemented in dftfe::MultiVectorPoissonLinearSolverProblem< memorySpace >.

◆ precondition_JacobiSqrt()

template<dftfe::utils::MemorySpace memorySpace>
virtual void dftfe::MultiVectorLinearSolverProblem< memorySpace >::precondition_JacobiSqrt ( dftfe::linearAlgebra::MultiVector< double, memorySpace > & dst,
const dftfe::linearAlgebra::MultiVector< double, memorySpace > & src,
const double omega ) const
pure virtual

Apply square-root of the Jacobi preconditioner function.

Implemented in dftfe::MultiVectorPoissonLinearSolverProblem< memorySpace >.

◆ vmult()

template<dftfe::utils::MemorySpace memorySpace>
virtual void dftfe::MultiVectorLinearSolverProblem< memorySpace >::vmult ( dftfe::linearAlgebra::MultiVector< double, memorySpace > & Ax,
dftfe::linearAlgebra::MultiVector< double, memorySpace > & x,
unsigned int blockSize )
pure virtual

Compute A matrix multipled by x.

Implemented in dftfe::MultiVectorPoissonLinearSolverProblem< memorySpace >.


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