MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / TEST_F

Function TEST_F

tests/tools/Assembler/ShapeFunctions/IntegratorTest.h:43–62  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41};
42
43TEST_F(IntegratorTest, FuncOverTriangle) {
44 FEMeshPtr mesh = load_fem_mesh("square_2D.obj");
45 IntegratorPtr integrator = create_integrator(mesh);
46 const size_t num_element = mesh->getNbrElements();
47 for (size_t i=0; i<num_element; i++) {
48 Float area = mesh->getElementVolume(i);
49 // Magical numbers come from Gaussian quadrature pts over triangle.
50 ASSERT_FLOAT_EQ(area / 6.0, integrator->integrate_func(i, 0, 0));
51 ASSERT_FLOAT_EQ(area / 12.0, integrator->integrate_func(i, 0, 1));
52 ASSERT_FLOAT_EQ(area / 12.0, integrator->integrate_func(i, 0, 2));
53
54 ASSERT_FLOAT_EQ(area / 12.0, integrator->integrate_func(i, 1, 0));
55 ASSERT_FLOAT_EQ(area / 6.0, integrator->integrate_func(i, 1, 1));
56 ASSERT_FLOAT_EQ(area / 12.0, integrator->integrate_func(i, 1, 2));
57
58 ASSERT_FLOAT_EQ(area / 12.0, integrator->integrate_func(i, 2, 0));
59 ASSERT_FLOAT_EQ(area / 12.0, integrator->integrate_func(i, 2, 1));
60 ASSERT_FLOAT_EQ(area / 6.0, integrator->integrate_func(i, 2, 2));
61 }
62}
63
64TEST_F(IntegratorTest, FuncOverTetrahedron) {
65 FEMeshPtr mesh = load_fem_mesh("cube.msh");

Callers

nothing calls this directly

Calls 7

getNbrElementsMethod · 0.45
getElementVolumeMethod · 0.45
integrate_funcMethod · 0.45
getElementMethod · 0.45
getNodeMethod · 0.45
integrate_gradMethod · 0.45

Tested by

no test coverage detected