zerotangential.hh

Go to the documentation of this file.
1 
6 #ifndef zerotangential3D_hh
7 #define zerotangential3D_hh
8 
10 #include "geometry/connector.hh"
11 #include "hp3D/hexahedron.hh"
12 #include "toolbox/dynArray.hh"
13 
14 namespace hp3D {
15 
16  // *************************************************** ZeroTangentialValue **
17 
23  template<typename F>
25  public:
30  attr_(a), scalElm_(0),
31  ctrl0_(2, 10, (uint)-1), ctrl1_(2, 10, (uint)-1) {}
34  ctrl0_(2, 10, (uint)-1), ctrl1_(2, 10, (uint)-1) {}
35  virtual void lengthT(const concepts::Element<F>& e, uint& length);
36  virtual void assembly(const concepts::Element<F>& e,
37  concepts::TColumn<F>*& t, uint& n, uint& j,
38  uint length);
40  virtual void localMatrix(concepts::ElementMatrix<F>& em, uint& j,
41  const constraints::Element<F>& elm) const;
42  virtual void localVector(concepts::ElementMatrix<F>& em, uint& j,
43  const constraints::Element<F>& elm) const;
44  protected:
45  virtual std::ostream& info(std::ostream& os) const;
46  private:
49  mutable const Hexahedron* scalElm_;
56  void fillEM_(const uint ll[3], const ushort p[3], const uint offset,
57  uint& j, const concepts::Real3d e,
58  concepts::ElementMatrix<F>& em) const;
59  };
60 
61 } // namespace hp3D
62 
63 #endif // zerotangential3D_hh
A column of a T matrix.
Definition: analytical.hh:18
An abstract class for an element of a space.
Definition: exceptions.hh:15
A 3D element of the topology.
Definition: connector.hh:277
A 3D FEM element: a hexahedron.
Definition: hexahedron.hh:37
virtual void lengthT(const concepts::Element< F > &e, uint &length)
Computes the length of the TColumn.
virtual void assembly(const concepts::Element< F > &e, concepts::TColumn< F > *&t, uint &n, uint &j, uint length)
Returns the TColumns t for this constraint in element e.
ZeroTangentialValue(const ZeroTangentialValue &z)
const Hexahedron * scalElm_
virtual void localVector(concepts::ElementMatrix< F > &em, uint &j, const constraints::Element< F > &elm) const
Fills the entries in the local constraints vector em.
virtual constraints::AnalyticalConstraint< F > * clone() const
Creates clone of itself and returns it.
concepts::Attribute attr_
Topological entities with this attribute are considered.
Models an analytical constraint.
Definition: analytical.hh:42
ZeroTangentialValue(concepts::Attribute a)
Constructor.
Element matrix.
Definition: linearForm.hh:18
unsigned short ushort
Abbreviation for unsigned short.
Definition: typedefs.hh:48
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
const concepts::Connector3 & assertions_(const concepts::Element< F > &e) const
void fillEM_(const uint ll[3], const ushort p[3], const uint offset, uint &j, const concepts::Real3d e, concepts::ElementMatrix< F > &em) const
concepts::DynArray< uint > ctrl1_
Edges should only be considered once, store it here.
3D hp-FEM for H1-conforming elements.
Definition: meshDX.hh:23
Sets the outer product of the coefficients and the normal vector to zero in every node on an edge wit...
concepts::DynArray< uint > ctrl0_
Vertices should only be considered once, store it here.
Element of the constraints space.
Definition: analytical.hh:24
Attributes for elements of the topology.
Definition: connector.hh:22
virtual void localMatrix(concepts::ElementMatrix< F > &em, uint &j, const constraints::Element< F > &elm) const
Fills the entries in the local constraints matrix em.
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich