Stores additional information on an edge, namely its cells and faces. More...

#include <continuityData.hh>

Inheritance diagram for concepts::EdgeData:
concepts::ConnectorData

Public Types

typedef std::map< uint, const CellData * >::const_iterator const_iterator
 The constant STL iterator over the list of cells. More...
 
typedef std::map< uint, const CellData * >::iterator iterator
 The STL iterator over the list of cells. More...
 

Public Member Functions

void addCell (const CellData &c)
 Adds c to the list of cells. More...
 
void addFace (const FaceData &f)
 Adds f to faces_ whithout check. More...
 
iterator begin ()
 Returns the STL beginning of the list of cells. More...
 
const_iterator begin () const
 Returns the STL beginning of the list of cells. More...
 
bool checkRelations ()
 Checks the relations in faces_. More...
 
const Connector1edge () const
 Returns edge_. More...
 
 EdgeData (const Connector1 &edge)
 Constructor. More...
 
iterator end ()
 Returns the STL end of the list of cells. More...
 
const_iterator end () const
 Returns the STL end of the list of cells. More...
 
bool hasCell (const Connector &c) const
 Returns true if c is in the list of cells. More...
 
Key key () const
 Returns the key of the edge. More...
 
int related (const EdgeData &e) const
 Calls Connector::related. More...
 
void replaceCell (const CellData &remove, const CellData &add)
 Removes remove from the list of cells and tries to add add to this list using addCell. More...
 

Static Public Member Functions

static void checkRelatedEdges (std::map< uint, EdgeData > &edgeList)
 Checks if there are edges with relations in edgeList. More...
 
static bool doCheckRelations (std::map< uint, EdgeData > &edgeList)
 Calls checkRelations for each edge in the edgeList. More...
 

Protected Attributes

std::map< uint, const CellData * > cells_
 List of cells. More...
 

Private Member Functions

const CellDatafindCommonCell_ (const FaceData &face) const
 Finds a cell which is common to this edge and the face. More...
 
void recreateFaceList_ ()
 Removes the faces in faces_ and rebuilds this list from the cells in cells_. More...
 

Private Attributes

const Connector1edge_
 Edge. More...
 
std::map< uint, FaceDatafaces_
 List of faces of this edge. More...
 
bool io_
 Is set to true if the edge is okay. More...
 

Friends

std::ostream & operator<< (std::ostream &os, const EdgeData &e)
 

Detailed Description

Stores additional information on an edge, namely its cells and faces.

Author
Philipp Frauenfelder, 2002

Definition at line 173 of file continuityData.hh.

Member Typedef Documentation

◆ const_iterator

typedef std::map<uint, const CellData*>::const_iterator concepts::ConnectorData::const_iterator
inherited

The constant STL iterator over the list of cells.

Definition at line 44 of file continuityData.hh.

◆ iterator

typedef std::map<uint, const CellData*>::iterator concepts::ConnectorData::iterator
inherited

The STL iterator over the list of cells.

Definition at line 42 of file continuityData.hh.

Constructor & Destructor Documentation

◆ EdgeData()

concepts::EdgeData::EdgeData ( const Connector1 edge)
inline

Constructor.

Parameters
edgeEdge to which this data belongs

Definition at line 179 of file continuityData.hh.

Member Function Documentation

◆ addCell()

void concepts::ConnectorData::addCell ( const CellData c)
inherited

Adds c to the list of cells.

If there is a cell in the list of cells which is related to c, c is only inserted, if it is larger than the already present cell (which is removed). If c is smaller than an already present cell, the insertion is canceled.

Parameters
cCell to be added to cells_

◆ addFace()

void concepts::EdgeData::addFace ( const FaceData f)

Adds f to faces_ whithout check.

◆ begin() [1/2]

iterator concepts::ConnectorData::begin ( )
inlineinherited

Returns the STL beginning of the list of cells.

Definition at line 63 of file continuityData.hh.

◆ begin() [2/2]

