int isPredefinedCell(const CellTopology& cell) { switch(cell.getKey() ) { case Node::key: case Particle::key: case Line<2>::key: case Line<3>::key: case ShellLine<2>::key: case ShellLine<3>::key: case Beam<2>::key: case Beam<3>::key: case Triangle<3>::key: case Triangle<4>::key: case Triangle<6>::key: case ShellTriangle<3>::key: case ShellTriangle<6>::key: case Quadrilateral<4>::key: case Quadrilateral<8>::key: case Quadrilateral<9>::key: case ShellQuadrilateral<4>::key: case ShellQuadrilateral<8>::key: case ShellQuadrilateral<9>::key: case Tetrahedron<4>::key: case Tetrahedron<8>::key: case Tetrahedron<10>::key: case Tetrahedron<11>::key: case Hexahedron<8>::key: case Hexahedron<20>::key: case Hexahedron<27>::key: case Pyramid<5>::key: case Pyramid<13>::key: case Pyramid<14>::key: case Wedge<6>::key: case Wedge<15>::key: case Wedge<18>::key: case Pentagon<5>::key: case Hexagon<6>::key: return 1; break; default: return 0; } }
double GeometryVerifier::getEquiVol(CellTopology& cell_topo) { double volEqui = 1.0; switch(cell_topo.getKey() ) { // Tet cells case shards::Tetrahedron<4>::key: case shards::Tetrahedron<8>::key: case shards::Tetrahedron<10>::key: volEqui = std::sqrt(2.)/12.; break; // Hex cells case shards::Hexahedron<8>::key: case shards::Hexahedron<20>::key: case shards::Hexahedron<27>::key: volEqui = 1.0; break; // Pyramid cells case shards::Pyramid<5>::key: case shards::Pyramid<13>::key: case shards::Pyramid<14>::key: volEqui = std::sqrt(2.)/6.; break; // Wedge cells case shards::Wedge<6>::key: case shards::Wedge<15>::key: case shards::Wedge<18>::key: volEqui = std::sqrt(3.)/4.; break; case shards::Triangle<3>::key: case shards::Triangle<4>::key: case shards::Triangle<6>::key: volEqui = std::sqrt(3.)/4.; break; case shards::Quadrilateral<4>::key: case shards::Quadrilateral<8>::key: case shards::Quadrilateral<9>::key: volEqui = 1.0; break; case shards::ShellTriangle<3>::key: case shards::ShellTriangle<6>::key: volEqui = std::sqrt(3.)/4.; break; case shards::ShellQuadrilateral<4>::key: case shards::ShellQuadrilateral<8>::key: case shards::ShellQuadrilateral<9>::key: volEqui = 1.0; break; case shards::ShellLine<2>::key: case shards::ShellLine<3>::key: case shards::Beam<2>::key: case shards::Beam<3>::key: volEqui = 1.0; break; default: break; }//cell key return volEqui; }