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);
56 throw std::runtime_error(
"The PETSc backend was not enabled");
58 init_vector_petsc(
object);
63 template <
typename T,
typename S>
67 throw std::runtime_error(
"The PETSc backend was not enabled");
69 init_matrix_petsc(
object);
74 template <
typename T,
typename S>
78 throw std::runtime_error(
"The PETSc backend was not enabled");
80 init_solver_petsc(
object);
98 template <
class T,
class S>
101 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
123 template <
class T,
class S>
125 int ilsize,
int idpn = 1,
128 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
133 (*vec)->init(igsize, ilsize, idpn, ilayout);
150 template <
class T,
class S>
155 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
160 (*vec)->init(mesh, i, ltype);
175 template <
class T,
class S>
179 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
198 template <
class T,
class S>
201 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
219 template <
class T,
class S>
222 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
232 #endif // _SF_INIT_H_
void init_solver(SF::abstract_linear_solver< T, S > **sol)
void init_or_throw_petsc(SF::abstract_vector< SF_int, SF_real > **object)
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)