52 ModuleKey ProcessExtractTetPrismInterface::className =
55 ProcessExtractTetPrismInterface::create,
56 "Process elements to extract the faces between "
59 ProcessExtractTetPrismInterface::ProcessExtractTetPrismInterface(
73 cout <<
"ProcessExtractTetPrismInterface: Extracting tet-prism "
74 <<
"interface... " << endl;
78 "The prism-tet interface module"
79 " only works for three-dimensional meshes.");
82 vector<ElementSharedPtr> el =
m_mesh->m_element[
m_mesh->m_expDim];
83 vector<ElementSharedPtr> bndEl =
m_mesh->m_element[
m_mesh->m_expDim - 1];
88 for (
int i = 0; i < el.size(); ++i)
99 "Mesh does not contain any prismatic elements!");
105 for (fIt =
m_mesh->m_faceSet.begin(); fIt !=
m_mesh->m_faceSet.end(); fIt++)
107 if ((*fIt)->m_elLink.size() == 1)
114 bndEl[el->GetBoundaryLink((*fIt)->m_elLink[0].second)]);
121 for (fIt =
m_mesh->m_faceSet.begin(); fIt !=
m_mesh->m_faceSet.end(); fIt++)
123 if ((*fIt)->m_elLink.size() != 1)
134 vector<NodeSharedPtr> nodeList(3);
136 tags[0] =
m_mesh->m_composite.size();
138 nodeList = (*fIt)->m_vertexList;
#define ASSERTL0(condition, msg)
Basic information about an element.
tBaseSharedPtr CreateInstance(tKey idKey BOOST_PP_COMMA_IF(MAX_PARAM) BOOST_PP_ENUM_BINARY_PARAMS(MAX_PARAM, tParam, x))
Create an instance of the class referred to by idKey.
pair< ModuleType, string > ModuleKey
MeshSharedPtr m_mesh
Mesh object.
ElementFactory & GetElementFactory()
virtual NEKMESHUTILS_EXPORT void ProcessFaces(bool ReprocessFaces=true)
Extract element faces.
virtual NEKMESHUTILS_EXPORT void ProcessElements()
Generate element IDs.
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs typedef NekMatrix< LhsDataType, StandardMatrixTag >::iterator iterator
boost::shared_ptr< Mesh > MeshSharedPtr
Shared pointer to a mesh.
Abstract base class for processing modules.
virtual NEKMESHUTILS_EXPORT void ProcessVertices()
Extract element vertices.
virtual NEKMESHUTILS_EXPORT void ProcessEdges(bool ReprocessEdges=true)
Extract element edges.
boost::shared_ptr< Element > ElementSharedPtr
std::pair< ModuleType, std::string > ModuleKey
virtual NEKMESHUTILS_EXPORT void ProcessComposites()
Generate composites.
ModuleFactory & GetModuleFactory()
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.