50 "Process elements based on values of Jacobian.");
55 ConfigOption(
true,
"0",
"Extract non-valid elements from mesh.");
57 true,
"0",
"Print list of elements having negative Jacobian.");
68 cout <<
"ProcessJac: Calculating Jacobians... " << endl;
71 bool extract =
m_config[
"extract"].as<
bool>();
72 bool printList =
m_config[
"list"].as<
bool>();
74 vector<ElementSharedPtr> el =
m_mesh->m_element[
m_mesh->m_expDim];
83 cout <<
"Elements with negative Jacobian:" << endl;
91 for (
int i = 0; i < el.size(); ++i)
95 el[i]->GetGeom(
m_mesh->m_spaceDim);
102 if (!gfac->IsValid())
108 cout <<
" - " << el[i]->GetId() <<
" ("
130 if (printList ||
m_mesh->m_verbose)
132 cout <<
"Total negative Jacobians: " << nNeg << endl;
136 cout <<
"WARNING: Detected " << nNeg <<
" element"
137 << (nNeg == 1 ?
"" :
"s") <<
" with negative Jacobian." << endl;
virtual void Process()
Write mesh to output file.
pair< ModuleType, string > ModuleKey
map< string, ConfigOption > m_config
List of configuration values.
MeshSharedPtr m_mesh
Mesh object.
const char *const ShapeTypeMap[]
virtual void ProcessEdges(bool ReprocessEdges=true)
Extract element edges.
virtual void ProcessVertices()
Extract element vertices.
virtual void ProcessElements()
Generate element IDs.
virtual void ProcessComposites()
Generate composites.
Represents a command-line configuration option.
boost::shared_ptr< Mesh > MeshSharedPtr
Shared pointer to a mesh.
boost::shared_ptr< GeomFactors > GeomFactorsSharedPtr
Pointer to a GeomFactors object.
virtual void ProcessFaces(bool ReprocessFaces=true)
Extract element faces.
boost::shared_ptr< Geometry > GeometrySharedPtr
ModuleFactory & GetModuleFactory()
Abstract base class for processing modules.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.