A derived class of linearAlgebra::LinearSolverFunction to encapsulate the Poisson partial differential equation (PDE) discretized in a finite element (FE) basis. The Possion PDE is given as: \(\nabla^2 v(\textbf{r}) = -4 \pi \rho(\textbf{r})$\f
with the boundary condition on
\)@_fakenlv(\textbf{r})|_{\partial \Omega}=g(\textbf{r})$\f ( \(\\partial Omega$\f denoting the boundary of a domain \)\Omega$\f). Here \(v$\f has the physical notion of a potential (e.g.,
Hartree potential, nuclear potential, etc.) arising due to a charge
distributin \)\rho$\f.
More...
|
| | PoissonLinearSolverFunctionFE (std::shared_ptr< const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > > feBasisManagerField, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeOperator, memorySpace > > feBasisDataStorageStiffnessMatrix, const std::map< std::string, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeOperator, memorySpace > > > &feBasisDataStorageRhs, const std::map< std::string, const quadrature::QuadratureValuesContainer< ValueType, memorySpace > & > &inpRhs, const linearAlgebra::PreconditionerType pcType, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const size_type maxCellBlock, const size_type maxFieldBlock) |
| | This constructor creates an instance of a base LinearSolverFunction called PoissonLinearSolverFE. More...
|
| |
| | PoissonLinearSolverFunctionFE (std::shared_ptr< const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > > feBasisManagerField, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeOperator, memorySpace > > feBasisDataStorageStiffnessMatrix, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeOperator, memorySpace > > feBasisDataStorageRhs, const quadrature::QuadratureValuesContainer< ValueType, memorySpace > &inpRhs, const linearAlgebra::PreconditionerType pcType, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const size_type maxCellBlock, const size_type maxFieldBlock) |
| | This constructor creates an instance of a base LinearSolverFunction called PoissonLinearSolverFE. More...
|
| |
| void | reinit (std::shared_ptr< const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > > feBasisManagerField, const std::map< std::string, const quadrature::QuadratureValuesContainer< ValueType, memorySpace > & > &inpRhs) |
| |
| void | reinit (std::shared_ptr< const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > > feBasisManagerField, const quadrature::QuadratureValuesContainer< ValueType, memorySpace > &inpRhs) |
| |
| | ~PoissonLinearSolverFunctionFE ()=default |
| |
| const linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > & | getAxContext () const override |
| |
| const linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > & | getPCContext () const override |
| |
| void | setSolution (const linearAlgebra::MultiVector< ValueType, memorySpace > &x) override |
| |
| void | getSolution (linearAlgebra::MultiVector< ValueType, memorySpace > &solution) override |
| |
| const linearAlgebra::MultiVector< ValueTypeOperand, memorySpace > & | getRhs () const override |
| |
| const linearAlgebra::MultiVector< ValueType, memorySpace > & | getInitialGuess () const override |
| |
| const utils::mpi::MPIComm & | getMPIComm () const override |
| |
|
| size_type | d_numComponents |
| |
| std::shared_ptr< const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > > | d_feBasisManagerField |
| |
| std::shared_ptr< const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > > | d_feBasisManagerHomo |
| |
| std::shared_ptr< LaplaceOperatorContextFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim > > | d_AxContext |
| |
| std::shared_ptr< LaplaceOperatorContextFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim > > | d_AxContextNHDB |
| |
| std::shared_ptr< const linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > > | d_PCContext |
| |
| linearAlgebra::PreconditionerType | d_pcType |
| |
| linearAlgebra::MultiVector< ValueType, memorySpace > | d_x |
| |
| linearAlgebra::MultiVector< ValueType, memorySpace > | d_b |
| |
| linearAlgebra::MultiVector< ValueType, memorySpace > | d_initial |
| |
| linearAlgebra::MultiVector< ValueTypeOperand, memorySpace > | d_fieldInHomoDBCVec |
| |
| std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > | d_linAlgOpContext |
| |
| const size_type | d_maxCellBlock |
| |
| const size_type | d_maxFieldBlock |
| |
| std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeOperator, memorySpace > > | d_feBasisDataStorageStiffnessMatrix |
| |
| utils::Profiler | d_p |
| |
| utils::ConditionalOStream | d_rootCout |
| |
| std::map< std::string, linearAlgebra::MultiVector< ValueTypeOperand, memorySpace > > | d_rhsMultiVecComponent |
| |
| std::map< std::string, quadrature::QuadratureValuesContainer< ValueType, memorySpace > > | d_rhsQuadValComponent |
| |
| std::map< std::string, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeOperator, memorySpace > > > | d_feBasisDataStorageRhs |
| |
template<typename ValueTypeOperator, typename ValueTypeOperand,
utils::MemorySpace memorySpace,
size_type dim>
class dftefe::electrostatics::PoissonLinearSolverFunctionFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >
A derived class of linearAlgebra::LinearSolverFunction to encapsulate the Poisson partial differential equation (PDE) discretized in a finite element (FE) basis. The Possion PDE is given as: \(\nabla^2 v(\textbf{r}) = -4 \pi \rho(\textbf{r})$\f
with the boundary condition on
\)@_fakenlv(\textbf{r})|_{\partial \Omega}=g(\textbf{r})$\f ( \(\\partial Omega$\f denoting the boundary of a domain \)\Omega$\f). Here \(v$\f has the physical notion of a potential (e.g.,
Hartree potential, nuclear potential, etc.) arising due to a charge
distributin \)\rho$\f.
- Template Parameters
-
| ValueTypeOperator | The datatype (float, double, complex<double>, etc.) for the underlying operator |
| ValueTypeOperand | The datatype (float, double, complex<double>, etc.) of the vector, matrices, etc. on which the operator will act |
| memorySpace | The meory sapce (HOST, DEVICE, HOST_PINNES, etc.) in which the data of the operator and its operands reside |
| dim | Dimension of the Poisson problem |