hook.hh

Go to the documentation of this file.
1 
6 #ifndef hook3D_hh
7 #define hook3D_hh
8 
9 #include "basics/typedefs.hh"
11 #include "toolbox/array.hh"
12 #include "operator/bilinearForm.hh"
13 
14 namespace hp3D {
15  // forward declarations
16  class Hexahedron;
17 
18  using concepts::Real;
19 
20  // **************************************************************** Hook **
21 
27  class Hook : public concepts::BilinearForm<Real> {
28  public:
32  const Hexahedron** oldElm, concepts::Mapping<Real, 6>& E,
33  const uint i = 0, const uint j = 0) :
34  i_(i), j_(j), jacobian_(jacobian), jacobianInv_(jacobianInv),
35  coeffMatrix_(0), E_(E) , oldElm_(oldElm) {}
36  virtual ~Hook();
37 
38  virtual void operator()(const concepts::Element<Real>& elmX,
39  const concepts::Element<Real>& elmY,
41  void operator()(const Hexahedron& elmX, const Hexahedron& elmY,
43  protected:
44  virtual std::ostream& info(std::ostream& os) const;
45  private:
47  uint i_, j_;
48 
53  //concepts::Array<concepts::MapReal3d> &jacobianInv_;
57 
59  };
60 
61 } // namespace hp3D
62 
63 #endif // hook3D_hh
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual ~Hook()
virtual void operator()(const concepts::Element< Real > &elmX, const concepts::Element< Real > &elmY, concepts::ElementMatrix< Real > &em) const
A 3D FEM element: a hexahedron.
Definition: hexahedron.hh:37
void operator()(const Hexahedron &elmX, const Hexahedron &elmY, concepts::ElementMatrix< Real > &em) const
concepts::Array< Real > & jacobian_
Intermediate data for element matrix computation Jacobian (determinant)
Definition: hook.hh:51
concepts::Array< concepts::Array< concepts::MapReal3d > > & jacobianInv_
matrix with all matrices a_*a_j' build from inverse of jacobian matrix
Definition: hook.hh:54
Abstract function class to evaluate a bilinear form.
Definition: bilinearForm.hh:33
uint i_
row and column inside the vectorial Bilinearform
Definition: hook.hh:47
uint j_
Definition: hook.hh:47
const Hexahedron ** oldElm_
Definition: hook.hh:58
concepts::Mapping< Real, 6 > & E_
Definition: hook.hh:56
concepts::Array< concepts::MapReal3d > coeffMatrix_
Definition: hook.hh:55
Hook(concepts::Array< Real > &jacobian, concepts::Array< concepts::Array< concepts::MapReal3d > > &jacobianInv, const Hexahedron **oldElm, concepts::Mapping< Real, 6 > &E, const uint i=0, const uint j=0)
Constructor of the i.th row and j.th column of vectorial Bilinearform.
Definition: hook.hh:30
3D hp-FEM for H1-conforming elements.
Definition: meshDX.hh:23
A function class to calculate element matrices for the Bilinearform of linear Elasticity.
Definition: hook.hh:27
double Real
Type normally used for a floating point number.
Definition: typedefs.hh:36
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich