preCICE v3.1.2
|
#include <Eigen/Core>
#include <algorithm>
#include <memory>
#include <ostream>
#include <string>
#include <utility>
#include <vector>
#include "logging/Logger.hpp"
#include "mapping/Mapping.hpp"
#include "mapping/RadialBasisFctMapping.hpp"
#include "mapping/RadialBasisFctSolver.hpp"
#include "mapping/config/MappingConfiguration.hpp"
#include "mapping/impl/BasisFunctions.hpp"
#include "mapping/tests/RadialBasisFctHelper.hpp"
#include "mesh/Data.hpp"
#include "mesh/Mesh.hpp"
#include "mesh/SharedPointer.hpp"
#include "mesh/Utils.hpp"
#include "mesh/Vertex.hpp"
#include "testing/TestContext.hpp"
#include "testing/Testing.hpp"
Go to the source code of this file.
Classes | |
struct | VertexSpecification |
Holds rank, owner, position and value of a single vertex. More... | |
struct | MeshSpecification |
Macros | |
#define | doLocalCode(Type, function, polynomial) |
Typedefs | |
using | ReferenceSpecification = std::vector<std::pair<int, std::vector<double>>> |
Contains which values are expected on which rank: rank -> vector of data. | |
Functions | |
mesh::PtrMesh | getDistributedMesh (const TestContext &context, MeshSpecification &meshSpec, int globalIndexOffset=0, bool meshIsSmaller=false) |
Eigen::VectorXd | getDistributedData (const TestContext &context, MeshSpecification const &meshSpec) |
void | testDistributed (const TestContext &context, Mapping &mapping, MeshSpecification inMeshSpec, MeshSpecification outMeshSpec, ReferenceSpecification referenceSpec, int inGlobalIndexOffset=0, bool meshIsSmaller=false) |
BOOST_AUTO_TEST_CASE (DistributedConsistent2DV1) | |
Test with a homogeneous distribution of mesh among ranks. | |
BOOST_AUTO_TEST_CASE (DistributedConsistent2DV1Vector) | |
BOOST_AUTO_TEST_CASE (DistributedConsistent2DV2) | |
Using a more heterogeneous distributon of vertices and owner. | |
BOOST_AUTO_TEST_CASE (DistributedConsistent2DV3) | |
Test with a very heterogeneous distributed and non-continuous ownership. | |
BOOST_AUTO_TEST_CASE (DistributedConsistent2DV3Vector) | |
Test with a very heterogeneous distributed and non-continuous ownership. | |
BOOST_AUTO_TEST_CASE (DistributedConsistent2DV4) | |
Some ranks are empty, does not converge. | |
BOOST_AUTO_TEST_CASE (DistributedConsistent2DV5) | |
BOOST_AUTO_TEST_CASE (DistributedConsistent2DV6, *boost::unit_test::tolerance(1e-7)) | |
same as 2DV4, but strictly linear input values, converges and gives correct results | |
BOOST_AUTO_TEST_CASE (DistributedConservative2DV1) | |
Test with a homogeneous distribution of mesh among ranks. | |
BOOST_AUTO_TEST_CASE (DistributedConservative2DV1Vector) | |
Test with a homogeneous distribution of mesh among ranks. | |
BOOST_AUTO_TEST_CASE (DistributedConservative2DV2) | |
Using a more heterogeneous distribution of vertices and owner. | |
BOOST_AUTO_TEST_CASE (DistributedConservative2DV3) | |
Using meshes of different sizes, inMesh is smaller then outMesh. | |
BOOST_AUTO_TEST_CASE (DistributedConservative2DV4, *boost::unit_test::tolerance(1e-6)) | |
Using meshes of different sizes, outMesh is smaller then inMesh. | |
BOOST_AUTO_TEST_CASE (testDistributedConservative2DV5) | |
Tests a non-contigous owner distributed at the outMesh. | |
BOOST_AUTO_TEST_CASE (testDistributedConservative2DV5Vector) | |
Tests a non-contigous owner distributed at the outMesh. | |
void | testTagging (const TestContext &context, MeshSpecification inMeshSpec, MeshSpecification outMeshSpec, MeshSpecification shouldTagFirstRound, MeshSpecification shouldTagSecondRound, bool consistent) |
BOOST_AUTO_TEST_CASE (testTagFirstRound) | |
BOOST_AUTO_TEST_CASE (MapThinPlateSplines) | |
BOOST_AUTO_TEST_CASE (MapMultiquadrics) | |
BOOST_AUTO_TEST_CASE (MapInverseMultiquadrics) | |
BOOST_AUTO_TEST_CASE (MapVolumeSplines) | |
BOOST_AUTO_TEST_CASE (MapGaussian) | |
BOOST_AUTO_TEST_CASE (MapCompactThinPlateSplinesC2) | |
BOOST_AUTO_TEST_CASE (MapCompactPolynomialC0) | |
BOOST_AUTO_TEST_CASE (MapCompactPolynomialC2) | |
BOOST_AUTO_TEST_CASE (MapCompactPolynomialC4) | |
BOOST_AUTO_TEST_CASE (MapCompactPolynomialC6) | |
BOOST_AUTO_TEST_CASE (MapCompactPolynomialC8) | |
void | testDeadAxis2d (Polynomial polynomial, Mapping::Constraint constraint) |
void | testDeadAxis3d (Polynomial polynomial, Mapping::Constraint constraint) |
BOOST_AUTO_TEST_CASE (DeadAxis2Consistent) | |
BOOST_AUTO_TEST_CASE (DeadAxis3DConsistent) | |
BOOST_AUTO_TEST_CASE (DeadAxis2Conservative) | |
BOOST_AUTO_TEST_CASE (DeadAxis3DConervative) | |
Variables | |
constexpr int | meshDims2D {2} |
#define doLocalCode | ( | Type, | |
function, | |||
polynomial ) |
Definition at line 1285 of file RadialBasisFctMappingTest.cpp.
using ReferenceSpecification = std::vector<std::pair<int, std::vector<double>>> |
Contains which values are expected on which rank: rank -> vector of data.
Definition at line 65 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DeadAxis2Conservative | ) |
Definition at line 1544 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DeadAxis2Consistent | ) |
Definition at line 1528 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DeadAxis3DConervative | ) |
Definition at line 1552 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DeadAxis3DConsistent | ) |
Definition at line 1536 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DistributedConservative2DV1 | ) |
Test with a homogeneous distribution of mesh among ranks.
Definition at line 658 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DistributedConservative2DV1Vector | ) |
Test with a homogeneous distribution of mesh among ranks.
Definition at line 733 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DistributedConservative2DV2 | ) |
Using a more heterogeneous distribution of vertices and owner.
Definition at line 806 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DistributedConservative2DV3 | ) |
Using meshes of different sizes, inMesh is smaller then outMesh.
Definition at line 883 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DistributedConservative2DV4 | , |
* | boost::unit_test::tolerance1e-6 ) |
Using meshes of different sizes, outMesh is smaller then inMesh.
Definition at line 958 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DistributedConsistent2DV1 | ) |
Test with a homogeneous distribution of mesh among ranks.
Definition at line 158 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DistributedConsistent2DV1Vector | ) |
Definition at line 210 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DistributedConsistent2DV2 | ) |
Using a more heterogeneous distributon of vertices and owner.
Definition at line 261 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DistributedConsistent2DV3 | ) |
Test with a very heterogeneous distributed and non-continuous ownership.
Definition at line 312 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DistributedConsistent2DV3Vector | ) |
Test with a very heterogeneous distributed and non-continuous ownership.
Definition at line 380 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DistributedConsistent2DV4 | ) |
Some ranks are empty, does not converge.
Definition at line 448 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DistributedConsistent2DV5 | ) |
Definition at line 514 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DistributedConsistent2DV6 | , |
* | boost::unit_test::tolerance1e-7 ) |
same as 2DV4, but strictly linear input values, converges and gives correct results
Definition at line 592 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapCompactPolynomialC0 | ) |
Definition at line 1351 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapCompactPolynomialC2 | ) |
Definition at line 1359 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapCompactPolynomialC4 | ) |
Definition at line 1367 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapCompactPolynomialC6 | ) |
Definition at line 1375 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapCompactPolynomialC8 | ) |
Definition at line 1383 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapCompactThinPlateSplinesC2 | ) |
Definition at line 1343 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapGaussian | ) |
Definition at line 1336 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapInverseMultiquadrics | ) |
Definition at line 1321 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapMultiquadrics | ) |
Definition at line 1313 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapThinPlateSplines | ) |
Definition at line 1305 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapVolumeSplines | ) |
Definition at line 1328 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | testDistributedConservative2DV5 | ) |
Tests a non-contigous owner distributed at the outMesh.
Definition at line 1026 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | testDistributedConservative2DV5Vector | ) |
Tests a non-contigous owner distributed at the outMesh.
Definition at line 1100 of file RadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | testTagFirstRound | ) |
Definition at line 1231 of file RadialBasisFctMappingTest.cpp.
Eigen::VectorXd getDistributedData | ( | const TestContext & | context, |
MeshSpecification const & | meshSpec ) |
Definition at line 99 of file RadialBasisFctMappingTest.cpp.
mesh::PtrMesh getDistributedMesh | ( | const TestContext & | context, |
MeshSpecification & | meshSpec, | ||
int | globalIndexOffset = 0, | ||
bool | meshIsSmaller = false ) |
Definition at line 67 of file RadialBasisFctMappingTest.cpp.
void testDeadAxis2d | ( | Polynomial | polynomial, |
Mapping::Constraint | constraint ) |
Definition at line 1392 of file RadialBasisFctMappingTest.cpp.
void testDeadAxis3d | ( | Polynomial | polynomial, |
Mapping::Constraint | constraint ) |
Definition at line 1454 of file RadialBasisFctMappingTest.cpp.
void testDistributed | ( | const TestContext & | context, |
Mapping & | mapping, | ||
MeshSpecification | inMeshSpec, | ||
MeshSpecification | outMeshSpec, | ||
ReferenceSpecification | referenceSpec, | ||
int | inGlobalIndexOffset = 0, | ||
bool | meshIsSmaller = false ) |
Definition at line 119 of file RadialBasisFctMappingTest.cpp.
void testTagging | ( | const TestContext & | context, |
MeshSpecification | inMeshSpec, | ||
MeshSpecification | outMeshSpec, | ||
MeshSpecification | shouldTagFirstRound, | ||
MeshSpecification | shouldTagSecondRound, | ||
bool | consistent ) |
Definition at line 1173 of file RadialBasisFctMappingTest.cpp.
|
constexpr |
Definition at line 155 of file RadialBasisFctMappingTest.cpp.