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

Method create

tools/Assembler/ShapeFunctions/Integrator.cpp:11–24  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9using namespace PyMesh;
10
11Integrator::Ptr Integrator::create(Integrator::FEMeshPtr mesh,
12 Integrator::ShapeFuncPtr shape_func) {
13 const size_t dim = mesh->getDim();
14 const size_t nodes_per_element = mesh->getNodePerElement();
15 if (dim == 2 && nodes_per_element == 3) {
16 return Ptr(new LinearTriangleIntegrator(mesh, shape_func));
17 } else if (dim == 3 && nodes_per_element == 3) {
18 return Ptr(new LinearTriangleIntegrator(mesh, shape_func));
19 } else if (dim == 3 && nodes_per_element == 4) {
20 return Ptr(new LinearTetrahedronIntegrator(mesh, shape_func));
21 } else {
22 throw NotImplementedError("No integrator support this mesh type.");
23 }
24}

Callers

nothing calls this directly

Calls 3

NotImplementedErrorClass · 0.85
getDimMethod · 0.45
getNodePerElementMethod · 0.45

Tested by

no test coverage detected