Gascoigne::HierarchicalMesh Class Reference

#include <hierarchicalmesh.h>

Inheritance diagram for Gascoigne::HierarchicalMesh:

Inheritance graph
[legend]
Collaboration diagram for Gascoigne::HierarchicalMesh:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual ~HierarchicalMesh ()
 HierarchicalMesh ()
 HierarchicalMesh (const HierarchicalMesh &)
HierarchicalMeshoperator= (const HierarchicalMesh &)
virtual int nnodes () const =0
int nlevels () const
int nedges () const
const IntVectorVertexo2n () const
const IntVectorEdgeo2n () const
const IntVectorCello2n () const
int Vertexo2n (int i) const
int Edgeo2n (int i) const
int Cello2n (int i) const
const Edgeedge (int i) const
const EdgeVecedge () const
virtual int child (int i, int ii) const =0
virtual int nchilds (int i) const =0
virtual int level (int i) const =0
virtual bool sleep (int i) const =0
virtual int Vater (const int i) const
virtual IntVector Nachkommen (const int i) const
virtual IntVector Geschwister (const int i) const
virtual IntVector Kinder (const int i) const
void SetParameters (std::string gridname, int patchdepth, int epatcher)
void ReadFile (const std::string &gridname)
void BasicInit (const ParamFile *pf)
void global_refine (int k)
void global_patch_coarsen (int k)
void random_refine (double, int k=1)
void random_patch_refine (double, int k=1)
void random_patch_coarsen (double, int k=0)
void random_double_patch_refine (double, int k=1)
void clear_transfer_lists ()
virtual void write_gip (const std::string &) const =0
virtual void write_gup (const std::string &) const =0
virtual void write_inp (const std::string &) const =0
virtual int dimension () const
virtual int ncells () const =0
int patchdepth () const
virtual int nactivedescendants (int i) const =0
virtual IntVector GetVertices (int c) const =0
bool CellIsCurved (int iq) const
virtual std::set< int > GetColors () const =0
virtual void read_inp (const std::string &)=0
virtual void read_gup (const std::string &)=0
virtual void read_gip (const std::string &)=0
virtual void refine (const IntVector &, const IntVector &)=0
virtual void patch_refine (IntVector &, IntVector &)=0
virtual void vertex_patch_refine (IntVector &ref, IntVector &coarse)
virtual void vertex_patch_refine (IntVector &)
virtual void GetAwakePatchs (std::set< int > &) const =0
virtual void GetAwakeCells (std::set< int > &) const =0
virtual void ConstructQ2PatchMesh (IntVector &pm) const =0
virtual IntVector ConstructQ4Patch (int c) const =0
virtual std::set< int > CellNeighbours (int i) const
virtual int GetBoundaryCellOfCurved (int iq) const
virtual void AddShape (int col, BoundaryFunction< 2 > *f)
virtual void AddShape (int col, BoundaryFunction< 3 > *f)
void ShowOutput (int i) const

Public Attributes

int withfaces

Protected Types

typedef std::pair< int, int > pint
typedef triple< int, int,
int > 
tint
typedef fixarray< 2, int > EdgeVector
typedef fixarray< 4, int > FaceVector
typedef std::vector< EdgeEdgeVec
typedef IntSet::iterator IntSetIt
typedef IntSet::const_iterator IntSetCIt

Protected Member Functions

void update_edges (IntVector &)
virtual int FindPatchDepth () const =0
virtual void FillVertexLevels (IntVector &dst) const =0
virtual void RefineCoarseNodes (IntSet &dst, const IntVector &refnodes, const IntVector &vertexlevel) const =0
virtual void VertexToCells (IntVector &dst, const IntSet &src, const IntVector &vertexlevel) const =0
virtual void VertexToCellsCoarsening (IntVector &dst, const IntSet &src, const IntVector &vertexlevel) const =0

Protected Attributes

int mnlevels
int pdepth
int etapatcher
IntVector vo2n
IntVector eo2n
IntVector co2n
EdgeVec edges
int _i_showoutput

Member Typedef Documentation

typedef std::vector<Edge> Gascoigne::HierarchicalMesh::EdgeVec [protected]

typedef fixarray<2,int> Gascoigne::HierarchicalMesh::EdgeVector [protected]

typedef fixarray<4,int> Gascoigne::HierarchicalMesh::FaceVector [protected]

typedef IntSet::const_iterator Gascoigne::HierarchicalMesh::IntSetCIt [protected]

