Sundance::BamgMeshReader Class Reference

Inheritance diagram for Sundance::BamgMeshReader:

Sundance::MeshReaderBase Sundance::MeshSourceBase Playa::Handleable< MeshSourceBase > Playa::Printable Sundance::Noncopyable Playa::ObjectWithVerbosity

List of all members.

Public Member Functions

 BamgMeshReader (const std::string &filename, const MeshType &meshType, const bool bbAttr, int verbosity=0, const MPIComm &comm=MPIComm::world())
 BamgMeshReader (const ParameterList &params)
virtual ~BamgMeshReader ()
virtual Mesh fillMesh () const
virtual std::string description () const
virtual RCP< MeshSourceBasegetRcp ()

Private Member Functions

void readParallelInfo (Array< int > &ptGID, Array< int > &ptOwner, Array< int > &elemGID, Array< int > &elemOwner) const
Mesh readNodes (Array< int > &ptGID, Array< int > &ptOwner) const
void readElems (Mesh &mesh, const Array< int > &nodeGID, Array< int > &elemGID, Array< int > &elemOwner) const
Mesh readMesh (Array< int > &ptGID, Array< int > &ptOwner) const

Private Attributes

std::string nodeFilename_
std::string elemFilename_
std::string parFilename_
std::string meshFilename_
std::string bbFilename_
int bbAttr_


Detailed Description

BamgMeshReader reads a mesh stored in Frederic Hecht's g format.

!!The description below is for TriangleMeshReader & needs modification!!

This format is documented at the Triangle homepage. This reader expects to find node information in .node files and element information in .ele files. The filename constructor argument is the stem of the filenames, and so that a reader constructed with filename joe will look for node and element data in joe.node and joe.ele respectively. Node and element attributes are read if present, and can be accessed with the getAttributes() method of MeshSource.

Parallel extensions

We have extended the Triangle format to deal with distributed meshes. A TriangleMeshReader is constructed with an MPIComm object, and if that communicator has more than one processor the mesh is assumed to be split into files, one for each processor. Data on mesh "joe" for the nnn-th processor will be found in the files

The .node.nnn and .ele.nnn files contain the node and element data for the part of the mesh seen by the nnn-th processor. The node and element numberings given in those two files are local indexes. The .par.nnn contains node and element ownership information for the part of the mesh seen by the nnn-th processor.


A .par file is formatted as follows:

Definition at line 95 of file SundanceBamgMeshReader.hpp.


Constructor & Destructor Documentation

BamgMeshReader::BamgMeshReader ( const std::string &  filename,
const MeshType meshType,
const bool  bbAttr,
int  verbosity = 0,
const MPIComm comm = MPIComm::world() 
)

BamgMeshReader::BamgMeshReader ( const ParameterList &  params  ) 

virtual Sundance::BamgMeshReader::~BamgMeshReader (  )  [inline, virtual]

virtual dtor

Definition at line 107 of file SundanceBamgMeshReader.hpp.


Member Function Documentation

virtual std::string Sundance::BamgMeshReader::description (  )  const [inline, virtual]

Print a short descriptive std::string

Reimplemented from Sundance::MeshSourceBase.

Definition at line 114 of file SundanceBamgMeshReader.hpp.

References Sundance::MeshReaderBase::filename().

Mesh BamgMeshReader::fillMesh (  )  const [virtual]

Create a mesh

Implements Sundance::MeshSourceBase.

Definition at line 89 of file SundanceBamgMeshReader.cpp.

References readMesh(), and readParallelInfo().

virtual RCP<MeshSourceBase> Sundance::BamgMeshReader::getRcp (  )  [inline, virtual]

Method for reading a .bb file Return a ref count pointer to self

Implements Playa::Handleable< MeshSourceBase >.

Definition at line 122 of file SundanceBamgMeshReader.hpp.

void Sundance::BamgMeshReader::readElems ( Mesh mesh,
const Array< int > &  nodeGID,
Array< int > &  elemGID,
Array< int > &  elemOwner 
) const [private]

Mesh BamgMeshReader::readMesh ( Array< int > &  ptGID,
Array< int > &  ptOwner 
) const [private]

Mesh Sundance::BamgMeshReader::readNodes ( Array< int > &  ptGID,
Array< int > &  ptOwner 
) const [private]

void BamgMeshReader::readParallelInfo ( Array< int > &  ptGID,
Array< int > &  ptOwner,
Array< int > &  elemGID,
Array< int > &  elemOwner 
) const [private]


Member Data Documentation

number of bb Attributes

Definition at line 162 of file SundanceBamgMeshReader.hpp.

Referenced by readMesh().

add a bb filename

Definition at line 159 of file SundanceBamgMeshReader.hpp.

Referenced by BamgMeshReader(), and readMesh().

Definition at line 150 of file SundanceBamgMeshReader.hpp.

Referenced by BamgMeshReader().

add a mesh filename

Definition at line 156 of file SundanceBamgMeshReader.hpp.

Referenced by BamgMeshReader(), and readMesh().

add method for reading a .bb file

Definition at line 147 of file SundanceBamgMeshReader.hpp.

Referenced by BamgMeshReader().

Definition at line 153 of file SundanceBamgMeshReader.hpp.

Referenced by BamgMeshReader(), and readParallelInfo().

Site Contact