Space for quadratic triangular FEM in 2D. More...
#include <triangleP2.hh>


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::Scan * | scan () 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::BoundaryConditions * | bc_ |
| 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::Mesh2 & | msh_ |
| 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] |
Space for quadratic triangular FEM in 2D.
Definition at line 99 of file triangleP2.hh.
| typedef concepts::Scan<TriangleP2> TrianglesP2::Scan |
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 >.
| typedef void(* TrianglesP2::SMap)(const concepts::TColumn< Real > &, concepts::TColumn< Real > &) |
Definition at line 102 of file triangleP2.hh.
| TrianglesP2::TrianglesP2 | ( | concepts::Mesh2 & | msh, |
| uint | level, | ||
| concepts::BoundaryConditions * | bc = 0 |
||
| ) |
Constructor.
| msh | Mesh |
| level | Number levels for initial refinement |
| bc | Boundary conditions |
| virtual TrianglesP2::~TrianglesP2 | ( | ) | [virtual] |
| 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.
| cntr | Support of the element |
| l | Current level |
| L | Maximal 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.
| cell | Cell of the element |
| T0 | T 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 >.
__gnu_cxx::hash_map<uint, short> TrianglesP2::adj_ [private] |
Adjustements (ie. level changes) for the elements.
Definition at line 133 of file triangleP2.hh.
concepts::BoundaryConditions* TrianglesP2::bc_ [private] |
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.
concepts::Joiner<TriangleP2*, 1>* TrianglesP2::elm_ [private] |
List of elements.
Definition at line 131 of file triangleP2.hh.
concepts::Mesh2& TrianglesP2::msh_ [private] |
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.