typedef IntSet::iterator Gascoigne::HierarchicalMesh::IntSetIt [protected]

typedef std::pair<int,int> Gascoigne::HierarchicalMesh::pint [protected]

typedef triple<int,int,int> Gascoigne::HierarchicalMesh::tint [protected]

Reimplemented in Gascoigne::HierarchicalMesh2d.


Constructor & Destructor Documentation

Gascoigne::HierarchicalMesh::~HierarchicalMesh (  )  [virtual]

Gascoigne::HierarchicalMesh::HierarchicalMesh (  ) 

Gascoigne::HierarchicalMesh::HierarchicalMesh ( const HierarchicalMesh  ) 


Member Function Documentation

virtual void Gascoigne::HierarchicalMesh::AddShape ( int  col,
BoundaryFunction< 3 > *  f 
) [inline, virtual]

Reimplemented in Gascoigne::HierarchicalMesh3d.

virtual void Gascoigne::HierarchicalMesh::AddShape ( int  col,
BoundaryFunction< 2 > *  f 
) [inline, virtual]

Reimplemented in Gascoigne::HierarchicalMesh2d.

void Gascoigne::HierarchicalMesh::BasicInit ( const ParamFile pf  )  [virtual]

Implements Gascoigne::MeshInterface.

bool Gascoigne::HierarchicalMesh::CellIsCurved ( int  iq  )  const [inline]

virtual std::set<int> Gascoigne::HierarchicalMesh::CellNeighbours ( int  i  )  const [inline, virtual]

Reimplemented in Gascoigne::HierarchicalMesh2d.

int Gascoigne::HierarchicalMesh::Cello2n ( int  i  )  const [inline]

const IntVector* Gascoigne::HierarchicalMesh::Cello2n (  )  const [inline]

