The LinearAlgebra class provides an abstract interface to linear algebra frameworks: FSILS, Trilinos, PETSc, etc.
More...
#include <LinearAlgebra.h>
|
virtual void | alloc (ComMod &com_mod, eqType &lEq)=0 |
|
virtual void | assemble (ComMod &com_mod, const int num_elem_nodes, const Vector< int > &eqN, const Array3< double > &lK, const Array< double > &lR)=0 |
|
virtual void | check_options (const consts::PreconditionerType prec_cond_type, const consts::LinearAlgebraType assembly_type)=0 |
|
virtual void | initialize (ComMod &com_mod, eqType &lEq)=0 |
|
virtual void | set_assembly (consts::LinearAlgebraType assembly_type)=0 |
|
virtual void | set_preconditioner (consts::PreconditionerType prec_type)=0 |
|
virtual void | solve (ComMod &com_mod, eqType &lEq, const Vector< int > &incL, const Vector< double > &res)=0 |
|
virtual consts::LinearAlgebraType | get_interface_type () |
|
|
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...
|
|
|
consts::LinearAlgebraType | interface_type = consts::LinearAlgebraType::none |
|
consts::LinearAlgebraType | assembly_type = consts::LinearAlgebraType::none |
|
consts::PreconditionerType | preconditioner_type = consts::PreconditionerType::PREC_NONE |
|
|
static const std::map< std::string, consts::LinearAlgebraType > | name_to_type |
|
static const std::map< consts::LinearAlgebraType, std::string > | type_to_name |
|
The LinearAlgebra class provides an abstract interface to linear algebra frameworks: FSILS, Trilinos, PETSc, etc.
◆ check_equation_compatibility()
void LinearAlgebra::check_equation_compatibility |
( |
const consts::EquationType |
eq_phys, |
|
|
const consts::LinearAlgebraType |
lin_alg_type, |
|
|
const consts::LinearAlgebraType |
assembly_type |
|
) |
| |
|
static |
Check that equation physics is compatible with LinearAlgebra type.
◆ name_to_type
const std::map< std::string, consts::LinearAlgebraType > LinearAlgebra::name_to_type |
|
static |
Initial value:= {
{"none", consts::LinearAlgebraType::none},
{"fsils", consts::LinearAlgebraType::fsils},
{"petsc", consts::LinearAlgebraType::petsc},
{"trilinos", consts::LinearAlgebraType::trilinos}
}
◆ type_to_name
const std::map< consts::LinearAlgebraType, std::string > LinearAlgebra::type_to_name |
|
static |
Initial value:= {
{consts::LinearAlgebraType::none, "none"},
{consts::LinearAlgebraType::fsils, "fsils"},
{consts::LinearAlgebraType::petsc, "petsc"},
{consts::LinearAlgebraType::trilinos, "trilinos"}
}
The documentation for this class was generated from the following files: