DOLFIN
DOLFIN C++ interface
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
dolfin::GenericLinearAlgebraFactory Class Referenceabstract

Base class for LinearAlgebra factories. More...

#include <GenericLinearAlgebraFactory.h>

Inheritance diagram for dolfin::GenericLinearAlgebraFactory:
Inheritance graph
[legend]

Classes

class  NotImplementedLinearOperator
 

Public Member Functions

 GenericLinearAlgebraFactory ()
 Constructor.
 
virtual ~GenericLinearAlgebraFactory ()
 Destructor.
 
virtual std::shared_ptr< GenericMatrixcreate_matrix (MPI_Comm comm) const =0
 Create empty matrix.
 
virtual std::shared_ptr< GenericVectorcreate_vector (MPI_Comm comm) const =0
 Create empty vector.
 
virtual std::shared_ptr< TensorLayoutcreate_layout (MPI_Comm comm, std::size_t rank) const =0
 Create empty tensor layout.
 
virtual std::shared_ptr< GenericLinearOperatorcreate_linear_operator (MPI_Comm comm) const =0
 Create empty linear operator.
 
virtual std::shared_ptr< GenericLinearSolvercreate_lu_solver (MPI_Comm comm, std::string method) const =0
 Create LU solver.
 
virtual std::shared_ptr< GenericLinearSolvercreate_krylov_solver (MPI_Comm comm, std::string method, std::string preconditioner) const =0
 Create Krylov solver.
 
virtual std::map< std::string, std::string > lu_solver_methods () const
 
virtual std::map< std::string, std::string > krylov_solver_methods () const
 
virtual std::map< std::string, std::string > krylov_solver_preconditioners () const
 

Detailed Description

Base class for LinearAlgebra factories.

Member Function Documentation

◆ create_krylov_solver()

virtual std::shared_ptr< GenericLinearSolver > dolfin::GenericLinearAlgebraFactory::create_krylov_solver ( MPI_Comm  comm,
std::string  method,
std::string  preconditioner 
) const
pure virtual

◆ create_layout()

virtual std::shared_ptr< TensorLayout > dolfin::GenericLinearAlgebraFactory::create_layout ( MPI_Comm  comm,
std::size_t  rank 
) const
pure virtual

Create empty tensor layout.

Implemented in dolfin::DefaultFactory, dolfin::EigenFactory, dolfin::PETScFactory, and dolfin::TpetraFactory.

◆ create_linear_operator()

virtual std::shared_ptr< GenericLinearOperator > dolfin::GenericLinearAlgebraFactory::create_linear_operator ( MPI_Comm  comm) const
pure virtual

Create empty linear operator.

Implemented in dolfin::DefaultFactory, dolfin::EigenFactory, dolfin::PETScFactory, and dolfin::TpetraFactory.

◆ create_lu_solver()

virtual std::shared_ptr< GenericLinearSolver > dolfin::GenericLinearAlgebraFactory::create_lu_solver ( MPI_Comm  comm,
std::string  method 
) const
pure virtual

◆ create_matrix()

virtual std::shared_ptr< GenericMatrix > dolfin::GenericLinearAlgebraFactory::create_matrix ( MPI_Comm  comm) const
pure virtual

◆ create_vector()

virtual std::shared_ptr< GenericVector > dolfin::GenericLinearAlgebraFactory::create_vector ( MPI_Comm  comm) const
pure virtual

◆ krylov_solver_methods()

virtual std::map< std::string, std::string > dolfin::GenericLinearAlgebraFactory::krylov_solver_methods ( ) const
inlinevirtual

Return a list of available Krylov solver methods. This function should be overloaded by subclass if non-empty.

Reimplemented in dolfin::DefaultFactory, dolfin::EigenFactory, dolfin::PETScFactory, and dolfin::TpetraFactory.

◆ krylov_solver_preconditioners()

virtual std::map< std::string, std::string > dolfin::GenericLinearAlgebraFactory::krylov_solver_preconditioners ( ) const
inlinevirtual

Return a list of available preconditioners. This function should be overloaded by subclass if non-empty.

Reimplemented in dolfin::DefaultFactory, dolfin::EigenFactory, dolfin::PETScFactory, and dolfin::TpetraFactory.

◆ lu_solver_methods()

virtual std::map< std::string, std::string > dolfin::GenericLinearAlgebraFactory::lu_solver_methods ( ) const
inlinevirtual

Return a list of available LU solver methods. This function should be overloaded by subclass if non-empty.

Reimplemented in dolfin::DefaultFactory, dolfin::EigenFactory, dolfin::PETScFactory, and dolfin::TpetraFactory.


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