1#ifndef PRECICE_NO_GINKGO
24#define doLocalCode(Type, function, polynomial, EXECUTOR, SOLVER) \
26 MappingConfiguration::GinkgoParameter gpm; \
27 gpm.executor = EXECUTOR; \
29 gpm.solver = SOLVER; \
30 gpm.maxIterations = 100; \
31 gpm.usePreconditioner = false; \
32 RadialBasisFctMapping<GinkgoRadialBasisFctSolver<Type>, MappingConfiguration::GinkgoParameter> consistentMap2D(Mapping::CONSISTENT, 2, function, {{false, false, false}}, polynomial, gpm); \
33 perform2DTestConsistentMapping(consistentMap2D); \
34 RadialBasisFctMapping<GinkgoRadialBasisFctSolver<Type>, MappingConfiguration::GinkgoParameter> consistentMap2DVector(Mapping::CONSISTENT, 2, function, {{false, false, false}}, polynomial, gpm); \
35 perform2DTestConsistentMappingVector(consistentMap2DVector); \
36 RadialBasisFctMapping<GinkgoRadialBasisFctSolver<Type>, MappingConfiguration::GinkgoParameter> consistentMap3D(Mapping::CONSISTENT, 3, function, {{false, false, false}}, polynomial, gpm); \
37 perform3DTestConsistentMapping(consistentMap3D); \
38 RadialBasisFctMapping<GinkgoRadialBasisFctSolver<Type>, MappingConfiguration::GinkgoParameter> scaledConsistentMap2D(Mapping::SCALED_CONSISTENT_SURFACE, 2, function, {{false, false, false}}, polynomial, gpm); \
39 perform2DTestScaledConsistentMapping(scaledConsistentMap2D); \
40 RadialBasisFctMapping<GinkgoRadialBasisFctSolver<Type>, MappingConfiguration::GinkgoParameter> scaledConsistentMap3D(Mapping::SCALED_CONSISTENT_SURFACE, 3, function, {{false, false, false}}, polynomial, gpm); \
41 perform3DTestScaledConsistentMapping(scaledConsistentMap3D); \
42 RadialBasisFctMapping<GinkgoRadialBasisFctSolver<Type>, MappingConfiguration::GinkgoParameter> conservativeMap2D(Mapping::CONSERVATIVE, 2, function, {{false, false, false}}, polynomial, gpm); \
43 perform2DTestConservativeMapping(conservativeMap2D); \
44 RadialBasisFctMapping<GinkgoRadialBasisFctSolver<Type>, MappingConfiguration::GinkgoParameter> conservativeMap2DVector(Mapping::CONSERVATIVE, 2, function, {{false, false, false}}, polynomial, gpm); \
45 perform2DTestConservativeMappingVector(conservativeMap2DVector); \
46 RadialBasisFctMapping<GinkgoRadialBasisFctSolver<Type>, MappingConfiguration::GinkgoParameter> conservativeMap3D(Mapping::CONSERVATIVE, 3, function, {{false, false, false}}, polynomial, gpm); \
47 perform3DTestConservativeMapping(conservativeMap3D); \
50#define TEST_FOR_ALL_RBFS(EXECUTOR, SOLVER) \
51 BOOST_AUTO_TEST_CASE(MapThinPlateSplines) \
53 PRECICE_TEST(1_rank); \
54 ThinPlateSplines fct; \
55 doLocalCode(ThinPlateSplines, fct, Polynomial::SEPARATE, EXECUTOR, SOLVER); \
57 BOOST_AUTO_TEST_CASE(MapMultiquadrics) \
59 PRECICE_TEST(1_rank); \
60 Multiquadrics fct(1e-3); \
61 doLocalCode(Multiquadrics, fct, Polynomial::SEPARATE, EXECUTOR, SOLVER); \
63 BOOST_AUTO_TEST_CASE(MapInverseMultiquadrics) \
65 PRECICE_TEST(1_rank); \
66 InverseMultiquadrics fct(1e-3); \
67 doLocalCode(InverseMultiquadrics, fct, Polynomial::SEPARATE, EXECUTOR, SOLVER); \
69 BOOST_AUTO_TEST_CASE(MapVolumeSplines) \
71 PRECICE_TEST(1_rank); \
73 doLocalCode(VolumeSplines, fct, Polynomial::SEPARATE, EXECUTOR, SOLVER); \
75 BOOST_AUTO_TEST_CASE(MapGaussian) \
77 PRECICE_TEST(1_rank); \
79 doLocalCode(Gaussian, fct, Polynomial::SEPARATE, EXECUTOR, SOLVER); \
81 BOOST_AUTO_TEST_CASE(MapCompactThinPlateSplinesC2) \
83 PRECICE_TEST(1_rank); \
84 double supportRadius = 1.2; \
85 CompactThinPlateSplinesC2 fct(supportRadius); \
86 doLocalCode(CompactThinPlateSplinesC2, fct, Polynomial::SEPARATE, EXECUTOR, SOLVER); \
88 BOOST_AUTO_TEST_CASE(MapCompactPolynomialC0) \
90 PRECICE_TEST(1_rank); \
91 double supportRadius = 1.2; \
92 CompactPolynomialC0 fct(supportRadius); \
93 doLocalCode(CompactPolynomialC0, fct, Polynomial::SEPARATE, EXECUTOR, SOLVER); \
95 BOOST_AUTO_TEST_CASE(MapCompactPolynomialC2) \
97 PRECICE_TEST(1_rank); \
98 double supportRadius = 1.2; \
99 CompactPolynomialC2 fct(supportRadius); \
100 doLocalCode(CompactPolynomialC2, fct, Polynomial::SEPARATE, EXECUTOR, SOLVER); \
102 BOOST_AUTO_TEST_CASE(MapCompactPolynomialC4) \
104 PRECICE_TEST(1_rank); \
105 double supportRadius = 1.2; \
106 CompactPolynomialC4 fct(supportRadius); \
107 doLocalCode(CompactPolynomialC4, fct, Polynomial::SEPARATE, EXECUTOR, SOLVER); \
109 BOOST_AUTO_TEST_CASE(MapCompactPolynomialC6) \
111 PRECICE_TEST(1_rank); \
112 double supportRadius = 1.2; \
113 CompactPolynomialC6 fct(supportRadius); \
114 doLocalCode(CompactPolynomialC6, fct, Polynomial::SEPARATE, EXECUTOR, SOLVER); \
116 BOOST_AUTO_TEST_CASE(MapCompactPolynomialC8) \
118 PRECICE_TEST(1_rank); \
119 double supportRadius = 1.2; \
120 CompactPolynomialC8 fct(supportRadius); \
121 doLocalCode(CompactPolynomialC8, fct, Polynomial::SEPARATE, EXECUTOR, SOLVER); \
128#ifdef PRECICE_WITH_OMP
134#ifdef PRECICE_WITH_CUDA
140#ifdef PRECICE_WITH_CUDA
146#ifdef PRECICE_WITH_HIP
152#ifdef PRECICE_WITH_HIP
158#undef TEST_FOR_ALL_RBFS
#define TEST_FOR_ALL_RBFS(EXECUTOR, SOLVER)
gko::solver::Gmres<> gmres
BOOST_AUTO_TEST_SUITE(PreProcess)
BOOST_AUTO_TEST_SUITE_END()
contains data mapping from points to meshes.
provides Mesh, Data and primitives.
contains the testing framework.
Main namespace of the precice library.