17class EdgeElements :
public Elements {
20 typedef default_lo LO;
21 typedef default_go GO;
22 typedef default_no NO;
23 typedef Elements Elements_Type;
25 typedef typename Map_Type::MapPtr_Type MapPtr_Type;
26 typedef typename Map_Type::MapConstPtr_Type MapConstPtr_Type;
27 typedef Teuchos::RCP<FE_vec_Type> FE_vec_ptr_Type;
31 EdgeElements( EdgeElements& EdgeElements );
35 void setElementsEdges( vec2D_GO_Type& elementsOfEdge );
37 void partitionEdges( MapConstPtr_Type elementMap, MapConstPtr_Type nodeMapRepeated);
39 void sortUniqueAndSetGlobalIDs(vec2D_GO_Type &combinedElements);
41 void makeUniqueWithCombines( FE_vec_ptr_Type& elements, vec2D_GO_Type& combinedElements, vec2D_GO_Type& globaIDs );
43 FE_vec_ptr_Type sort_from_ref( FE_vec_ptr_Type& elements, std::vector<int>
const& reference );
45 vec2D_GO_Type sort_from_ref( vec2D_GO_Type
const& in, std::vector<int>
const& reference );
47 const vec_LO_Type& getElementsOfEdge(
int i );
49 const vec_GO_Type& getElementsOfEdgeGlobal(
int i );
51 vec2D_GO_Type getElementsOfEdgeGlobal(){
return elementsOfEdgeGlobal_;};
53 vec2D_LO_Type getElementsOfEdgeLocal(){
return elementsOfEdgeLocal_;};
55 const vec_int_Type getEdgesOfElement(
int i );
57 void matchEdgesToElements( MapConstPtr_Type elementMap );
59 void setMidpoint( LO edgeId, LO localID );
61 int getMidpoint( LO edgeId );
63 LO findEdgeId ( LO nodeId1, LO nodeID2);
65 void sortUniqueAndSetGlobalIDsParallel( MapConstPtr_Type elementMap, vec2D_GO_Type& combinedElements );
67 void setElementsOfEdgeLocalEntry(
int index,
int entry);
69 void setElementsOfEdgeGlobalEntry(
int index,
int entry);
71 void setUpElementsOfEdge( MapConstPtr_Type elementMap, MapConstPtr_Type edgeMap );
73 vec_GO_Type determineInterfaceEdges( MapConstPtr_Type edgeMap );
79 vec2D_GO_Type elementsOfEdgeGlobal_;
80 vec2D_LO_Type elementsOfEdgeLocal_;
81 vec2D_int_Type edgesOfElements_;
82 vec_LO_Type midPointsLocalID_;