virtual int Gascoigne::HierarchicalMesh::child ( int  i,
int  ii 
) const [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

void Gascoigne::HierarchicalMesh::clear_transfer_lists (  ) 

virtual void Gascoigne::HierarchicalMesh::ConstructQ2PatchMesh ( IntVector pm  )  const [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual IntVector Gascoigne::HierarchicalMesh::ConstructQ4Patch ( int  c  )  const [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual int Gascoigne::HierarchicalMesh::dimension (  )  const [inline, virtual]

Implements Gascoigne::MeshInterface.

Reimplemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

const EdgeVec& Gascoigne::HierarchicalMesh::edge (  )  const [inline]

const Edge& Gascoigne::HierarchicalMesh::edge ( int  i  )  const [inline]

int Gascoigne::HierarchicalMesh::Edgeo2n ( int  i  )  const [inline]

const IntVector* Gascoigne::HierarchicalMesh::Edgeo2n (  )  const [inline]

virtual void Gascoigne::HierarchicalMesh::FillVertexLevels ( IntVector dst  )  const [protected, pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual int Gascoigne::HierarchicalMesh::FindPatchDepth (  )  const [protected, pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual IntVector Gascoigne::HierarchicalMesh::Geschwister ( const int  i  )  const [inline, virtual]

Reimplemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual void Gascoigne::HierarchicalMesh::GetAwakeCells ( std::set< int > &   )  const [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual void Gascoigne::HierarchicalMesh::GetAwakePatchs ( std::set< int > &   )  const [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual int Gascoigne::HierarchicalMesh::GetBoundaryCellOfCurved ( int  iq  )  const [inline, virtual]

Reimplemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual std::set<int> Gascoigne::HierarchicalMesh::GetColors (  )  const [pure virtual]

Implements Gascoigne::MeshInterface.

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual IntVector Gascoigne::HierarchicalMesh::GetVertices ( int  c  )  const [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

void Gascoigne::HierarchicalMesh::global_patch_coarsen ( int  k  ) 

void Gascoigne::HierarchicalMesh::global_refine ( int  k  ) 

virtual IntVector Gascoigne::HierarchicalMesh::Kinder ( const int  i  )  const [inline, virtual]

Reimplemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual int Gascoigne::HierarchicalMesh::level ( int  i  )  const [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual IntVector Gascoigne::HierarchicalMesh::Nachkommen ( const int  i  )  const [inline, virtual]

Reimplemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual int Gascoigne::HierarchicalMesh::nactivedescendants ( int  i  )  const [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual int Gascoigne::HierarchicalMesh::ncells (  )  const [pure virtual]

Implements Gascoigne::MeshInterface.

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual int Gascoigne::HierarchicalMesh::nchilds ( int  i  )  const [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

int Gascoigne::HierarchicalMesh::nedges (  )  const [inline]

int Gascoigne::HierarchicalMesh::nlevels (  )  const [inline]

virtual int Gascoigne::HierarchicalMesh::nnodes (  )  const [pure virtual]

Implements Gascoigne::MeshInterface.

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

HierarchicalMesh & Gascoigne::HierarchicalMesh::operator= ( const HierarchicalMesh  ) 

virtual void Gascoigne::HierarchicalMesh::patch_refine ( IntVector ,
IntVector  
) [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

int Gascoigne::HierarchicalMesh::patchdepth (  )  const [inline]

void Gascoigne::HierarchicalMesh::random_double_patch_refine ( double  ,
int  k = 1 
)

void Gascoigne::HierarchicalMesh::random_patch_coarsen ( double  ,
int  k = 0 
)

void Gascoigne::HierarchicalMesh::random_patch_refine ( double  ,
int  k = 1 
)

void Gascoigne::HierarchicalMesh::random_refine ( double  ,
int  k = 1 
)

virtual void Gascoigne::HierarchicalMesh::read_gip ( const std::string  )  [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual void Gascoigne::HierarchicalMesh::read_gup ( const std::string  )  [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual void Gascoigne::HierarchicalMesh::read_inp ( const std::string  )  [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

void Gascoigne::HierarchicalMesh::ReadFile ( const std::string gridname  ) 

virtual void Gascoigne::HierarchicalMesh::refine ( const IntVector ,
const IntVector  
) [pure virtual]

Implemented in Gascoigne::CoarseHierarchicalMesh2d, Gascoigne::CoarseHierarchicalMesh3d, Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual void Gascoigne::HierarchicalMesh::RefineCoarseNodes ( IntSet dst,
const IntVector refnodes,
const IntVector vertexlevel 
) const [protected, pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

void Gascoigne::HierarchicalMesh::SetParameters ( std::string  gridname,
int  patchdepth,
int  epatcher 
)

void Gascoigne::HierarchicalMesh::ShowOutput ( int  i  )  const [inline]

virtual bool Gascoigne::HierarchicalMesh::sleep ( int  i  )  const [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

void Gascoigne::HierarchicalMesh::update_edges ( IntVector  )  [protected]

virtual int Gascoigne::HierarchicalMesh::Vater ( const int  i  )  const [inline, virtual]

Reimplemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

void Gascoigne::HierarchicalMesh::vertex_patch_refine ( IntVector  )  [virtual]

void Gascoigne::HierarchicalMesh::vertex_patch_refine ( IntVector ref,
IntVector coarse 
) [virtual]

int Gascoigne::HierarchicalMesh::Vertexo2n ( int  i  )  const [inline]

const IntVector* Gascoigne::HierarchicalMesh::Vertexo2n (  )  const [inline, virtual]

Implements Gascoigne::MeshInterface.

virtual void Gascoigne::HierarchicalMesh::VertexToCells ( IntVector dst,
const IntSet src,
const IntVector vertexlevel 
) const [protected, pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual void Gascoigne::HierarchicalMesh::VertexToCellsCoarsening ( IntVector dst,
const IntSet src,
const IntVector vertexlevel 
) const [protected, pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual void Gascoigne::HierarchicalMesh::write_gip ( const std::string  )  const [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual void Gascoigne::HierarchicalMesh::write_gup ( const std::string  )  const [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.

virtual void Gascoigne::HierarchicalMesh::write_inp ( const std::string  )  const [pure virtual]

Implemented in Gascoigne::HierarchicalMesh2d, and Gascoigne::HierarchicalMesh3d.


Member Data Documentation

int Gascoigne::HierarchicalMesh::_i_showoutput [mutable, protected]

IntVector Gascoigne::HierarchicalMesh::co2n [protected]

EdgeVec Gascoigne::HierarchicalMesh::edges [protected]

IntVector Gascoigne::HierarchicalMesh::eo2n [protected]

int Gascoigne::HierarchicalMesh::etapatcher [protected]

int Gascoigne::HierarchicalMesh::mnlevels [protected]

int Gascoigne::HierarchicalMesh::pdepth [protected]

IntVector Gascoigne::HierarchicalMesh::vo2n [protected]

int Gascoigne::HierarchicalMesh::withfaces


The documentation for this class was generated from the following files:
Generated on Thu Sep 14 10:50:28 2006 for Gascoigne by  doxygen 1.4.7