an efficient C++ finite element environment
|
|
Go to the documentation of this file. 1 #include "rheolef/solver.h"
22 #include "rheolef/pretty_name.h"
38 template <
class T,
class M>
47 template<
class T,
class M>
63 return new_macro (rep(
a,opt));
72 #ifdef _RHEOLEF_HAVE_MUMPS
75 return new_macro (rep(
a,opt));
77 #endif // _RHEOLEF_HAVE_MUMPS
79 #if defined(_RHEOLEF_HAVE_CHOLMOD)
80 if (lib ==
"suitesparse" &&
a.is_symmetric() &&
a.is_definite_positive()) {
82 return new_macro (rep(
a,opt));
84 #endif // _RHEOLEF_HAVE_CHOLMOD
86 #if defined(_RHEOLEF_HAVE_UMFPACK)
87 if (lib ==
"suitesparse") {
89 return new_macro (rep(
a,opt));
91 #endif // _RHEOLEF_HAVE_UMFPACK
93 #ifdef _RHEOLEF_HAVE_EIGEN
96 return new_macro (rep(
a,opt));
98 #endif // _RHEOLEF_HAVE_EIGEN
106 #define _RHEOLEF_instanciation(T,M) \
107 template solver_abstract_rep<T,M>* solver_abstract_rep<T,M>::make_solver_ptr (const csr<T,M>&, const solver_option&); \
108 template std::string solver_abstract_rep<T,M>::name() const;
111 #ifdef _RHEOLEF_HAVE_MPI
113 #endif // _RHEOLEF_HAVE_MPI
114 #undef _RHEOLEF_instanciation
std::string typeid_name(const char *name, bool do_indent)
_RHEOLEF_instanciation(Float, sequential, std::allocator< Float >) _RHEOLEF_instanciation(Float
static solver_abstract_rep< T, M > * make_solver_ptr(const csr< T, M > &a, const solver_option &opt)
virtual std::string name() const
see the csr page for the full documentation
This file is part of Rheolef.
#define error_macro(message)
static std::string used_library(const csr< T, M > &a, const solver_option &sopt=solver_option())
see the Float page for the full documentation
static const long int decide
see the solver_option page for the full documentation