AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <AbstractTetrahedralMeshWriter.hpp>

Inheritance diagram for AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >:

Inheritance graph
[legend]
Collaboration diagram for AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >:

Collaboration graph
[legend]

List of all members.

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, bool keepOriginalElementIndexing=true)
std::vector< double > GetNextNode ()
ElementData GetNextElement ()
ElementData GetNextBoundaryElement ()
ElementData GetNextCableElement ()

Protected Attributes

unsigned mNodesPerElement
unsigned mNodesPerBoundaryElement
DistributedTetrahedralMesh
< ELEMENT_DIM, SPACE_DIM > * 
mpDistributedMesh
MixedDimensionMesh
< ELEMENT_DIM, SPACE_DIM > * 
mpMixedMesh
MeshWriterIterators
< ELEMENT_DIM, SPACE_DIM > * 
mpIters
bool mIndexFromZero
bool mWriteMetaFile
unsigned mNodeCounterForParallelMesh
unsigned mElementCounterForParallelMesh
unsigned mBoundaryElementCounterForParallelMesh
unsigned mCableElementCounterForParallelMesh
bool mFilesAreBinary

Private Member Functions

virtual void WriteFilesUsingParallelMesh (bool keepOriginalElementIndexing=true)
virtual void CreateFilesWithHeaders ()
virtual void AppendLocalDataToFiles ()
virtual void WriteFilesFooter ()

Private Attributes

AbstractTetrahedralMesh
< ELEMENT_DIM, SPACE_DIM > * 
mpMesh
NodeMapmpNodeMap


Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
class AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >

An abstract tetrahedral mesh writer class.

Definition at line 63 of file AbstractTetrahedralMeshWriter.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::AbstractTetrahedralMeshWriter ( const std::string &  rDirectory,
const std::string &  rBaseName,
const bool  clearOutputDir = true 
) [inline]

Constructor.

Parameters:
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 62 of file AbstractTetrahedralMeshWriter.cpp.

References AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpIters.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::~AbstractTetrahedralMeshWriter (  )  [inline]

Destructor just deletes the node map if memory has been allocated for it

Definition at line 85 of file AbstractTetrahedralMeshWriter.cpp.

References AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpIters, and AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpNodeMap.


Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingParallelMesh ( bool  keepOriginalElementIndexing = true  )  [inline, private, virtual]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::CreateFilesWithHeaders (  )  [inline, private, virtual]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::AppendLocalDataToFiles (  )  [inline, private, virtual]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesFooter (  )  [inline, private, virtual]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh ( AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > &  rMesh,
bool  keepOriginalElementIndexing = true 
) [inline, virtual]

Write a const mesh to file. Used by the serialization methods and avoids iterators...

Parameters:
rMesh the mesh
keepOriginalElementIndexing Whether to write the mesh with the same element ordering. Optimisations can be applied if this is not needed.
Todo:
#1322 Mesh should really be const!
Todo:
#1322 Mesh should be const

Todo:
#1322 This should be const too

Todo:
#1322, This should be const too

Reimplemented in VtkMeshWriter< ELEMENT_DIM, SPACE_DIM >.

Definition at line 360 of file AbstractTetrahedralMeshWriter.cpp.

References PetscTools::AmMaster(), PetscTools::AmTopMost(), PetscTools::Barrier(), PetscTools::GetMyRank(), AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), PetscTools::GetNumProcs(), ChasteBuildInfo::GetProvenanceString(), PetscTools::IsSequential(), AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::mBaseName, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mFilesAreBinary, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNodesPerBoundaryElement, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNodesPerElement, AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNumBoundaryElements, AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNumCableElements, AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNumElements, AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNumNodes, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpDistributedMesh, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpIters, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpMesh, AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpMeshReader, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpMixedMesh, AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpNodeMap, AbstractMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpOutputFileHandler, OutputFileHandler::OpenOutputFile(), NodeMap::SetNewIndex(), 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(), VtkMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteFilesUsingMesh(), and CmguiDeformedSolutionsWriter< DIM >::WriteInitialMesh().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< double > AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextNode (  )  [inline, virtual]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextElement (  )  [inline, virtual]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextBoundaryElement (  )  [inline, virtual]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextCableElement (  )  [inline, virtual]


Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractTetrahedralMesh<ELEMENT_DIM,SPACE_DIM>* AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpMesh [private]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
NodeMap* AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpNodeMap [private]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNodesPerElement [protected]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNodesPerBoundaryElement [protected]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
DistributedTetrahedralMesh<ELEMENT_DIM,SPACE_DIM>* AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpDistributedMesh [protected]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
MixedDimensionMesh<ELEMENT_DIM,SPACE_DIM>* AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpMixedMesh [protected]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
MeshWriterIterators<ELEMENT_DIM,SPACE_DIM>* AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mpIters [protected]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mIndexFromZero [protected]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mWriteMetaFile [protected]

Whether to write a metafile (only used by MeshylazerMeshWriter)

Definition at line 104 of file AbstractTetrahedralMeshWriter.hpp.

Referenced by MeshalyzerMeshWriter< ELEMENT_DIM, SPACE_DIM >::MeshalyzerMeshWriter(), and MeshalyzerMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteMetaFile().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mNodeCounterForParallelMesh [protected]

Used by master process for polling processes for the next node

Definition at line 105 of file AbstractTetrahedralMeshWriter.hpp.

Referenced by AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextNode().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mElementCounterForParallelMesh [protected]

Used by master process for polling processes for the next element

Definition at line 106 of file AbstractTetrahedralMeshWriter.hpp.

Referenced by AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextElement().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mBoundaryElementCounterForParallelMesh [protected]

Used by master process for polling processes for the next boundary element

Definition at line 107 of file AbstractTetrahedralMeshWriter.hpp.

Referenced by AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextBoundaryElement().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mCableElementCounterForParallelMesh [protected]

Used by master process for polling processes for the next cable element

Definition at line 108 of file AbstractTetrahedralMeshWriter.hpp.

Referenced by AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::GetNextCableElement().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractTetrahedralMeshWriter< ELEMENT_DIM, SPACE_DIM >::mFilesAreBinary [protected]


The documentation for this class was generated from the following files:

Generated on Tue May 31 14:32:29 2011 for Chaste by  doxygen 1.5.5