preCICE v3.2.0
|
#include <Eigen/Core>
#include <algorithm>
#include <map>
#include <memory>
#include <ostream>
#include <set>
#include <string>
#include <utility>
#include <vector>
#include "logging/Logger.hpp"
#include "mapping/Mapping.hpp"
#include "mapping/PetRadialBasisFctMapping.hpp"
#include "mapping/config/MappingConfiguration.hpp"
#include "mapping/impl/BasisFunctions.hpp"
#include "mesh/Data.hpp"
#include "mesh/Mesh.hpp"
#include "mesh/SharedPointer.hpp"
#include "mesh/Utils.hpp"
#include "mesh/Vertex.hpp"
#include "precice/impl/versions.hpp"
#include "testing/TestContext.hpp"
#include "testing/Testing.hpp"
#include "utils/EigenHelperFunctions.hpp"
#include "utils/Petsc.hpp"
Go to the source code of this file.
Classes | |
struct | VertexSpecification |
Holds rank, owner, position and value of a single vertex. More... |
Typedefs | |
using | MeshSpecification = std::vector<VertexSpecification> |
using | ReferenceSpecification = std::vector<std::pair<int, std::vector<double>>> |
Contains which values are expected on which rank: rank -> vector of data. |
Functions | |
void | addGlobalIndex (mesh::PtrMesh &mesh, int offset=0) |
void | testSerialScaledConsistent (mesh::PtrMesh inMesh, mesh::PtrMesh outMesh, PtrData inData, PtrData outData) |
void | getDistributedMesh (const TestContext &context, MeshSpecification const &vertices, mesh::PtrMesh &mesh, mesh::PtrData &data, int globalIndexOffset=0) |
void | testDistributed (const TestContext &context, Mapping &mapping, MeshSpecification inMeshSpec, MeshSpecification outMeshSpec, ReferenceSpecification referenceSpec, int inGlobalIndexOffset=0) |
PRECICE_TEST_SETUP (""_on(4_ranks).setupIntraComm(), Require::PETSc) BOOST_AUTO_TEST_CASE(DistributedConsistent2DV1) | |
Test with a homogeneous distribution of mesh among ranks. | |
void | testTagging (const TestContext &context, MeshSpecification inMeshSpec, MeshSpecification outMeshSpec, MeshSpecification shouldTagFirstRound, MeshSpecification shouldTagSecondRound, bool consistent) |
void | perform2DTestConsistentMapping (Mapping &mapping) |
void | perform2DTestConsistentMappingVector (Mapping &mapping) |
void | perform3DTestConsistentMapping (Mapping &mapping) |
void | perform2DTestScaledConsistentMapping (Mapping &mapping) |
void | perform3DTestScaledConsistentMapping (Mapping &mapping) |
void | perform2DTestConservativeMapping (Mapping &mapping) |
void | perform2DTestConservativeMappingVector (Mapping &mapping) |
void | perform3DTestConservativeMapping (Mapping &mapping) |
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 (MapPetCompactPolynomialC0) | |
BOOST_AUTO_TEST_CASE (MapPetCompactPolynomialC6) | |
BOOST_AUTO_TEST_CASE (DeadAxis2) | |
BOOST_AUTO_TEST_CASE (DeadAxis3D) | |
PRECICE_TEST_SETUP (1_rank, Require::PETSc) | |
BOOST_AUTO_TEST_CASE (ConsistentPolynomialSwitch, *boost::unit_test::tolerance(1e-6)) | |
BOOST_AUTO_TEST_CASE (ConservativePolynomialSwitch, *boost::unit_test::tolerance(1e-6)) | |
BOOST_AUTO_TEST_CASE (NoMapping) | |
BOOST_AUTO_TEST_CASE (TestNonHomongenousGlobalIndex) |
using MeshSpecification = std::vector<VertexSpecification> |
Definition at line 85 of file PetRadialBasisFctMappingTest.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 88 of file PetRadialBasisFctMappingTest.cpp.
void addGlobalIndex | ( | mesh::PtrMesh & | mesh, |
int | offset = 0 ) |
Definition at line 37 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | ConservativePolynomialSwitch | , |
* | boost::unit_test::tolerance1e-6 ) |
Definition at line 2256 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | ConsistentPolynomialSwitch | , |
* | boost::unit_test::tolerance1e-6 ) |
Definition at line 2184 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DeadAxis2 | ) |
Definition at line 2076 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | DeadAxis3D | ) |
Definition at line 2127 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapCompactThinPlateSplinesC2 | ) |
Definition at line 2004 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapGaussian | ) |
Definition at line 1982 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapInverseMultiquadrics | ) |
Definition at line 1938 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapMultiquadrics | ) |
Definition at line 1912 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapPetCompactPolynomialC0 | ) |
Definition at line 2028 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapPetCompactPolynomialC6 | ) |
Definition at line 2052 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapThinPlateSplines | ) |
Definition at line 1890 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | MapVolumeSplines | ) |
Definition at line 1960 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | NoMapping | ) |
Definition at line 2337 of file PetRadialBasisFctMappingTest.cpp.
BOOST_AUTO_TEST_CASE | ( | TestNonHomongenousGlobalIndex | ) |
Definition at line 2377 of file PetRadialBasisFctMappingTest.cpp.
void getDistributedMesh | ( | const TestContext & | context, |
MeshSpecification const & | vertices, | ||
mesh::PtrMesh & | mesh, | ||
mesh::PtrData & | data, | ||
int | globalIndexOffset = 0 ) |
Definition at line 90 of file PetRadialBasisFctMappingTest.cpp.
void perform2DTestConservativeMapping | ( | Mapping & | mapping | ) |
Definition at line 1682 of file PetRadialBasisFctMappingTest.cpp.
void perform2DTestConservativeMappingVector | ( | Mapping & | mapping | ) |
Definition at line 1760 of file PetRadialBasisFctMappingTest.cpp.
void perform2DTestConsistentMapping | ( | Mapping & | mapping | ) |
Definition at line 1169 of file PetRadialBasisFctMappingTest.cpp.
void perform2DTestConsistentMappingVector | ( | Mapping & | mapping | ) |
Definition at line 1282 of file PetRadialBasisFctMappingTest.cpp.
void perform2DTestScaledConsistentMapping | ( | Mapping & | mapping | ) |
Definition at line 1574 of file PetRadialBasisFctMappingTest.cpp.
void perform3DTestConservativeMapping | ( | Mapping & | mapping | ) |
Definition at line 1843 of file PetRadialBasisFctMappingTest.cpp.
void perform3DTestConsistentMapping | ( | Mapping & | mapping | ) |
Definition at line 1413 of file PetRadialBasisFctMappingTest.cpp.
void perform3DTestScaledConsistentMapping | ( | Mapping & | mapping | ) |
Definition at line 1626 of file PetRadialBasisFctMappingTest.cpp.
PRECICE_TEST_SETUP | ( | "" | _on4_ranks).setupIntraComm(, |
Require::PETSc | ) |
Test with a homogeneous distribution of mesh among ranks.
Tests a non-contigous owner distributed at the outMesh.
Using meshes of different sizes, outMesh is smaller then inMesh.
Using meshes of different sizes, inMesh is smaller then outMesh.
Using a more heterogeneous distribution of vertices and owner.
same as 2DV4, but strictly linear input values, converges and gives correct results
Some ranks are empty, does not converge.
Test with a very heterogeneous distributed and non-continuous ownership.
Using a more heterogeneous distributon of vertices and owner.
Definition at line 182 of file PetRadialBasisFctMappingTest.cpp.
PRECICE_TEST_SETUP | ( | 1_rank | , |
Require::PETSc | ) |
void testDistributed | ( | const TestContext & | context, |
Mapping & | mapping, | ||
MeshSpecification | inMeshSpec, | ||
MeshSpecification | outMeshSpec, | ||
ReferenceSpecification | referenceSpec, | ||
int | inGlobalIndexOffset = 0 ) |
Definition at line 126 of file PetRadialBasisFctMappingTest.cpp.
void testSerialScaledConsistent | ( | mesh::PtrMesh | inMesh, |
mesh::PtrMesh | outMesh, | ||
PtrData | inData, | ||
PtrData | outData ) |
Definition at line 44 of file PetRadialBasisFctMappingTest.cpp.
void testTagging | ( | const TestContext & | context, |
MeshSpecification | inMeshSpec, | ||
MeshSpecification | outMeshSpec, | ||
MeshSpecification | shouldTagFirstRound, | ||
MeshSpecification | shouldTagSecondRound, | ||
bool | consistent ) |
Definition at line 1040 of file PetRadialBasisFctMappingTest.cpp.