svFSIplus
Classes | Public Member Functions | List of all members
PetscLinearAlgebra Class Reference

The PetscLinearAlgebra class implements the LinearAlgebra interface for the PETSc numerical linear algebra package. More...

#include <PetscLinearAlgebra.h>

Inheritance diagram for PetscLinearAlgebra:
[legend]

Classes

class  PetscImpl
 

Public Member Functions

virtual void alloc (ComMod &com_mod, eqType &lEq)
 Allocate data arrays. More...
 
virtual void assemble (ComMod &com_mod, const int num_elem_nodes, const Vector< int > &eqN, const Array3< double > &lK, const Array< double > &lR)
 Assemble local element arrays. More...
 
virtual void check_options (const consts::PreconditionerType prec_cond_type, const consts::LinearAlgebraType assembly_type)
 Check the validity of the precondition and assembly types options. More...
 
virtual void initialize (ComMod &com_mod, eqType &lEq)
 Initialize the PETSc framework. More...
 
virtual void solve (ComMod &com_mod, eqType &lEq, const Vector< int > &incL, const Vector< double > &res)
 Solve a system of linear equations. More...
 
virtual void set_assembly (consts::LinearAlgebraType assembly_type)
 Set the linear algebra package for assembly. More...
 
virtual void set_preconditioner (consts::PreconditionerType prec_type)
 Set the proconditioner. More...
 
- Public Member Functions inherited from LinearAlgebra
virtual consts::LinearAlgebraType get_interface_type ()
 

Additional Inherited Members

- Static Public Member Functions inherited from LinearAlgebra
static void check_equation_compatibility (const consts::EquationType eq_phys, const consts::LinearAlgebraType lin_alg_type, const consts::LinearAlgebraType assembly_type)
 Check that equation physics is compatible with LinearAlgebra type. More...
 
- Public Attributes inherited from LinearAlgebra
consts::LinearAlgebraType interface_type = consts::LinearAlgebraType::none
 
consts::LinearAlgebraType assembly_type = consts::LinearAlgebraType::none
 
consts::PreconditionerType preconditioner_type = consts::PreconditionerType::PREC_NONE
 
- Static Public Attributes inherited from LinearAlgebra
static const std::map< std::string, consts::LinearAlgebraType > name_to_type
 
static const std::map< consts::LinearAlgebraType, std::string > type_to_name
 

Detailed Description

The PetscLinearAlgebra class implements the LinearAlgebra interface for the PETSc numerical linear algebra package.

Member Function Documentation

◆ alloc()

void PetscLinearAlgebra::alloc ( ComMod com_mod,
eqType lEq 
)
virtual

Allocate data arrays.

Implements LinearAlgebra.

◆ assemble()

void PetscLinearAlgebra::assemble ( ComMod com_mod,
const int  num_elem_nodes,
const Vector< int > &  eqN,
const Array3< double > &  lK,
const Array< double > &  lR 
)
virtual

Assemble local element arrays.

Implements LinearAlgebra.

◆ check_options()

void PetscLinearAlgebra::check_options ( const consts::PreconditionerType  prec_cond_type,
const consts::LinearAlgebraType  assembly_type 
)
virtual

Check the validity of the precondition and assembly types options.

Implements LinearAlgebra.

◆ initialize()

void PetscLinearAlgebra::initialize ( ComMod com_mod,
eqType lEq 
)
virtual

Initialize the PETSc framework.

Implements LinearAlgebra.

◆ set_assembly()

void PetscLinearAlgebra::set_assembly ( consts::LinearAlgebraType  assembly_type)
virtual

Set the linear algebra package for assembly.

Implements LinearAlgebra.

◆ set_preconditioner()

void PetscLinearAlgebra::set_preconditioner ( consts::PreconditionerType  prec_type)
virtual

Set the proconditioner.

Implements LinearAlgebra.

◆ solve()

void PetscLinearAlgebra::solve ( ComMod com_mod,
eqType lEq,
const Vector< int > &  incL,
const Vector< double > &  res 
)
virtual

Solve a system of linear equations.

Implements LinearAlgebra.


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