space3D.hh

Go to the documentation of this file.
1 
6 #ifndef linSpace3D_hh
7 #define linSpace3D_hh
8 
9 #include "element3D.hh"
10 #include "basics/typedefs.hh"
11 #include "space/space.hh"
12 #include "space/element.hh"
14 #include "toolbox/dynArray.hh"
15 
16 namespace concepts {
17 
18  // forward declarations
19  class Mesh3;
20  class BoundaryConditions;
21 
22  // ************************************************************** Scanners **
23 
24  template<>
25  class Scan<linearFEM::Tetrahedron> : public Scan<linearFEM::Element> {
26  public:
28  };
29 
30 } // namespace concepts
31 
32 namespace linearFEM {
33 
34  // ************************************************************** Linear3d **
35 
39  class Linear3d : public concepts::Space<Real> {
40  public:
42  typedef void (*SMap)(const concepts::TColumn<Real>&,
49  virtual ~Linear3d();
50  virtual uint dim() const { return dim_; }
51  virtual uint nelm() const { return nelm_; }
52  virtual Scan* scan() const {
54  protected:
55  virtual std::ostream& info(std::ostream& os) const;
56  private:
58  uint dim_;
60  uint nelm_;
65  };
66 
67 } // namespace linearFEM
68 
69 #endif // linSpace3D_hh
A column of a T matrix.
Definition: analytical.hh:18
uint dim_
Number of degrees of freedom.
Definition: space3D.hh:58
Abstract class for a space.
An abstract class for 3D meshes.
Definition: mesh.hh:112
Joiner class with multiple successors, i.e.
Tetrehedral element with linear shape functions in 2D.
Definition: element3D.hh:27
concepts::Joiner< Tetrahedron *, 1 > * elm_
List of elements.
Definition: space3D.hh:64
virtual std::ostream & info(std::ostream &os) const
Space for linear FEM in 3D using tetrahedra.
Definition: space3D.hh:39
Linear FEM in 1D, 2D and 3D.
Definition: spaceTraits.hh:19
A tetrahedron in the topology.
Definition: topology3D.hh:35
An abstract class for scanning a mesh (a set of cells) or a space (a set of elements).
void(* SMap)(const concepts::TColumn< Real > &, concepts::TColumn< Real > &)
Definition: space3D.hh:42
virtual uint dim() const
Definition: space3D.hh:50
uint nelm_
Number of elements.
Definition: space3D.hh:60
concepts::BoundaryConditions * bc_
Boundary conditions.
Definition: space3D.hh:62
virtual uint nelm() const
Definition: space3D.hh:51
Linear3d(concepts::Mesh3 &msh, concepts::BoundaryConditions *bc=0)
Constructor.
virtual Scan * scan() const
Definition: space3D.hh:52
concepts::Scan< Tetrahedron > Scan
Definition: space3D.hh:41
virtual linearFEM::Tetrahedron & operator++(int)=0
Returns the next element in the scanned set.
Basic namespace for Concepts-2.
Definition: pml_formula.h:16
Scanner for a list of pointers.
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich