DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim > Class Template Reference
Inheritance diagram for dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >:
Collaboration diagram for dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >:

Public Types

using ValueType = linearAlgebra::blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand >
 define ValueType as the superior (bigger set) of the ValueTypeOperator and ValueTypeOperand (e.g., between double and complex<double>, complex<double> is the bigger set) More...
 

Public Member Functions

 OverlapMatrixInverseLinearSolverFunctionFE (const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > &feBasisManager, const CFEOverlapOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace, dim > &MContext, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const size_type maxCellTimesNumVecs)
 This constructor creates an instance of a base LinearSolverFunction called OverlapMatrixInverseLinearSolverFunctionFE. More...
 
void reinit (linearAlgebra::MultiVector< ValueType, memorySpace > &X)
 
 ~OverlapMatrixInverseLinearSolverFunctionFE ()=default
 
const linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > & getAxContext () const
 
const linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > & getPCContext () const
 
void setSolution (const linearAlgebra::MultiVector< linearAlgebra::blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand >, memorySpace > &x)
 
void getSolution (linearAlgebra::MultiVector< linearAlgebra::blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand >, memorySpace > &solution)
 
const linearAlgebra::MultiVector< ValueTypeOperand, memorySpace > & getRhs () const
 
const linearAlgebra::MultiVector< linearAlgebra::blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand >, memorySpace > & getInitialGuess () const
 
const utils::mpi::MPICommgetMPIComm () const
 

Private Attributes

std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > d_linAlgOpContext
 
size_type d_numComponents
 
const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > * d_feBasisManager
 
const linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > * d_AxContext
 
std::shared_ptr< const linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > > d_PCContext
 
linearAlgebra::MultiVector< ValueType, memorySpace > d_x
 
linearAlgebra::MultiVector< ValueType, memorySpace > d_b
 
linearAlgebra::MultiVector< ValueType, memorySpace > d_initial
 

Member Typedef Documentation

◆ ValueType

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
using dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::ValueType = linearAlgebra::blasLapack::scalar_type<ValueTypeOperator, ValueTypeOperand>

define ValueType as the superior (bigger set) of the ValueTypeOperator and ValueTypeOperand (e.g., between double and complex<double>, complex<double> is the bigger set)

Constructor & Destructor Documentation

◆ OverlapMatrixInverseLinearSolverFunctionFE()

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::OverlapMatrixInverseLinearSolverFunctionFE ( const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > &  feBasisManager,
const CFEOverlapOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace, dim > &  MContext,
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > >  linAlgOpContext,
const size_type  maxCellTimesNumVecs 
)
inline

This constructor creates an instance of a base LinearSolverFunction called OverlapMatrixInverseLinearSolverFunctionFE.

◆ ~OverlapMatrixInverseLinearSolverFunctionFE()

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::~OverlapMatrixInverseLinearSolverFunctionFE ( )
default

Member Function Documentation

◆ getAxContext()

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
const linearAlgebra:: OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > & dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::getAxContext ( ) const
inline

◆ getInitialGuess()

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
const linearAlgebra::MultiVector< linearAlgebra::blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand >, memorySpace > & dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::getInitialGuess ( ) const
inline

◆ getMPIComm()

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
const utils::mpi::MPIComm & dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::getMPIComm ( ) const
inline
Here is the call graph for this function:

◆ getPCContext()

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
const linearAlgebra:: OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > & dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::getPCContext ( ) const
inline

◆ getRhs()

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
const linearAlgebra::MultiVector< ValueTypeOperand, memorySpace > & dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::getRhs ( ) const
inline

◆ getSolution()

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
void dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::getSolution ( linearAlgebra::MultiVector< linearAlgebra::blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand >, memorySpace > &  solution)
inline
Here is the call graph for this function:

◆ reinit()

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
void dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::reinit ( linearAlgebra::MultiVector< ValueType, memorySpace > &  X)
inline
Here is the call graph for this function:

◆ setSolution()

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
void dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::setSolution ( const linearAlgebra::MultiVector< linearAlgebra::blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand >, memorySpace > &  x)
inline

Member Data Documentation

◆ d_AxContext

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
const linearAlgebra::OperatorContext<ValueTypeOperator, ValueTypeOperand, memorySpace>* dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::d_AxContext
private

◆ d_b

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
linearAlgebra::MultiVector<ValueType, memorySpace> dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::d_b
private

◆ d_feBasisManager

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
const basis:: FEBasisManager<ValueTypeOperand, ValueTypeOperator, memorySpace, dim>* dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::d_feBasisManager
private

◆ d_initial

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
linearAlgebra::MultiVector<ValueType, memorySpace> dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::d_initial
private

◆ d_linAlgOpContext

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<linearAlgebra::LinAlgOpContext<memorySpace> > dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::d_linAlgOpContext
private

◆ d_numComponents

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
size_type dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::d_numComponents
private

◆ d_PCContext

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<const linearAlgebra::OperatorContext<ValueTypeOperator, ValueTypeOperand, memorySpace> > dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::d_PCContext
private

◆ d_x

template<typename ValueTypeOperator , typename ValueTypeOperand , utils::MemorySpace memorySpace, size_type dim>
linearAlgebra::MultiVector<ValueType, memorySpace> dftefe::basis::CFEOverlapInverseOpContextGLLInternal::OverlapMatrixInverseLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::d_x
private

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