Class holding the informations of a regular patch. More...

#include <patches.hh>

Inheritance diagram for geometry::ElementPatch:
concepts::OutputOperator

Public Types

typedef Sequence< quad_loc >::const_iterator const_iterator
 
typedef Sequence< quad_loc >::iterator iterator
 
enum  PatchType {
  INNER, NEUMANN_NEUMANN, DIRICHLET_NEUMANN, NEUMANN_DIRICHLET,
  DIRICHLET_DIRICHLET, NOT_FEATURED_YET
}
 

Public Member Functions

iterator begin ()
 
const_iterator begin () const
 
 ElementPatch ()
 Default Constructor. More...
 
 ElementPatch (const ElementPatch &elmPatch)
 Copy Constructor. More...
 
iterator end ()
 
const_iterator end () const
 
bool exist (uint elmKey)
 Checks for existing of a key of an element in the Patch. More...
 
Boundary getBoundaryEdgeType (uint i) const
 Method that returns Boundary of the requested BoundaryEdges in the Patch ( i=0,1 ). More...
 
bool getPos (uint quadKey, uint &pos) const
 
void insert1st (uint elmKey, uint i)
 
quad_locoperator[] (uint pos)
 Access operator. More...
 
quad_loc operator[] (uint pos) const
 Read Operatpor. More...
 
enum PatchType patchType () const
 Method returns the type of the Element-Patch. More...
 
void push_back (uint elmKey, uint i)
 Method to insert a (unique) key of an Element. More...
 
uint size () const
 
bool type () const
 Method to tell the kind of the Elementpatch. More...
 
void typeUpdateL (concepts::Boundary type)
 
void typeUpdateR (concepts::Boundary type)
 
virtual ~ElementPatch ()
 

Protected Member Functions

std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 

Private Attributes

Sequence< quad_locelmP_
 
concepts::Boundary lEdgeType_
 
concepts::Boundary rEdgeType_
 

Detailed Description

Class holding the informations of a regular patch.

It is a special case of a concepts::Sequence with additional information of the type of the patch. At the moment there are 5 types supported : Inner, Neumann/Neumann, Neumann/Dirichlet, Dirichlet/Dirichlet, Dirichlet/Neumann. This class holds the keys for Elements around a vertex and is sorted and controlled in the controll classes VtxToPatchMaps and VtxtoElmSupportMap.

Definition at line 83 of file patches.hh.

Member Typedef Documentation

◆ const_iterator

◆ iterator

Member Enumeration Documentation

◆ PatchType

Enumerator
INNER 
NEUMANN_NEUMANN 
DIRICHLET_NEUMANN 
NEUMANN_DIRICHLET 
DIRICHLET_DIRICHLET 
NOT_FEATURED_YET 

Definition at line 89 of file patches.hh.

Constructor & Destructor Documentation

◆ ElementPatch() [1/2]

geometry::ElementPatch::ElementPatch ( )
inline

Default Constructor.

By default the Patch is a Inner Patch, this may be changed with the typeUpdateL or typeUpdateR routines.

Definition at line 106 of file patches.hh.

◆ ElementPatch() [2/2]

geometry::ElementPatch::ElementPatch ( const ElementPatch elmPatch)
inline

Copy Constructor.

Definition at line 114 of file patches.hh.

◆ ~ElementPatch()

virtual geometry::ElementPatch::~ElementPatch ( )
inlinevirtual

Definition at line 122 of file patches.hh.

Member Function Documentation

◆ begin() [1/2]

iterator geometry::ElementPatch::begin ( )
inline

Definition at line 152 of file patches.hh.

◆ begin() [2/2]

const_iterator geometry::ElementPatch::begin ( ) const
inline

Definition at line 156 of file patches.hh.

◆ end() [1/2]

iterator geometry::ElementPatch::end ( )
inline

Definition at line 160 of file patches.hh.

◆ end() [2/2]

const_iterator geometry::ElementPatch::end ( ) const
inline

Definition at line 164 of file patches.hh.

◆ exist()

bool geometry::ElementPatch::exist ( uint  elmKey)

Checks for existing of a key of an element in the Patch.

Parameters
Keyof the Element.
Returns
Returns true if it exists else false.

◆ getBoundaryEdgeType()

Boundary geometry::ElementPatch::getBoundaryEdgeType ( uint  i) const

Method that returns Boundary of the requested BoundaryEdges in the Patch ( i=0,1 ).

Parameters
iNo of Edge. i = 0 First (left) boundary edge in the first Quad, i = 1 second (right) boundary edge in the last Quad.
Returns
Returns the Boundary of the Edge.

◆ getPos()

bool geometry::ElementPatch::getPos ( uint  quadKey,
uint &  pos 
) const

◆ info()

std::ostream& geometry::ElementPatch::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

◆ insert1st()

void geometry::ElementPatch::insert1st ( uint  elmKey,
uint  i 
)

◆ operator[]() [1/2]

quad_loc& geometry::ElementPatch::operator[] ( uint  pos)
inline

Access operator.

Parameters
posPosition for requested element key.
Returns
Returns the element-key at the postion.

Definition at line 225 of file patches.hh.

◆ operator[]() [2/2]

quad_loc geometry::ElementPatch::operator[] ( uint  pos) const
inline

Read Operatpor.

Parameters
posPosition for requested element key.
Returns
Returns the element-key at the postion.

Definition at line 235 of file patches.hh.

◆ patchType()

enum PatchType geometry::ElementPatch::patchType ( ) const

Method returns the type of the Element-Patch.

Returns
The enum type of the Element-Patch.

◆ push_back()

void geometry::ElementPatch::push_back ( uint  elmKey,
uint  i 
)

Method to insert a (unique) key of an Element.

It is just inserted when not already existing.

Parameters
elmKeyKey of the Element.

◆ size()

uint geometry::ElementPatch::size ( ) const
inline

Definition at line 182 of file patches.hh.

◆ type()

bool geometry::ElementPatch::type ( ) const
inline

Method to tell the kind of the Elementpatch.

It either returns 0 if the patch is an inner Patch or 1 if the patch is a boundary patch.

Returns
a boolish value of the kind of Patch.

Definition at line 193 of file patches.hh.

◆ typeUpdateL()

void geometry::ElementPatch::typeUpdateL ( concepts::Boundary  type)
inline

Definition at line 204 of file patches.hh.

◆ typeUpdateR()

void geometry::ElementPatch::typeUpdateR ( concepts::Boundary  type)
inline

Definition at line 208 of file patches.hh.

Member Data Documentation

◆ elmP_

Sequence<quad_loc> geometry::ElementPatch::elmP_
private

Definition at line 246 of file patches.hh.

◆ lEdgeType_

concepts::Boundary geometry::ElementPatch::lEdgeType_
private

Definition at line 251 of file patches.hh.

◆ rEdgeType_

concepts::Boundary geometry::ElementPatch::rEdgeType_
private

Definition at line 253 of file patches.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