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 Ginkgo backend was not enabled");
59 init_nl_solver_ginkgo(
object);
64 template <
typename T,
typename S>
68 throw std::runtime_error(
"The PETSc backend was not enabled");
70 init_vector_petsc(
object);
75 template <
typename T,
typename S>
79 throw std::runtime_error(
"The PETSc backend was not enabled");
81 init_matrix_petsc(
object);
86 template <
typename T,
typename S>
90 throw std::runtime_error(
"The PETSc backend was not enabled");
92 init_solver_petsc(
object);
97 template <
typename T,
typename S>
101 throw std::runtime_error(
"The PETSc backend was not enabled");
103 init_nl_solver_petsc(
object);
121 template <
class T,
class S>
124 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
146 template <
class T,
class S>
148 int ilsize,
int idpn = 1,
151 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
156 (*vec)->init(igsize, ilsize, idpn, ilayout);
173 template <
class T,
class S>
178 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
183 (*vec)->init(mesh, i, ltype);
198 template <
class T,
class S>
202 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
221 template <
class T,
class S>
224 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
242 template <
class T,
class S>
245 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
253 template <
class T,
class S>
256 if ((param_globals::flavor !=
nullptr) && (std::string{param_globals::flavor} ==
"ginkgo")) {
void init_or_throw_petsc(SF::abstract_vector< T, S > **object)
void init_or_throw_ginkgo(SF::abstract_vector< T, S > **object)
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)
NOTE: A LOT OF THESE THINGS NEED TO BE CHANGED AT A LATER STAGE. THEY ARE CURRENTLY COPIED FROM THE A...