const_iterator concepts::ConnectorData::begin ( ) const
inlineinherited

Returns the STL beginning of the list of cells.

Definition at line 65 of file continuityData.hh.

◆ checkRelatedEdges()

static void concepts::EdgeData::checkRelatedEdges ( std::map< uint, EdgeData > &  edgeList)
static

Checks if there are edges with relations in edgeList.

If this is the case, the smaller edge is removed and the cell which is the ancestor (on the same level as the larger edge) of the cell of this smaller edge is added to the list of cells of the larger edge.

◆ checkRelations()

bool concepts::EdgeData::checkRelations ( )

Checks the relations in faces_.

This member function is used to determine the support of the basis functions associated to this edge. The support of the basis functions on this edge consists of the cells in cells_. The support is enlarged step by step until it is possible to define continuous global basis functions on this support. The faces in faces_ are those faces of the cells in cells_ which have this edge as one of their edges.

To determine if the basis functions have a continous support, the relationship of the faces in faces_ are checked. If two faces are related, it is not possible to define a continuous basis function.

  Related faces are treated as follows: the cell in \c cells_

which is common to this edge and the smaller face is removed from cells_ and replaced by the ancestor of the removed cell such that the larger face and the face of the new cell are identical.

Invariant
The faces in faces_ belong to the cells in cells_. To assert this invariant, recreateFaceList_ is called if something has changed.

◆ doCheckRelations()

static bool concepts::EdgeData::doCheckRelations ( std::map< uint, EdgeData > &  edgeList)
static

Calls checkRelations for each edge in the edgeList.

If the relations cannot be cleared, the edge is removed from the list in favor of its parent.

◆ edge()

const Connector1& concepts::EdgeData::edge ( ) const
inline

Returns edge_.

Definition at line 181 of file continuityData.hh.

◆ end() [1/2]

iterator concepts::ConnectorData::end ( )
inlineinherited

Returns the STL end of the list of cells.

Definition at line 67 of file continuityData.hh.

◆ end() [2/2]

const_iterator concepts::ConnectorData::end ( ) const
inlineinherited

Returns the STL end of the list of cells.

Definition at line 69 of file continuityData.hh.

◆ findCommonCell_()

const CellData* concepts::EdgeData::findCommonCell_ ( const FaceData face) const
private

Finds a cell which is common to this edge and the face.

◆ hasCell()

bool concepts::ConnectorData::hasCell ( const Connector c) const
inherited

Returns true if c is in the list of cells.

◆ key()

Key concepts::EdgeData::key ( ) const
inline

Returns the key of the edge.

Definition at line 219 of file continuityData.hh.

◆ recreateFaceList_()

void concepts::EdgeData::recreateFaceList_ ( )
private

Removes the faces in faces_ and rebuilds this list from the cells in cells_.

◆ related()

int concepts::EdgeData::related ( const EdgeData e) const
inline

Calls Connector::related.

Definition at line 183 of file continuityData.hh.

◆ replaceCell()

void concepts::ConnectorData::replaceCell ( const CellData remove,
const CellData add 
)
inherited

Removes remove from the list of cells and tries to add add to this list using addCell.

Parameters
removeCell which has to be removed from cells_
addCell which should be added to cells_

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const EdgeData e 
)
friend

Member Data Documentation

◆ cells_

std::map<uint, const CellData*> concepts::ConnectorData::cells_
protectedinherited

List of cells.

Definition at line 72 of file continuityData.hh.

◆ edge_

const Connector1& concepts::EdgeData::edge_
private

Edge.

Definition at line 229 of file continuityData.hh.

◆ faces_

std::map<uint, FaceData> concepts::EdgeData::faces_
private

List of faces of this edge.

Definition at line 235 of file continuityData.hh.

◆ io_

bool concepts::EdgeData::io_
private

Is set to true if the edge is okay.

Ie. checkRelations did not have to change anything. The constructor sets it to false.

Definition at line 233 of file continuityData.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich