43 #ifndef __Panzer_IntrepidOrientation_hpp__
44 #define __Panzer_IntrepidOrientation_hpp__
46 #include "Intrepid2_Orientation.hpp"
48 #include "PanzerDiscFE_config.hpp"
55 template <
typename LocalOrdinal,
typename GlobalOrdinal>
60 using Teuchos::rcp_dynamic_cast;
76 std::vector<std::string> elementBlockIds;
77 std::vector<shards::CellTopology> elementBlockTopologies;
83 numElementBlocks != static_cast<int>(elementBlockIds.size()) &&
84 numElementBlocks != static_cast<int>(elementBlockTopologies.size()),
86 "panzer::buildIntrepidOrientation: Number of element blocks does not match to element block meta data");
89 const auto cellTopo = elementBlockTopologies.at(0);
90 const int numVertexPerCell = cellTopo.getVertexCount();
96 for (
int i=0;i<numElementBlocks;++i) {
98 const auto &elementBlock = connMgr.
getElementBlock(elementBlockIds.at(i));
100 const int numElementsPerBlock = elementBlock.size();
103 for (
int c=0;c<numElementsPerBlock;++c) {
104 const int localCellId = elementBlock.at(c);
105 Kokkos::View<const GlobalOrdinal*, Kokkos::DefaultHostExecutionSpace>
107 orientation.push_back(Intrepid2::Orientation::getOrientation(cellTopo, nodes));