#include <AbstractTetrahedralMeshWriter.hpp>
Inherits AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >.
Inherited by CmguiMeshWriter< ELEMENT_DIM, SPACE_DIM >, CmguiMeshWriter< DIM, DIM >, MeshalyzerMeshWriter< ELEMENT_DIM, SPACE_DIM >, and TrianglesMeshWriter< ELEMENT_DIM, SPACE_DIM >.
Public Member Functions | |
AbstractTetrahedralMeshWriter (const std::string &rDirectory, const std::string &rBaseName, const bool clearOutputDir=true) | |
~AbstractTetrahedralMeshWriter () | |
virtual void | WriteFilesUsingMesh (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) |
std::vector< double > | GetNextNode () |
ElementData | GetNextElement () |
Protected Attributes | |
bool | mIndexFromZero |
bool | mWriteMetaFile |
unsigned | mNodeCounterForParallelMesh |
unsigned | mElementCounterForParallelMesh |
Private Member Functions | |
virtual void | WriteFilesUsingParallelMesh () |
Private Attributes | |
AbstractTetrahedralMesh < ELEMENT_DIM, SPACE_DIM > * | mpMesh |
unsigned | mNodesPerElement |
DistributedTetrahedralMesh < ELEMENT_DIM, SPACE_DIM > * | mpParallelMesh |
MeshWriterIterators < ELEMENT_DIM, SPACE_DIM > * | mpIters |
NodeMap * | mpNodeMap |
An abstract tetrahedral mesh writer class.
Definition at line 60 of file AbstractTetrahedralMeshWriter.hpp.
AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::AbstractTetrahedralMeshWriter | ( | const std::string & | rDirectory, | |
const std::string & | rBaseName, | |||
const bool | clearOutputDir = true | |||
) | [inline] |
Constructor.
rDirectory | the directory in which to write the mesh to file | |
rBaseName | the base name of the files in which to write the mesh data | |
clearOutputDir | whether to clean the directory (defaults to true) |
Definition at line 58 of file AbstractTetrahedralMeshWriter.cpp.
References AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpIters.
AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::~AbstractTetrahedralMeshWriter | ( | ) | [inline] |
Destructor just deletes the node map if memory has been allocated for it
Definition at line 76 of file AbstractTetrahedralMeshWriter.cpp.
References AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpIters, and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpNodeMap.
ElementData AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextElement | ( | ) | [inline, virtual] |
Reimplemented from AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >.
Definition at line 147 of file AbstractTetrahedralMeshWriter.cpp.
References PetscTools::AmMaster(), ElementData::AttributeValue, NodeMap::GetNewIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetRegion(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::IsDeleted(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mElementCounterForParallelMesh, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNodesPerElement, AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNumElements, AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNumNodes, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpIters, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpMesh, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpNodeMap, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpParallelMesh, and ElementData::NodeIndices.
Referenced by TrianglesMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteElementsAsFaces(), TrianglesMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFiles(), MeshalyzerMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFiles(), and CmguiMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFiles().
std::vector< double > AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextNode | ( | ) | [inline, virtual] |
Reimplemented from AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >.
Definition at line 97 of file AbstractTetrahedralMeshWriter.cpp.
References PetscTools::AmMaster(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNodeCounterForParallelMesh, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpIters, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpMesh, and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpParallelMesh.
Referenced by TrianglesMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFiles(), MeshalyzerMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFiles(), and CmguiMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFiles().
void AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh | ( | AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > & | rMesh | ) | [inline, virtual] |
Write a const mesh to file. Used by the serialization methods and avoids iterators...
rMesh | the mesh |
Definition at line 222 of file AbstractTetrahedralMeshWriter.cpp.
References PetscTools::AmMaster(), PetscTools::Barrier(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryElement(), NodeMap::GetNewIndex(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumAllBoundaryElements(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNodesPerElement, AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNumElements, AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNumNodes, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpIters, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpMesh, AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpMeshReader, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpNodeMap, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpParallelMesh, NodeMap::SetNewIndex(), AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::SetNextBoundaryFace(), AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFiles(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingParallelMesh().
Referenced by Hdf5ToCmguiConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToCmguiConverter(), Hdf5ToMeshalyzerConverter< ELEMENT_DIM, SPACE_DIM >::Hdf5ToMeshalyzerConverter(), CardiacElectroMechanicsProblem< DIM >::Initialise(), AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM >::save(), CardiacElectroMechanicsProblem< DIM >::Solve(), and CmguiDeformedSolutionsWriter< DIM >::WriteInitialMesh().
void AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingParallelMesh | ( | ) | [inline, private, virtual] |
Write a parallel mesh to file. Used by the serialization methods
Definition at line 296 of file AbstractTetrahedralMeshWriter.cpp.
References PetscTools::AmMaster(), PetscTools::Barrier(), AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNumNodes, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpMesh, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpParallelMesh, AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::SetNextBoundaryFace(), and AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFiles().
Referenced by AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh().
unsigned AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mElementCounterForParallelMesh [protected] |
Used by master process for polling processes for the next element
Definition at line 82 of file AbstractTetrahedralMeshWriter.hpp.
Referenced by AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextElement().
bool AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mIndexFromZero [protected] |
True if input data is numbered from zero, false otherwise
Definition at line 79 of file AbstractTetrahedralMeshWriter.hpp.
Referenced by CmguiMeshWriter< ELEMENT_DIM, SPACE_DIM >::CmguiMeshWriter(), MeshalyzerMeshWriter< ELEMENT_DIM, SPACE_DIM >::MeshalyzerMeshWriter(), and MeshalyzerMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFiles().
unsigned AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNodeCounterForParallelMesh [protected] |
Used by master process for polling processes for the next node
Definition at line 81 of file AbstractTetrahedralMeshWriter.hpp.
Referenced by AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextNode().
unsigned AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNodesPerElement [private] |
Same as (ELEMENT_DIM+1), except when writing a quadratic mesh!
Definition at line 70 of file AbstractTetrahedralMeshWriter.hpp.
Referenced by AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextElement(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh().
MeshWriterIterators<ELEMENT_DIM,SPACE_DIM>* AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpIters [private] |
Handy iterators so that we know the next node/element to be written
Definition at line 73 of file AbstractTetrahedralMeshWriter.hpp.
Referenced by AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::AbstractTetrahedralMeshWriter(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextElement(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextNode(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::~AbstractTetrahedralMeshWriter().
AbstractTetrahedralMesh<ELEMENT_DIM,SPACE_DIM>* AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpMesh [private] |
Pointer to the mesh (if we are writing from the a mesh)
Definition at line 69 of file AbstractTetrahedralMeshWriter.hpp.
Referenced by AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextElement(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextNode(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingParallelMesh().
NodeMap* AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpNodeMap [private] |
Node map to be used when writing a mesh that has deleted nodes
Definition at line 75 of file AbstractTetrahedralMeshWriter.hpp.
Referenced by AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextElement(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::~AbstractTetrahedralMeshWriter().
DistributedTetrahedralMesh<ELEMENT_DIM,SPACE_DIM>* AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpParallelMesh [private] |
Another pointer to the mesh, produced by dynamic cast
Definition at line 71 of file AbstractTetrahedralMeshWriter.hpp.
Referenced by AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextElement(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextNode(), AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingParallelMesh().
bool AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mWriteMetaFile [protected] |
Whether to write a metafile (only used by MeshylazerMeshWriter)
Definition at line 80 of file AbstractTetrahedralMeshWriter.hpp.
Referenced by MeshalyzerMeshWriter< ELEMENT_DIM, SPACE_DIM >::MeshalyzerMeshWriter(), and MeshalyzerMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFiles().