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

#include <PETScPreconditioner.h>

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

Public Member Functions

 PETScPreconditioner (std::string type="default")
 Create a particular preconditioner object.
 
virtual ~PETScPreconditioner ()
 Destructor.
 
virtual void set (PETScKrylovSolver &solver)
 Set the preconditioner type and parameters.
 
void set_coordinates (const std::vector< double > &x, std::size_t dim)
 
void set_fieldsplit (PETScKrylovSolver &solver, const std::vector< std::vector< dolfin::la_index >> &fields, const std::vector< std::string > &split_names)
 
std::string str (bool verbose) const
 Return informal string representation (pretty-print)
 
- Public Member Functions inherited from dolfin::PETScObject
 PETScObject ()
 Constructor. Ensures that PETSc has been initialised.
 
virtual ~PETScObject ()
 Destructor.
 
- Public Member Functions inherited from dolfin::Variable
 Variable ()
 Create unnamed variable.
 
 Variable (const std::string name, const std::string label)
 Create variable with given name and label.
 
 Variable (const Variable &variable)
 Copy constructor.
 
virtual ~Variable ()
 Destructor.
 
const Variableoperator= (const Variable &variable)
 Assignment operator.
 
void rename (const std::string name, const std::string label)
 Rename variable.
 
std::string name () const
 Return name.
 
std::string label () const
 Return label (description)
 
std::size_t id () const
 

Static Public Member Functions

static void set_type (PETScKrylovSolver &solver, std::string type)
 Select type by name.
 
static std::map< std::string, std::string > preconditioners ()
 Return a list of available preconditioners.
 
- Static Public Member Functions inherited from dolfin::PETScObject
static void petsc_error (int error_code, std::string filename, std::string petsc_function)
 Print error message for PETSc calls that return an error.
 

Friends

class PETScSNESSolver
 
class PETScTAOSolver
 

Additional Inherited Members

- Public Attributes inherited from dolfin::Variable
Parameters parameters
 Parameters.
 

Detailed Description

This class is a wrapper for configuring PETSc preconditioners. It does not own a preconditioner. It can take a PETScKrylovSolver and set the preconditioner type and parameters.

Member Function Documentation

◆ set_coordinates()

void PETScPreconditioner::set_coordinates ( const std::vector< double > &  x,
std::size_t  dim 
)

Set the coordinates of the operator (matrix) rows and geometric dimension d. This is can be used by required for certain preconditioners, e.g. ML. The input for this function can be generated using GenericDofMap::tabulate_all_dofs.

◆ set_fieldsplit()

void PETScPreconditioner::set_fieldsplit ( PETScKrylovSolver solver,
const std::vector< std::vector< dolfin::la_index >> &  fields,
const std::vector< std::string > &  split_names 
)

Assign indices from fields as separate PETSc index sets, with given names

Parameters
solver(PETScKrylovSolver&)
fields(std::vector<std::vector<dolfin::la_index>>&)
split_names(std::vector<std::string>&)

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