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);
75 bool solverSelection = mappingConfig.
rbfConfig().
solver == MappingConfiguration::RBFConfiguration::SystemSolver::GlobalDirect;
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);
112 bool solverSelection = mappingConfig.
rbfConfig().
solver == MappingConfiguration::RBFConfiguration::SystemSolver::PUMDirect;
113 BOOST_TEST(solverSelection);
123#ifndef PRECICE_NO_PETSC
131 std::string file(pathToTests +
"mapping-rbf-iterative-config.xml");
139 BOOST_TEST(meshConfig->meshes().size() == 13);
140 BOOST_TEST(mappingConfig.
mappings().size() == 12);
141 for (
unsigned int i = 0; i < mappingConfig.
mappings().size(); ++i) {
142 BOOST_TEST(mappingConfig.
mappings().at(i).mapping !=
nullptr);
143 BOOST_TEST(mappingConfig.
mappings().at(i).fromMesh == meshConfig->meshes().at(i + 1));
144 BOOST_TEST(mappingConfig.
mappings().at(i).toMesh == meshConfig->meshes().at(i));
146 BOOST_TEST(mappingConfig.
mappings().at(i).requiresBasisFunction ==
true);
147 BOOST_TEST(mappingConfig.
mappings().at(i).configuredWithAliasTag ==
false);
151 bool solverSelection = mappingConfig.
rbfConfig().
solver == MappingConfiguration::RBFConfiguration::SystemSolver::GlobalIterative;
152 BOOST_TEST(solverSelection);
169 std::string file(pathToTests +
"mapping-rbf-alias-config.xml");
177 BOOST_TEST(meshConfig->meshes().size() == 3);
178 BOOST_TEST(mappingConfig.
mappings().size() == 2);
179 BOOST_TEST(mappingConfig.
mappings().at(0).mapping !=
nullptr);
180 BOOST_TEST(mappingConfig.
mappings().at(0).fromMesh == meshConfig->meshes().at(0));
181 BOOST_TEST(mappingConfig.
mappings().at(0).toMesh == meshConfig->meshes().at(2));
183 BOOST_TEST(mappingConfig.
mappings().at(0).requiresBasisFunction ==
true);
184 BOOST_TEST(mappingConfig.
mappings().at(0).configuredWithAliasTag ==
true);
187 BOOST_TEST(mappingConfig.
mappings().at(1).mapping !=
nullptr);
188 BOOST_TEST(mappingConfig.
mappings().at(1).fromMesh == meshConfig->meshes().at(2));
189 BOOST_TEST(mappingConfig.
mappings().at(1).toMesh == meshConfig->meshes().at(1));
191 BOOST_TEST(mappingConfig.
mappings().at(1).requiresBasisFunction ==
true);
192 BOOST_TEST(mappingConfig.
mappings().at(1).configuredWithAliasTag ==
true);
195 bool solverSelection = mappingConfig.
rbfConfig().
solver == MappingConfiguration::RBFConfiguration::SystemSolver::PUMDirect;
196 BOOST_TEST(solverSelection);
208#ifndef PRECICE_NO_GINKGO
210#ifdef PRECICE_WITH_CUDA
220 std::string file(pathToTests +
"mapping-rbf-cuda-config.xml");
228 BOOST_TEST(meshConfig->meshes().size() == 3);
229 BOOST_TEST(mappingConfig.mappings().size() == 2);
230 for (
unsigned int i = 0; i < mappingConfig.mappings().
size(); ++i) {
231 BOOST_TEST(mappingConfig.mappings().at(i).mapping !=
nullptr);
232 BOOST_TEST(mappingConfig.mappings().at(i).fromMesh == meshConfig->meshes().at(i + 1));
233 BOOST_TEST(mappingConfig.mappings().at(i).toMesh == meshConfig->meshes().at(i));
235 BOOST_TEST(mappingConfig.mappings().at(i).requiresBasisFunction ==
true);
236 BOOST_TEST(mappingConfig.mappings().at(i).configuredWithAliasTag ==
false);
240 bool solverSelection = mappingConfig.rbfConfig().solver == MappingConfiguration::RBFConfiguration::SystemSolver::GlobalIterative;
241 BOOST_TEST(solverSelection);
242 bool poly = mappingConfig.rbfConfig().polynomial == Polynomial::OFF;
244 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[0] ==
true);
245 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[1] ==
false);
246 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[2] ==
true);
247 BOOST_TEST(mappingConfig.rbfConfig().solverRtol == 1e-6);
252#ifdef PRECICE_WITH_HIP
262 std::string file(pathToTests +
"mapping-rbf-hip-config.xml");
270 BOOST_TEST(meshConfig->meshes().size() == 3);
271 BOOST_TEST(mappingConfig.mappings().size() == 2);
272 for (
unsigned int i = 0; i < mappingConfig.mappings().
size(); ++i) {
273 BOOST_TEST(mappingConfig.mappings().at(i).mapping !=
nullptr);
274 BOOST_TEST(mappingConfig.mappings().at(i).fromMesh == meshConfig->meshes().at(i + 1));
275 BOOST_TEST(mappingConfig.mappings().at(i).toMesh == meshConfig->meshes().at(i));
277 BOOST_TEST(mappingConfig.mappings().at(i).requiresBasisFunction ==
true);
278 BOOST_TEST(mappingConfig.mappings().at(i).configuredWithAliasTag ==
false);
282 bool solverSelection = mappingConfig.rbfConfig().solver == MappingConfiguration::RBFConfiguration::SystemSolver::GlobalIterative;
283 BOOST_TEST(solverSelection);
284 bool poly = mappingConfig.rbfConfig().polynomial == Polynomial::OFF;
286 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[0] ==
true);
287 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[1] ==
false);
288 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[2] ==
true);
289 BOOST_TEST(mappingConfig.rbfConfig().solverRtol == 1e-6);
294#ifdef PRECICE_WITH_OPENMP
304 std::string file(pathToTests +
"mapping-rbf-omp-config.xml");
312 BOOST_TEST(meshConfig->meshes().size() == 2);
313 BOOST_TEST(mappingConfig.mappings().size() == 1);
314 for (
unsigned int i = 0; i < mappingConfig.mappings().
size(); ++i) {
315 BOOST_TEST(mappingConfig.mappings().at(i).mapping !=
nullptr);
316 BOOST_TEST(mappingConfig.mappings().at(i).fromMesh == meshConfig->meshes().at(i + 1));
317 BOOST_TEST(mappingConfig.mappings().at(i).toMesh == meshConfig->meshes().at(i));
319 BOOST_TEST(mappingConfig.mappings().at(i).requiresBasisFunction ==
true);
320 BOOST_TEST(mappingConfig.mappings().at(i).configuredWithAliasTag ==
false);
324 bool solverSelection = mappingConfig.rbfConfig().solver == MappingConfiguration::RBFConfiguration::SystemSolver::GlobalIterative;
325 BOOST_TEST(solverSelection);
326 bool poly = mappingConfig.rbfConfig().polynomial == Polynomial::OFF;
328 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[0] ==
true);
329 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[1] ==
false);
330 BOOST_TEST(mappingConfig.rbfConfig().deadAxis[2] ==
true);
331 BOOST_TEST(mappingConfig.rbfConfig().solverRtol == 1e-6);
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
Performs and provides configuration for Data objects from XML files.
Represents an XML tag to be configured automatically.
contains data mapping from points to meshes.
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()