element3D.hh

Go to the documentation of this file.
1 
6 #ifndef element3DLin_hh
7 #define element3DLin_hh
8 
9 #include "element.hh"
10 #include "geometry/cell3D.hh"
11 
12 namespace concepts {
13  // forward declaration
14  template<typename F>
15  class ElementGraphics;
16 }
17 
18 namespace linearFEM {
19  // forward declaration
20  class TetrahedronGraphics;
21 
22  // *********************************************************** Tetrahedron **
23 
27  class Tetrahedron : public Element {
28  public:
34  Element(4, idx), cell_(cell) {}
42  concepts::TColumn<Real>* T1 = 0) :
43  Element(T0, T1), cell_(cell) {}
44  virtual const concepts::Tetrahedron& support() const
45  { return cell_.connector(); }
46  virtual const concepts::Tetrahedron3d& cell() const { return cell_; }
47  virtual const concepts::ElementGraphics<Real>* graphics() const;
48  protected:
49  virtual std::ostream& info(std::ostream& os) const;
50  private:
54  static std::unique_ptr<TetrahedronGraphics> graphics_;
55  };
56 
57 } // namespace linearFEM
58 
59 #endif // element3DLin_hh
A column of a T matrix.
Definition: analytical.hh:18
virtual const concepts::ElementGraphics< Real > * graphics() const
Tetrahedron(const concepts::Tetrahedron3d &cell, uint idx[])
Constructor.
Definition: element3D.hh:33
Tetrahedron & connector() const
Returns the connector.
Definition: cell3D.hh:100
static std::unique_ptr< TetrahedronGraphics > graphics_
Graphics object of the element.
Definition: element3D.hh:54
Tetrehedral element with linear shape functions in 2D.
Definition: element3D.hh:27
Tetrahedron(const concepts::Tetrahedron3d &cell, concepts::TColumn< Real > *T0, concepts::TColumn< Real > *T1=0)
Constructor.
Definition: element3D.hh:40
virtual const concepts::Tetrahedron & support() const
Returns the support of this element.
Definition: element3D.hh:44
Linear FEM in 1D, 2D and 3D.
Definition: spaceTraits.hh:19
A tetrahedron in the topology.
Definition: topology3D.hh:35
virtual const concepts::Tetrahedron3d & cell() const
Returns the cell of this element.
Definition: element3D.hh:46
A 3D cell: tetrahedron.
Definition: cell3D.hh:47
virtual std::ostream & info(std::ostream &os) const
Base class for the element for linear FEM.
Definition: element.hh:30
const concepts::Tetrahedron3d & cell_
Cell of the element.
Definition: element3D.hh:52
Basic namespace for Concepts-2.
Definition: pml_formula.h:16
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich