20 Eigen::Vector3d location(0.0, 0.0, 0.0);
25 std::vector<int> expectedIndices = {0};
26 std::vector<double> expectedWeights = {1.0};
46 Eigen::Vector3d location(0.0, 0.4, 0.0);
50 std::vector<int> expectedIndices = {0, 1};
51 std::vector<double> expectedWeights = {0.8, 0.2};
55 BOOST_TEST(polation.
distance() == 0);
71 Eigen::Vector3d location(0.0, 0.4, 0.12);
75 std::vector<int> expectedIndices = {0, 1};
76 std::vector<double> expectedWeights = {0.8, 0.2};
80 BOOST_TEST(polation.
distance() == 0.12);
101 Eigen::Vector3d location(1.0, 0.6, 0.0);
103 Polation polation(location, triangle);
105 std::vector<int> expectedIndices = {0, 1, 2};
106 std::vector<double> expectedWeights = {0.35, 0.35, 0.3};
110 BOOST_TEST(polation.
distance() == 0);
132 Eigen::Vector3d location(1.0, 0.6, 0.14);
134 Polation polation(location, triangle);
136 std::vector<int> expectedIndices = {0, 1, 2};
137 std::vector<double> expectedWeights = {0.35, 0.35, 0.3};
141 BOOST_TEST(polation.
distance() == 0.14);
158 Eigen::Vector3d location(0.0, 3.0, 0.0);
162 std::vector<int> expectedIndices = {0, 1};
163 std::vector<double> expectedWeights = {-0.5, 1.5};
168 BOOST_TEST(polation.
distance() == 0);
189 Eigen::Vector3d location(4.0, 0.6, 0.0);
191 Polation polation(location, triangle);
193 std::vector<int> expectedIndices = {0, 1, 2};
194 std::vector<double> expectedWeights = {-1.15, 1.85, 0.3};
199 BOOST_TEST(polation.
distance() == 0);
219 Eigen::Vector3d location(0.15, 0.25, 0.40);
223 std::vector<int> expectedIndices = {0, 1, 2, 3};
224 std::vector<double> expectedWeights = {0.15, 0.25, 0.40, 0.20};
228 BOOST_TEST(polation.
distance() == 0);
248 Eigen::Vector3d location(-0.15, 0.25, 0.40);
252 std::vector<int> expectedIndices = {0, 1, 2, 3};
253 std::vector<double> expectedWeights = {-0.15, 0.25, 0.40, 0.50};
258 BOOST_TEST(polation.
distance() == 0);
276 Eigen::Vector3d location(1 + 1e-15, -1e-16, 0.0);
293 Eigen::Vector3d location(0.5 + 1e-15, 0.5 + 1e-15, 1e-14);
295 Polation polation(location, triangle);
311 Eigen::Vector3d location(1 - 1e-15, -1e-15, -1e-15);
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.
Calculates the barycentric coordinates of a coordinate on the given vertex/edge/triangle and stores t...
const boost::container::static_vector< WeightedElement, 4 > & getWeightedElements() const
Get the weights and indices of the calculated interpolation.
bool isInterpolation() const
Check whether all the weights are positive, which means it is interpolation.
double distance() const
Returns the projection distance.
Linear edge of a mesh, defined by two Vertex objects.
Tetrahedron of a mesh, defined by 4 vertices.
Triangle of a mesh, defined by three vertices.
Eigen::VectorXd computeNormal() const
Computes the normal of the triangle.
Eigen::VectorXd getCoords() const
Returns the coordinates of the vertex.
contains data mapping from points to meshes.
Main namespace of the precice library.