37 #include "../MeshElements.h"
51 ModuleKey ProcessExtractTetPrismInterface::className =
54 ProcessExtractTetPrismInterface::create,
55 "Process elements to extract the faces between "
58 ProcessExtractTetPrismInterface::ProcessExtractTetPrismInterface(
71 cout <<
"ProcessExtractTetPrismInterface: Extracting tet-prism "
72 <<
"interface... " << endl;
76 " only works for three-dimensional meshes.");
79 vector<ElementSharedPtr> el =
m_mesh->m_element[
m_mesh->m_expDim];
80 vector<ElementSharedPtr> bndEl =
m_mesh->m_element[
86 for (
int i = 0; i < el.size(); ++i)
97 "Mesh does not contain any prismatic elements!");
103 for (fIt =
m_mesh->m_faceSet.begin();
104 fIt !=
m_mesh->m_faceSet.end(); fIt++)
106 if ((*fIt)->m_elLink.size() == 1)
113 bndEl[el->GetBoundaryLink(
114 (*fIt)->m_elLink[0].second)]);
121 for (fIt =
m_mesh->m_faceSet.begin();
122 fIt !=
m_mesh->m_faceSet.end(); fIt++)
124 if ((*fIt)->m_elLink.size() != 1)
135 vector<NodeSharedPtr> nodeList(3);
137 tags[0] =
m_mesh->m_composite.size();
139 nodeList = (*fIt)->m_vertexList;
#define ASSERTL0(condition, msg)
pair< ModuleType, string > ModuleKey
MeshSharedPtr m_mesh
Mesh object.
virtual void ProcessEdges(bool ReprocessEdges=true)
Extract element edges.
boost::shared_ptr< Element > ElementSharedPtr
Shared pointer to an element.
virtual void ProcessVertices()
Extract element vertices.
virtual void ProcessElements()
Generate element IDs.
boost::shared_ptr< Mesh > MeshSharedPtr
Shared pointer to a mesh.
Basic information about an element.
virtual void ProcessComposites()
Generate composites.
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs typedef NekMatrix< LhsDataType, StandardMatrixTag >::iterator iterator
virtual void ProcessFaces(bool ReprocessFaces=true)
Extract element faces.
ElementFactory & GetElementFactory()
ModuleFactory & GetModuleFactory()
Abstract base class for processing modules.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.