31 mesh.createVertex(Eigen::Vector2d::Zero());
32 mesh.createVertex(Eigen::Vector2d::Constant(1));
46 mesh.createVertex(Eigen::Vector2d::Zero());
47 mesh.createVertex(Eigen::Vector2d::Constant(1));
61 mesh.createVertex(Eigen::Vector2d::Zero());
62 mesh.createVertex(Eigen::Vector2d::Constant(1));
75 if (context.isPrimary()) {
76 mesh.createVertex(Eigen::Vector2d::Zero());
78 mesh.createVertex(Eigen::Vector2d::Constant(1));
87 if (context.isPrimary()) {
97 if (context.isPrimary()) {
98 mesh.createVertex(Eigen::Vector2d::Zero());
100 mesh.createVertex(Eigen::Vector2d::Constant(1));
109 if (context.isPrimary()) {
119 if (context.isPrimary()) {
120 mesh.createVertex(Eigen::Vector2d::Zero());
122 mesh.createVertex(Eigen::Vector2d::Constant(1));
125 BOOST_TEST_REQUIRE(
data->timeStepsStorage().empty());
131 if (context.isPrimary()) {
141 if (context.isPrimary()) {
142 mesh.createVertex(Eigen::Vector2d::Zero());
144 mesh.createVertex(Eigen::Vector2d::Constant(1));
146 auto missing =
mesh.createData(
"missing", 2, 0_dataID);
147 BOOST_TEST_REQUIRE(missing->timeStepsStorage().empty());
155 if (context.isPrimary()) {
170 dataScalar->requireDataGradient();
171 dataVector->requireDataGradient();
173 mesh.createVertex(Eigen::Vector2d::Constant(0.0));
174 mesh.createVertex(Eigen::Vector2d::Constant(1.0));
177 scalar.values.setLinSpaced(0, 1);
178 scalar.gradients.setOnes();
179 dataScalar->setSampleAtTime(0, scalar);
182 vectorial.values.setLinSpaced(0, 1);
183 vectorial.gradients.setOnes();
184 dataVector->setSampleAtTime(0, vectorial);
201 dataScalar->requireDataGradient();
202 dataVector->requireDataGradient();
204 mesh.createVertex(Eigen::Vector3d::Constant(0.0));
205 mesh.createVertex(Eigen::Vector3d::Constant(1.0));
208 scalar.
values.setLinSpaced(0, 1);
210 dataScalar->setSampleAtTime(0, scalar);
213 vectorial.
values.setLinSpaced(0, 1);
215 dataVector->setSampleAtTime(0, vectorial);
233 mesh.createEdge(v1, v2);
234 mesh.createEdge(v2, v3);
235 mesh.createEdge(v3, v1);
250 if (context.isRank(0)) {
255 mesh.createEdge(v1, v2);
256 mesh.createEdge(v2, v3);
257 mesh.createEdge(v3, v1);
258 mesh.setVertexOffsets({3, 3, 6, 7});
260 }
else if (context.isRank(1)) {
262 }
else if (context.isRank(2)) {
267 mesh.createEdge(v1, v2);
268 mesh.createEdge(v2, v3);
269 mesh.createEdge(v3, v1);
270 }
else if (context.isRank(3)) {
271 mesh.createVertex(Eigen::Vector2d::Constant(3.0));
278 testing::expectFiles(fmt::format(
"Mesh-io-VTUExport.init_{}.vtu", context.rank), fmt::format(
"Mesh-io-VTUExport.dt1_{}.vtu", context.rank));
279 if (context.isPrimary()) {
291 if (context.isRank(0)) {
299 mesh.createTriangle(e1, e2, e3);
301 mesh.setVertexOffsets({3, 3, 6, 7});
303 }
else if (context.isRank(1)) {
305 }
else if (context.isRank(2)) {
313 mesh.createTriangle(e1, e2, e3);
314 }
else if (context.isRank(3)) {
315 mesh.createVertex(Eigen::Vector3d::Constant(3.0));
322 testing::expectFiles(fmt::format(
"Mesh-io-VTUExport.init_{}.vtu", context.rank), fmt::format(
"Mesh-io-VTUExport.dt1_{}.vtu", context.rank));
323 if (context.isPrimary()) {
336 if (context.isRank(0)) {
343 mesh.createTriangle(em1, e12, e2m);
346 mesh.createTriangle(eo1, e12, e2o);
347 mesh.setVertexOffsets({3, 6, 9, 12});
349 }
else if (context.isRank(1)) {
356 mesh.createTriangle(em1, e12, e2m);
359 mesh.createTriangle(eo1, e12, e2o);
360 }
else if (context.isRank(2)) {
367 mesh.createTriangle(em1, e12, e2m);
370 mesh.createTriangle(eo1, e12, e2o);
371 }
else if (context.isRank(3)) {
378 mesh.createTriangle(em1, e12, e2m);
381 mesh.createTriangle(eo1, e12, e2o);
388 testing::expectFiles(fmt::format(
"Mesh-io-VTUExport.init_{}.vtu", context.rank), fmt::format(
"Mesh-io-VTUExport.dt1_{}.vtu", context.rank));
389 if (context.isPrimary()) {
405 mesh.createTetrahedron(v0, v1, v2, v3);
422 if (context.isRank(0)) {
429 mesh.createTetrahedron(v000, v001, v011, v111);
430 mesh.createTetrahedron(v000, v010, v011, v111);
431 mesh.setVertexOffsets({4, 8, 8, 12});
433 }
else if (context.isRank(1)) {
440 mesh.createTetrahedron(v000, v001, v101, v111);
441 mesh.createTetrahedron(v000, v100, v101, v111);
442 }
else if (context.isRank(3)) {
449 mesh.createTetrahedron(v000, v010, v110, v111);
450 mesh.createTetrahedron(v000, v100, v110, v111);
457 testing::expectFiles(fmt::format(
"Mesh-io-VTUExport.init_{}.vtu", context.rank), fmt::format(
"Mesh-io-VTUExport.dt1_{}.vtu", context.rank));
458 if (context.isPrimary()) {
BOOST_AUTO_TEST_CASE(testIQNIMVJPPWithSubsteps)
BOOST_AUTO_TEST_SUITE(PreProcess)
BOOST_AUTO_TEST_SUITE_END()
#define PRECICE_TEST_SETUP(...)
Creates and attaches a TestSetup to a Boost test case.
void doExport(int index, double time) final override
Export the mesh and writes files.
Linear edge of a mesh, defined by two Vertex objects.
Container and creator for meshes.
provides Mesh, Data and primitives.
std::shared_ptr< Data > PtrData
void expectFiles(Args... args)
Main namespace of the precice library.
Eigen::MatrixXd gradients
The gradients of the data. Use gradients.col(d*i+k) to get the gradient of vertex i,...
Sample & setZero()
Sets values and gradients to zero.