Rheolef  7.2
an efficient C++ finite element environment
bubble.h
Go to the documentation of this file.
1 // file automatically generated by "../../../rheolef/fem/lib/basis_symbolic_cxx.cc"
22 #ifndef _RHEOLEF_bubble_H
23 #define _RHEOLEF_bubble_H
24 #include "rheolef/basis.h"
25 #include "rheolef/tensor.h"
27 #include "basis_fem_Pk_lagrange.h"
28 namespace rheolef {
29 
30 template<class T>
31 class basis_bubble: public basis_rep<T> {
32 public:
33  typedef basis_rep<T> base;
34  typedef typename base::size_type size_type;
35  basis_bubble();
36  ~basis_bubble();
37  std::string name() const { return family_name(); }
38  bool have_index_parameter() const { return false; }
39  std::string family_name() const { return "bubble"; }
40  bool have_compact_support_inside_element() const { return true; }
41  size_type degree() const;
42  bool is_nodal() const { return true; }
43  void evaluate (
44  reference_element hat_K,
45  const point_basic<T>& hat_x,
46  Eigen::Matrix<T,Eigen::Dynamic,1>& values) const;
47  void grad_evaluate (
48  reference_element hat_K,
49  const point_basic<T>& hat_x,
50  Eigen::Matrix<point_basic<T>,Eigen::Dynamic,1>& values) const;
51  void _compute_dofs (
52  reference_element hat_K,
53  const Eigen::Matrix<T,Eigen::Dynamic,1>& f_xnod,
54  Eigen::Matrix<T,Eigen::Dynamic,1>& dof) const;
55  void _initialize_cstor_sizes() const;
56  void _initialize_data (reference_element hat_K) const;
57  const Eigen::Matrix<point_basic<T>,Eigen::Dynamic,1>& hat_node(reference_element hat_K) const {
59  return _hat_node [hat_K.variant()]; }
60  mutable std::array<
61  Eigen::Matrix<point_basic<T>,Eigen::Dynamic,1>,
63 };
64 } // namespace rheolef
65 #endif // _RHEOLEF_bubble_H
66 
field::size_type size_type
Definition: branch.cc:430
basis_rep< T > base
Definition: bubble.h:33
std::string name() const
Definition: bubble.h:37
bool have_compact_support_inside_element() const
Definition: bubble.h:40
std::array< Eigen::Matrix< point_basic< T >, Eigen::Dynamic, 1 >, reference_element::max_variant > _hat_node
Definition: bubble.h:62
base::size_type size_type
Definition: bubble.h:34
size_type degree() const
Definition: bubble.cc:178
void _initialize_cstor_sizes() const
Definition: bubble.cc:243
const Eigen::Matrix< point_basic< T >, Eigen::Dynamic, 1 > & hat_node(reference_element hat_K) const
Definition: bubble.h:57
void _compute_dofs(reference_element hat_K, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &f_xnod, Eigen::Matrix< T, Eigen::Dynamic, 1 > &dof) const
Definition: bubble.cc:234
bool is_nodal() const
Definition: bubble.h:42
void evaluate(reference_element hat_K, const point_basic< T > &hat_x, Eigen::Matrix< T, Eigen::Dynamic, 1 > &values) const
Definition: bubble.cc:184
std::string family_name() const
Definition: bubble.h:39
bool have_index_parameter() const
Definition: bubble.h:38
void grad_evaluate(reference_element hat_K, const point_basic< T > &hat_x, Eigen::Matrix< point_basic< T >, Eigen::Dynamic, 1 > &values) const
Definition: bubble.cc:209
void _initialize_data(reference_element hat_K) const
Definition: bubble.cc:259
reference_element::size_type size_type
Definition: basis.h:214
void _initialize_data_guard(reference_element hat_K) const
Definition: basis_rep.cc:131
see the reference_element page for the full documentation
static const variant_type max_variant
variant_type variant() const
This file is part of Rheolef.