Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
TrianglesP2 Class Reference

Space for quadratic triangular FEM in 2D. More...

#include <triangleP2.hh>

Inheritance diagram for TrianglesP2:
Inheritance graph
[legend]
Collaboration diagram for TrianglesP2:
Collaboration graph
[legend]

List of all members.

Public Types

typedef concepts::Scan
< TriangleP2
Scan
typedef Scan< Element< Real > > Scanner
typedef void(* SMap )(const concepts::TColumn< Real > &, concepts::TColumn< Real > &)

Public Member Functions

virtual uint dim () const
 Returns the dimension of the space.
virtual uint nelm () const
 Returns the number of elements in the space.
void rebuild ()
 Rebuilds the space.
virtual TrianglesP2::Scanscan () const
 Returns a scanner to iterate over the elements of the space.
 TrianglesP2 (concepts::Mesh2 &msh, uint level, concepts::BoundaryConditions *bc=0)
 Constructor.
virtual ~TrianglesP2 ()

Protected Member Functions

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

Private Member Functions

void deactivate_ (concepts::Connector1 &edg)
 Deactives children of this edge and the new vertex.
void rebuild0_ (concepts::Connector2 &cntr, const int l, int &L)
 Determines maximal level and sets control information.
void rebuild1_ (concepts::Triangle2d &cell, concepts::TColumn< Real > *T0=0)
 Builds the elements for triangles.

Private Attributes

__gnu_cxx::hash_map< uint, short > adj_
 Adjustements (ie. level changes) for the elements.
concepts::BoundaryConditionsbc_
 Boundary conditions.
__gnu_cxx::hash_map< uint, short > ctrl0_
 Control information for vertices: active, member of space, valid index.
__gnu_cxx::hash_map< uint, short > ctrl0L_
 Level information for vertices.
__gnu_cxx::hash_map< uint, short > ctrl1_
 Control information for edges: active, member of space.
__gnu_cxx::hash_map< uint, short > ctrl1L_
 Level information for edges.
__gnu_cxx::hash_map< uint, short > ctrl2_
 Control information for elements.
uint dim_
 Number of degrees of freedom.
__gnu_cxx::hash_map< uint, uint > dofEdg_
__gnu_cxx::hash_map< uint, uint > dofVtx_
 Degree of freedom map.
concepts::Joiner< TriangleP2 *, 1 > * elm_
 List of elements.
concepts::Mesh2msh_
 Mesh which this space is based on.
uint nelm_
 Number of elements.
bool rebuild_
 Flag for rebuilding the space.

Static Private Attributes

static SMap S_ [4]

Detailed Description

Space for quadratic triangular FEM in 2D.

Author:
Philipp Frauenfelder, 2003

Definition at line 99 of file triangleP2.hh.


Member Typedef Documentation

Definition at line 101 of file triangleP2.hh.

typedef Scan<Element<Real > > concepts::Space< Real >::Scanner [inherited]

Reimplemented in linDG3D::FvdgSpace, concepts::SpaceOnCells< Real >, and vectorial::Space< Real >.

Definition at line 44 of file space.hh.

typedef void(* TrianglesP2::SMap)(const concepts::TColumn< Real > &, concepts::TColumn< Real > &)

Definition at line 102 of file triangleP2.hh.


Constructor & Destructor Documentation

TrianglesP2::TrianglesP2 ( concepts::Mesh2 msh,
uint  level,
concepts::BoundaryConditions bc = 0 
)

Constructor.

Parameters:
mshMesh
levelNumber levels for initial refinement
bcBoundary conditions
virtual TrianglesP2::~TrianglesP2 ( ) [virtual]

Member Function Documentation

void TrianglesP2::deactivate_ ( concepts::Connector1 edg) [private]

Deactives children of this edge and the new vertex.

virtual uint TrianglesP2::dim ( ) const [inline, virtual]

Returns the dimension of the space.

Implements concepts::Space< Real >.

Definition at line 112 of file triangleP2.hh.

virtual std::ostream& TrianglesP2::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::Space< Real >.

virtual uint TrianglesP2::nelm ( ) const [inline, virtual]

Returns the number of elements in the space.

Implements concepts::Space< Real >.

Definition at line 113 of file triangleP2.hh.

void TrianglesP2::rebuild ( )

Rebuilds the space.

void TrianglesP2::rebuild0_ ( concepts::Connector2 cntr,
const int  l,
int &  L 
) [private]

Determines maximal level and sets control information.

rebuild0_ is called recursively.

Parameters:
cntrSupport of the element
lCurrent level
LMaximal level
void TrianglesP2::rebuild1_ ( concepts::Triangle2d cell,
concepts::TColumn< Real > *  T0 = 0 
) [private]

Builds the elements for triangles.

This routines assigns degress of freedom to vertices, creates T matrices. rebuild1_ is called recursively.

Precondition:
T0 is 0 as there are no S matrices for triangles up to now.
Todo:
S matrices for triangles
Parameters:
cellCell of the element
T0T columns from element on a higher level
virtual TrianglesP2::Scan* TrianglesP2::scan ( ) const [virtual]

Returns a scanner to iterate over the elements of the space.

Implements concepts::Space< Real >.


Member Data Documentation

__gnu_cxx::hash_map<uint, short> TrianglesP2::adj_ [private]

Adjustements (ie. level changes) for the elements.

Definition at line 133 of file triangleP2.hh.

Boundary conditions.

Definition at line 129 of file triangleP2.hh.

__gnu_cxx::hash_map<uint, short> TrianglesP2::ctrl0_ [private]

Control information for vertices: active, member of space, valid index.

Definition at line 135 of file triangleP2.hh.

__gnu_cxx::hash_map<uint, short> TrianglesP2::ctrl0L_ [private]

Level information for vertices.

Definition at line 137 of file triangleP2.hh.

__gnu_cxx::hash_map<uint, short> TrianglesP2::ctrl1_ [private]

Control information for edges: active, member of space.

Definition at line 139 of file triangleP2.hh.

__gnu_cxx::hash_map<uint, short> TrianglesP2::ctrl1L_ [private]

Level information for edges.

Definition at line 141 of file triangleP2.hh.

__gnu_cxx::hash_map<uint, short> TrianglesP2::ctrl2_ [private]

Control information for elements.

Definition at line 143 of file triangleP2.hh.

uint TrianglesP2::dim_ [private]

Number of degrees of freedom.

Definition at line 121 of file triangleP2.hh.

__gnu_cxx::hash_map<uint, uint> TrianglesP2::dofEdg_ [private]

Definition at line 145 of file triangleP2.hh.

__gnu_cxx::hash_map<uint, uint> TrianglesP2::dofVtx_ [private]

Degree of freedom map.

Definition at line 145 of file triangleP2.hh.

List of elements.

Definition at line 131 of file triangleP2.hh.

Mesh which this space is based on.

Definition at line 127 of file triangleP2.hh.

uint TrianglesP2::nelm_ [private]

Number of elements.

Definition at line 123 of file triangleP2.hh.

bool TrianglesP2::rebuild_ [private]

Flag for rebuilding the space.

Definition at line 125 of file triangleP2.hh.

SMap TrianglesP2::S_[4] [static, private]

Definition at line 147 of file triangleP2.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)