Loading...
Searching...
No Matches
dolfin::GenericLinearAlgebraFactory Class Referenceabstract

Base class for LinearAlgebra factories. More...

`#include <GenericLinearAlgebraFactory.h>`

Inheritance diagram for dolfin::GenericLinearAlgebraFactory:
[legend]

## Classes

class | NotImplementedLinearOperator

## Public Member Functions

| GenericLinearAlgebraFactory ()
| Constructor.
virtual | ~GenericLinearAlgebraFactory ()
| Destructor.
virtual std::shared_ptr< GenericMatrix > | create_matrix (MPI_Comm comm) const =0
| Create empty matrix.
virtual std::shared_ptr< GenericVector > | create_vector (MPI_Comm comm) const =0
| Create empty vector.
virtual std::shared_ptr< TensorLayout > | create_layout (MPI_Comm comm, std::size_t rank) const =0
| Create empty tensor layout.
virtual std::shared_ptr< GenericLinearOperator > | create_linear_operator (MPI_Comm comm) const =0
| Create empty linear operator.
virtual std::shared_ptr< GenericLinearSolver > | create_lu_solver (MPI_Comm comm, std::string method) const =0
| Create LU solver.
virtual std::shared_ptr< GenericLinearSolver > | create_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 Krylov solver.

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

## 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 LU solver.

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

## create_matrix()

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

pure virtual

Create empty matrix.

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

## create_vector()

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

pure virtual

Create empty vector.

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

## krylov_solver_methods()

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

inline virtual

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

inline virtual

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

inline virtual

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:

- /build/dolfin-wwk1CC/dolfin-2019.2.0~legacy20240219.1c52e83/dolfin/la/GenericLinearAlgebraFactory.h