Class documentation of Concepts

Loading...
Searching...
No Matches
Inheritance diagram for concepts::CellCondition:
concepts::OutputOperator

Public Types

enum  inactivTypes {
  ACTIVE = 0 , INACTIVE , INACTIVEPLUS , SWITCH_ON ,
  SWITCH_OFF , DIVIDE , MAX_TYPE
}
 

Public Member Functions

 CellCondition ()
 
 CellCondition (const enum inactivTypes type, Set< Attribute > attributes=Set< Attribute >())
 
 CellCondition (const CellCondition &cnd)
 Copy constructor.
 
enum inactivTypes type () const
 Returns the type of the cell condition.
 
concepts::Set< Attributeattributes () const
 Returns the attribute set.
 
std::string typeStr () const
 Return the type of the cell condition as output string.
 
virtual CellConditionoperator= (const CellCondition &i)
 Assignment operator.
 
bool active (const Connector2 &cell, const Connector0 &vertex) const
 

Protected Member Functions

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

Detailed Description

Definition at line 22 of file cellConditions.hh.

Member Enumeration Documentation

◆ inactivTypes

Different types to handle inactive cells

ACTIVE is the default type.

INACTIVE means, that these cells are in no support of any basis function. Basis functions are cut on boundary of these cells. are no degrees of freedom inside the cell.

INACTIVEPLUS means, that additionally the degrees of freedom on the boundary of the cell are set to passive.

SWITCH_ON builds only the degrees of freedom specified in the set of attributes. Inner degrees of freedom are not built.

SWITCH_OFF builds every degree of freedom except for the ones specified in the attributes set.

DIVIDE takes the degrees of freedom on a facette (edge or face) in the interior such that the degrees of freedom are doubled.

SWITCH_ON and SWITCH_OFF only work for degrees of freedom on the boundary of the cell. For inner degrees of freedom consider the class BuildH1InnerTColumnsLinTrunk in /hp2D/buildH1TColumns.hh. Consider that one cell cannot have two different CellCondition objects. The last inserted one will be the one CellConditions.add(...) is keeping.

REMARK: Be carefull with edge and vertex attributes. If an edge with attribute "a" has a vertex with no attribute, than the vertex degree of freedom will be treated the same way as the edge (SWITCH_ON or SWITCH_OFF). However, this does not apply for adjacent cells with the same vertex. If the vertex in the adjacent cell is to be treated in the same then the vertex itself needs to have the attribute "a". On the other hand, if the vertex has its own attribute, then it is independent of the edge. This method implies that you must respect a further consistency condition within each cell with cellCondition: If ever two adjacent edges have different non zero attributes, the vertex in between them needs its own attribute. By violating this condition you will produce an assertion error. If one of the edge attributes is zero (i.e. the edge has no attribute) the vertex will get the attribute of the other edge or else will also have no attribute if the two edges do not have attributes. Note that this is done in each cell separately, thus there are only two edges a vertex.

Examples for the usage of CellCondition can be found in /geometry/testsuite/testCC.cc or in /hp2D/testsuite/cellconditionsTest.cc.

Definition at line 74 of file cellConditions.hh.

Constructor & Destructor Documentation

◆ CellCondition() [1/2]

concepts::CellCondition::CellCondition ( )

Default constructor. Initializes the type to ACTIVE.

◆ CellCondition() [2/2]

concepts::CellCondition::CellCondition ( const enum inactivTypes  type,
Set< Attribute attributes = SetAttribute >() 
)

Constructor.

Member Function Documentation

◆ active()

bool concepts::CellCondition::active ( const Connector2 cell,
const Connector0 vertex 
) const

Returns true, if the vertex in cell is active with respect to the cell conditions.

◆ attributes()

concepts::Set< Attribute > concepts::CellCondition::attributes ( ) const
inline

Returns the attribute set.

Definition at line 95 of file cellConditions.hh.

◆ info()

virtual std::ostream & concepts::CellCondition::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

◆ type()

enum inactivTypes concepts::CellCondition::type ( ) const
inline

Returns the type of the cell condition.

Definition at line 92 of file cellConditions.hh.


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