22 typedef std::function<Eigen::Matrix2d(
const Eigen::Vector2d &)>
FunctionType;
30 const Eigen::MatrixXd & _divdiv,
31 const Eigen::MatrixXd & _divdiv_rhs,
32 const Eigen::MatrixXd & _potential
54 assert(
i >= 0 &&
i <= 2);
58 inline size_t size()
const {
63 std::array<MatrixRd, 3> m_basis;
72 return m_plates_core.mesh();
79 return m_plates_core.degree();
83 Eigen::VectorXd interpolate(
86 const int deg_quad = -1
90 Eigen::MatrixXd computeL2Product(
93 const double & penalty_factor = 1.
98 inline const LocalOperators & cellOperators(
size_t iT)
const
100 return *m_cell_operators[iT];
104 inline const Eigen::MatrixXd & edgePotential(
size_t iE)
const
106 return m_edge_potentials[iE];
110 inline const Eigen::MatrixXd & edgePotential(
const Edge & E)
const
112 return m_edge_potentials[E.global_index()];
116 inline const PlatesCore::CellBases & cellBases(
size_t iT)
const
118 return m_plates_core.cellBases(iT);
122 inline const PlatesCore::CellBases & cellBases(
const Cell &
T)
const
124 return m_plates_core.cellBases(
T.global_index());
128 inline const PlatesCore::EdgeBases & edgeBases(
size_t iE)
const
130 return m_plates_core.edgeBases(iE);
134 inline const PlatesCore::EdgeBases & edgeBases(
const Edge & E)
const
136 return m_plates_core.edgeBases(E.global_index());
140 inline const SymmetricMatrixBasisVertex & SymBasisVertex()
const
142 return m_symm_vertex;
146 LocalOperators _compute_cell_divdiv_potential(
size_t iT);
147 Eigen::MatrixXd _compute_edge_potential(
size_t iE);
149 const PlatesCore & m_plates_core;
151 std::ostream & m_output;
154 SymmetricMatrixBasisVertex m_symm_vertex;
157 std::vector<std::unique_ptr<LocalOperators> > m_cell_operators;
158 std::vector<Eigen::MatrixXd> m_edge_potentials;
static auto tau
Definition basis-test.cpp:71
Base class for global DOF spaces. Provides functions to manipulate global DOFs (the local version bei...
Definition globaldofspace.hpp:16
Construct all polynomial spaces for the plates sequence.
Definition platescore.hpp:25
Discrete Hdivdiv space.
Definition xdivdiv.hpp:20
Compute max and min eigenvalues of all matrices for i
Definition compute_eigs.m:5
Eigen::Matrix2d MatrixRd
Definition basis.hpp:54
bool use_threads
Definition HHO_DiffAdvecReac.hpp:47
MatrixRd FunctionValue
Definition xdivdiv.hpp:48
const Mesh & mesh() const
Return the mesh.
Definition xdivdiv.hpp:70
FunctionValue function(size_t i) const
Definition xdivdiv.hpp:52
std::function< Eigen::Matrix2d(const Eigen::Vector2d &)> FunctionType
Definition xdivdiv.hpp:22
size_t size() const
Definition xdivdiv.hpp:58
SymmetricMatrixBasisVertex()
Definition xdivdiv.cpp:16
Eigen::MatrixXd divdiv_rhs
Definition xdivdiv.hpp:42
std::function< Eigen::Matrix2d(const Eigen::Matrix2d &)> ConstitutiveLawType
Definition xdivdiv.hpp:24
Eigen::MatrixXd divdiv
Definition xdivdiv.hpp:41
LocalOperators(const Eigen::MatrixXd &_divdiv, const Eigen::MatrixXd &_divdiv_rhs, const Eigen::MatrixXd &_potential)
Definition xdivdiv.hpp:29
const size_t & degree() const
Definition xdivdiv.hpp:77
std::function< double(const Eigen::Vector2d &, const Edge &)> EdgeFunctionType
Definition xdivdiv.hpp:23
Eigen::MatrixXd potential
Definition xdivdiv.hpp:43
if(strcmp(field, 'real')) % real valued entries T
Definition mmread.m:93
Definition ddr-klplate.hpp:27
A structure to store the local operators (divdiv and potential)
Definition xdivdiv.hpp:28
Basis for the space of symmetric matrices.
Definition xdivdiv.hpp:47