8 #include "SF_ginkgo_vector.h" 9 #include "SF_ginkgo_matrix.h" 10 #include "SF_ginkgo_solver.h" 12 #include "SF_petsc_vector.h" 13 #include "SF_petsc_matrix.h" 14 #include "SF_petsc_solver.h" 20 template <
typename T,
typename S>
24 throw std::runtime_error(
"The Ginkgo backend was not enabled");
26 init_vector_ginkgo(
object);
31 template <
typename T,
typename S>
35 throw std::runtime_error(
"The Ginkgo backend was not enabled");
37 init_matrix_ginkgo(
object);
42 template <
typename T,
typename S>
46 throw std::runtime_error(
"The Ginkgo backend was not enabled");
48 init_solver_ginkgo(
object);
53 template <
typename T,
typename S>
57 throw std::runtime_error(
"The PETSc backend was not enabled");
59 init_vector_petsc(
object);
64 template <
typename T,
typename S>
68 throw std::runtime_error(
"The PETSc backend was not enabled");
70 init_matrix_petsc(
object);
75 template <
typename T,
typename S>
79 throw std::runtime_error(
"The PETSc backend was not enabled");
81 init_solver_petsc(
object);
99 template <
class T,
class S>
102 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
124 template <
class T,
class S>
126 int ilsize,
int idpn = 1,
129 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
134 (*vec)->init(igsize, ilsize, idpn, ilayout);
151 template <
class T,
class S>
156 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
161 (*vec)->init(mesh, i, ltype);
176 template <
class T,
class S>
180 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
199 template <
class T,
class S>
202 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
220 template <
class T,
class S>
223 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
233 #endif // _SF_INIT_H_
void init_solver(SF::abstract_linear_solver< T, S > **sol)
void init_vector(SF::abstract_vector< T, S > **vec)
void init_matrix(SF::abstract_matrix< T, S > **mat)
void init_or_throw_ginkgo(SF::abstract_vector< T, S > **object)
void init_or_throw_petsc(SF::abstract_vector< T, S > **object)