DOLFIN
DOLFIN C++ interface
Public Member Functions | Static Public Member Functions | List of all members
dolfin::PETScFactory Class Reference

PETSc linear algebra factory. More...

#include <PETScFactory.h>

Inheritance diagram for dolfin::PETScFactory:
Inheritance graph
[legend]
Collaboration diagram for dolfin::PETScFactory:
Collaboration graph
[legend]

Public Member Functions

virtual ~PETScFactory ()
 Destructor.
 
std::shared_ptr< GenericMatrixcreate_matrix (MPI_Comm comm) const
 Create empty matrix. More...
 
std::shared_ptr< GenericVectorcreate_vector (MPI_Comm comm) const
 Create empty vector. More...
 
std::shared_ptr< TensorLayoutcreate_layout (MPI_Comm comm, std::size_t rank) const
 Create empty tensor layout. More...
 
std::shared_ptr< GenericLinearOperatorcreate_linear_operator (MPI_Comm comm) const
 Create empty linear operator. More...
 
std::shared_ptr< GenericLinearSolvercreate_lu_solver (MPI_Comm comm, std::string method) const
 Create LU solver. More...
 
std::shared_ptr< GenericLinearSolvercreate_krylov_solver (MPI_Comm comm, std::string method, std::string preconditioner) const
 Create Krylov solver. More...
 
std::map< std::string, std::string > lu_solver_methods () const
 Return a list of available LU solver methods. More...
 
std::map< std::string, std::string > krylov_solver_methods () const
 Return a list of available Krylov solver methods. More...
 
std::map< std::string, std::string > krylov_solver_preconditioners () const
 Return a list of available preconditioners. More...
 
- Public Member Functions inherited from dolfin::GenericLinearAlgebraFactory
 GenericLinearAlgebraFactory ()
 Constructor.
 
virtual ~GenericLinearAlgebraFactory ()
 Destructor.
 
virtual std::shared_ptr< GenericMatrixcreate_matrix (MPI_Comm comm) const =0
 Create empty matrix. More...
 
virtual std::shared_ptr< GenericVectorcreate_vector (MPI_Comm comm) const =0
 Create empty vector. More...
 
virtual std::shared_ptr< TensorLayoutcreate_layout (MPI_Comm comm, std::size_t rank) const =0
 Create empty tensor layout. More...
 
virtual std::shared_ptr< GenericLinearOperatorcreate_linear_operator (MPI_Comm comm) const =0
 Create empty linear operator. More...
 
virtual std::shared_ptr< GenericLinearSolvercreate_lu_solver (MPI_Comm comm, std::string method) const =0
 Create LU solver. More...
 
virtual std::shared_ptr< GenericLinearSolvercreate_krylov_solver (MPI_Comm comm, std::string method, std::string preconditioner) const =0
 Create Krylov solver. More...
 
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
 

Static Public Member Functions

static PETScFactoryinstance ()
 Return singleton instance.
 

Detailed Description

PETSc linear algebra factory.

Member Function Documentation

◆ create_krylov_solver()

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

Create Krylov solver.

Implements dolfin::GenericLinearAlgebraFactory.

◆ create_layout()

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

Create empty tensor layout.

Implements dolfin::GenericLinearAlgebraFactory.

◆ create_linear_operator()

std::shared_ptr< GenericLinearOperator > PETScFactory::create_linear_operator ( MPI_Comm  comm) const
virtual

Create empty linear operator.

Implements dolfin::GenericLinearAlgebraFactory.

◆ create_lu_solver()

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

Create LU solver.

Implements dolfin::GenericLinearAlgebraFactory.

◆ create_matrix()

std::shared_ptr< GenericMatrix > PETScFactory::create_matrix ( MPI_Comm  comm) const
virtual

Create empty matrix.

Implements dolfin::GenericLinearAlgebraFactory.

◆ create_vector()

std::shared_ptr< GenericVector > PETScFactory::create_vector ( MPI_Comm  comm) const
virtual

Create empty vector.

Implements dolfin::GenericLinearAlgebraFactory.

◆ krylov_solver_methods()

std::map< std::string, std::string > PETScFactory::krylov_solver_methods ( ) const
virtual

Return a list of available Krylov solver methods.

Reimplemented from dolfin::GenericLinearAlgebraFactory.

◆ krylov_solver_preconditioners()

std::map< std::string, std::string > PETScFactory::krylov_solver_preconditioners ( ) const
virtual

Return a list of available preconditioners.

Reimplemented from dolfin::GenericLinearAlgebraFactory.

◆ lu_solver_methods()

std::map< std::string, std::string > PETScFactory::lu_solver_methods ( ) const
virtual

Return a list of available LU solver methods.

Reimplemented from dolfin::GenericLinearAlgebraFactory.


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