26 std::string file(pathToTests +
"mapping-config.xml");
34 BOOST_TEST(meshConfig->meshes().size() == 3);
35 BOOST_TEST(mappingConfig.
mappings().size() == 3);
36 BOOST_TEST(mappingConfig.
mappings().at(0).fromMesh == meshConfig->meshes().at(0));
37 BOOST_TEST(mappingConfig.
mappings().at(0).toMesh == meshConfig->meshes().at(2));
40 BOOST_TEST(mappingConfig.
mappings().at(1).fromMesh == meshConfig->meshes().at(2));
41 BOOST_TEST(mappingConfig.
mappings().at(1).toMesh == meshConfig->meshes().at(1));
44 BOOST_TEST(mappingConfig.
mappings().at(2).fromMesh == meshConfig->meshes().at(1));
45 BOOST_TEST(mappingConfig.
mappings().at(2).toMesh == meshConfig->meshes().at(0));
55 std::string file(pathToTests +
"mapping-rbf-direct-config.xml");
63 BOOST_TEST(meshConfig->meshes().size() == 13);
64 BOOST_TEST(mappingConfig.
mappings().size() == 12);
65 for (
unsigned int i = 0; i < mappingConfig.
mappings().size(); ++i) {
66 BOOST_TEST(mappingConfig.
mappings().at(i).mapping !=
nullptr);
67 BOOST_TEST(mappingConfig.
mappings().at(i).fromMesh == meshConfig->meshes().at(i + 1));
68 BOOST_TEST(mappingConfig.
mappings().at(i).toMesh == meshConfig->meshes().at(i));
70 BOOST_TEST(mappingConfig.
mappings().at(i).requiresBasisFunction ==
true);
71 BOOST_TEST(mappingConfig.
mappings().at(i).configuredWithAliasTag ==
false);
76 BOOST_TEST(solverSelection);
92 std::string file(pathToTests +
"mapping-rbf-pum-direct-config.xml");
100 BOOST_TEST(meshConfig->meshes().size() == 13);
101 BOOST_TEST(mappingConfig.
mappings().size() == 12);
102 for (
unsigned int i = 0; i < mappingConfig.
mappings().size(); ++i) {
103 BOOST_TEST(mappingConfig.
mappings().at(i).mapping !=
nullptr);
104 BOOST_TEST(mappingConfig.
mappings().at(i).fromMesh == meshConfig->meshes().at(i + 1));
105 BOOST_TEST(mappingConfig.
mappings().at(i).toMesh == meshConfig->meshes().at(i));
107 BOOST_TEST(mappingConfig.
mappings().at(i).requiresBasisFunction ==
true);
108 BOOST_TEST(mappingConfig.
mappings().at(i).configuredWithAliasTag ==
false);
113 BOOST_TEST(solverSelection);
129 std::string file(pathToTests +
"mapping-config-cg.xml");
138 BOOST_TEST(meshConfig->meshes().size() == 1);
139 BOOST_TEST(mappingConfig.
mappings().size() == 1);
140 BOOST_TEST(mappingConfig.
mappings().at(0).toMesh == meshConfig->meshes().at(0));
142 BOOST_TEST(mappingConfig.
mappings().at(0).requiresBasisFunction ==
false);
145#ifndef PRECICE_NO_PETSC
153 std::string file(pathToTests +
"mapping-rbf-iterative-config.xml");
161 BOOST_TEST(meshConfig->meshes().size() == 13);
162 BOOST_TEST(mappingConfig.
mappings().size() == 12);
163 for (
unsigned int i = 0; i < mappingConfig.
mappings().size(); ++i) {
164 BOOST_TEST(mappingConfig.
mappings().at(i).mapping !=
nullptr);
165 BOOST_TEST(mappingConfig.
mappings().at(i).fromMesh == meshConfig->meshes().at(i + 1));
166 BOOST_TEST(mappingConfig.
mappings().at(i).toMesh == meshConfig->meshes().at(i));
168 BOOST_TEST(mappingConfig.
mappings().at(i).requiresBasisFunction ==
true);
169 BOOST_TEST(mappingConfig.
mappings().at(i).configuredWithAliasTag ==
false);
174 BOOST_TEST(solverSelection);
191 std::string file(pathToTests +
"mapping-rbf-alias-config.xml");
199 BOOST_TEST(meshConfig->meshes().size() == 3);
200 BOOST_TEST(mappingConfig.
mappings().size() == 2);
201 BOOST_TEST(mappingConfig.
mappings().at(0).mapping !=
nullptr);
202 BOOST_TEST(mappingConfig.
mappings().at(0).fromMesh == meshConfig->meshes().at(0));
203 BOOST_TEST(mappingConfig.
mappings().at(0).toMesh == meshConfig->meshes().at(2));
205 BOOST_TEST(mappingConfig.
mappings().at(0).requiresBasisFunction ==
true);
206 BOOST_TEST(mappingConfig.
mappings().at(0).configuredWithAliasTag ==
true);
209 BOOST_TEST(mappingConfig.
mappings().at(1).mapping !=
nullptr);
210 BOOST_TEST(mappingConfig.
mappings().at(1).fromMesh == meshConfig->meshes().at(2));
211 BOOST_TEST(mappingConfig.
mappings().at(1).toMesh == meshConfig->meshes().at(1));
213 BOOST_TEST(mappingConfig.
mappings().at(1).requiresBasisFunction ==
true);
214 BOOST_TEST(mappingConfig.
mappings().at(1).configuredWithAliasTag ==
true);
218 BOOST_TEST(solverSelection);
230#ifndef PRECICE_NO_GINKGO
232#ifdef PRECICE_WITH_CUDA
242 std::string file(pathToTests +
"mapping-rbf-cuda-config.xml");
250 BOOST_TEST(meshConfig->meshes().size() == 3);
251 BOOST_TEST(mappingConfig.mappings().size() == 2);
252 for (
unsigned int i = 0; i < mappingConfig.mappings().
size(); ++i) {
253 BOOST_TEST(mappingConfig.mappings().at(i).mapping !=
nullptr);
254 BOOST_TEST(mappingConfig.mappings().at(i).fromMesh == meshConfig->meshes().at(i + 1));
255 BOOST_TEST(mappingConfig.mappings().at(i).toMesh == meshConfig->meshes().at(i));
257 BOOST_TEST(mappingConfig.mappings().at(i).requiresBasisFunction ==
true);
258 BOOST_TEST(mappingConfig.mappings().at(i).configuredWithAliasTag ==
false);
263 BOOST_TEST(solverSelection);
266 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[0] ==
true);
267 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[1] ==
false);
268 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[2] ==
true);
269 BOOST_TEST(mappingConfig.rbfConfig().solverRtol == 1e-6);
274#ifdef PRECICE_WITH_HIP
284 std::string file(pathToTests +
"mapping-rbf-hip-config.xml");
292 BOOST_TEST(meshConfig->meshes().size() == 3);
293 BOOST_TEST(mappingConfig.mappings().size() == 2);
294 for (
unsigned int i = 0; i < mappingConfig.mappings().
size(); ++i) {
295 BOOST_TEST(mappingConfig.mappings().at(i).mapping !=
nullptr);
296 BOOST_TEST(mappingConfig.mappings().at(i).fromMesh == meshConfig->meshes().at(i + 1));
297 BOOST_TEST(mappingConfig.mappings().at(i).toMesh == meshConfig->meshes().at(i));
299 BOOST_TEST(mappingConfig.mappings().at(i).requiresBasisFunction ==
true);
300 BOOST_TEST(mappingConfig.mappings().at(i).configuredWithAliasTag ==
false);
305 BOOST_TEST(solverSelection);
308 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[0] ==
true);
309 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[1] ==
false);
310 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[2] ==
true);
311 BOOST_TEST(mappingConfig.rbfConfig().solverRtol == 1e-6);
316#ifdef PRECICE_WITH_OPENMP
326 std::string file(pathToTests +
"mapping-rbf-omp-config.xml");
334 BOOST_TEST(meshConfig->meshes().size() == 2);
335 BOOST_TEST(mappingConfig.mappings().size() == 1);
336 for (
unsigned int i = 0; i < mappingConfig.mappings().
size(); ++i) {
337 BOOST_TEST(mappingConfig.mappings().at(i).mapping !=
nullptr);
338 BOOST_TEST(mappingConfig.mappings().at(i).fromMesh == meshConfig->meshes().at(i + 1));
339 BOOST_TEST(mappingConfig.mappings().at(i).toMesh == meshConfig->meshes().at(i));
341 BOOST_TEST(mappingConfig.mappings().at(i).requiresBasisFunction ==
true);
342 BOOST_TEST(mappingConfig.mappings().at(i).configuredWithAliasTag ==
false);
347 BOOST_TEST(solverSelection);
350 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[0] ==
true);
351 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[1] ==
false);
352 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[2] ==
true);
353 BOOST_TEST(mappingConfig.rbfConfig().solverRtol == 1e-6);
359#ifndef PRECICE_NO_KOKKOS_KERNELS
361#ifdef PRECICE_WITH_CUDA
368 std::string file(pathToTests +
"mapping-rbf-pum-direct-cuda-config.xml");
376 BOOST_TEST(meshConfig->meshes().size() == 5);
377 BOOST_TEST(mappingConfig.mappings().size() == 4);
378 for (
unsigned int i = 0; i < mappingConfig.mappings().
size(); ++i) {
379 BOOST_TEST(mappingConfig.mappings().at(i).mapping !=
nullptr);
380 BOOST_TEST(mappingConfig.mappings().at(i).fromMesh == meshConfig->meshes().at(i + 1));
381 BOOST_TEST(mappingConfig.mappings().at(i).toMesh == meshConfig->meshes().at(i));
383 BOOST_TEST(mappingConfig.mappings().at(i).requiresBasisFunction ==
true);
384 BOOST_TEST(mappingConfig.mappings().at(i).configuredWithAliasTag ==
false);
389 BOOST_TEST(solverSelection);
392 BOOST_TEST(mappingConfig.rbfConfig().solverRtol == 1e-9);
393 BOOST_TEST(mappingConfig.rbfConfig().verticesPerCluster == 10);
394 BOOST_TEST(mappingConfig.rbfConfig().relativeOverlap == 0.4);
395 BOOST_TEST(mappingConfig.rbfConfig().projectToInput ==
false);
400#ifdef PRECICE_WITH_HIP
407 std::string file(pathToTests +
"mapping-rbf-pum-direct-hip-config.xml");
415 BOOST_TEST(meshConfig->meshes().size() == 5);
416 BOOST_TEST(mappingConfig.mappings().size() == 4);
417 for (
unsigned int i = 0; i < mappingConfig.mappings().
size(); ++i) {
418 BOOST_TEST(mappingConfig.mappings().at(i).mapping !=
nullptr);
419 BOOST_TEST(mappingConfig.mappings().at(i).fromMesh == meshConfig->meshes().at(i + 1));
420 BOOST_TEST(mappingConfig.mappings().at(i).toMesh == meshConfig->meshes().at(i));
422 BOOST_TEST(mappingConfig.mappings().at(i).requiresBasisFunction ==
true);
423 BOOST_TEST(mappingConfig.mappings().at(i).configuredWithAliasTag ==
false);
428 BOOST_TEST(solverSelection);
431 BOOST_TEST(mappingConfig.rbfConfig().solverRtol == 1e-9);
432 BOOST_TEST(mappingConfig.rbfConfig().verticesPerCluster == 10);
433 BOOST_TEST(mappingConfig.rbfConfig().relativeOverlap == 0.4);
434 BOOST_TEST(mappingConfig.rbfConfig().projectToInput ==
false);
439#ifdef PRECICE_WITH_OPENMP
446 std::string file(pathToTests +
"mapping-rbf-pum-direct-omp-config.xml");
454 BOOST_TEST(meshConfig->meshes().size() == 5);
455 BOOST_TEST(mappingConfig.mappings().size() == 4);
456 for (
unsigned int i = 0; i < mappingConfig.mappings().
size(); ++i) {
457 BOOST_TEST(mappingConfig.mappings().at(i).mapping !=
nullptr);
458 BOOST_TEST(mappingConfig.mappings().at(i).fromMesh == meshConfig->meshes().at(i + 1));
459 BOOST_TEST(mappingConfig.mappings().at(i).toMesh == meshConfig->meshes().at(i));
461 BOOST_TEST(mappingConfig.mappings().at(i).requiresBasisFunction ==
true);
462 BOOST_TEST(mappingConfig.mappings().at(i).configuredWithAliasTag ==
false);
467 BOOST_TEST(solverSelection);
470 BOOST_TEST(mappingConfig.rbfConfig().solverRtol == 1e-9);
471 BOOST_TEST(mappingConfig.rbfConfig().verticesPerCluster == 10);
472 BOOST_TEST(mappingConfig.rbfConfig().relativeOverlap == 0.4);
473 BOOST_TEST(mappingConfig.rbfConfig().projectToInput ==
false);
BOOST_AUTO_TEST_CASE(testIQNIMVJPPWithSubsteps)
BOOST_AUTO_TEST_CASE(Configuration)
BOOST_AUTO_TEST_SUITE(PreProcess)
BOOST_AUTO_TEST_SUITE_END()
#define PRECICE_TEST_SETUP(...)
Creates and attaches a TestSetup to a Boost test case.
Performs XML configuration and holds configured mappings.
const std::vector< ConfiguredMapping > & mappings()
Returns all configured mappings.
const RBFConfiguration & rbfConfig() const
void setExperimental(bool experimental)
Performs and provides configuration for Data objects from XML files.
Represents an XML tag to be configured automatically.
constexpr auto size(const C &c) -> decltype(c.size())
contains data mapping from points to meshes.
std::shared_ptr< DataConfiguration > PtrDataConfiguration
std::shared_ptr< MeshConfiguration > PtrMeshConfiguration
@ PETSc
Require to initialize PETSc. This implies the initialization of Events.
std::string getPathToSources()
Returns the base path to the sources.
XMLTag getRootTag()
Returns an empty root tag with name "configuration".
std::string configure(XMLTag &tag, const precice::xml::ConfigurationContext &context, std::string_view configurationFilename)
Configures the given configuration from file configurationFilename.
Main namespace of the precice library.
std::array< bool, 3 > deadAxis
Tightly coupled to the parameters of Participant()