80 std::unique_ptr<PolyBasisCellType>
Polykpo;
81 std::unique_ptr<PolyBasisCellType>
Polyk;
83 std::unique_ptr<PolydBasisCellType>
Polykd;
84 std::unique_ptr<PolydxdBasisCellType>
Polykdxd;
96 std::unique_ptr<PolyBasisEdgeType>
Polyk;
97 std::unique_ptr<PolydBasisEdgeType>
Polykd;
104 const Eigen::MatrixXd & _gradient,
106 const Eigen::MatrixXd & _symmetric_gradient,
107 const Eigen::MatrixXd & _potential,
109 const Eigen::MatrixXd & _potential_sym,
110 const Eigen::MatrixXd & _stabilisation,
112 const Eigen::MatrixXd & _difference
154 return m_boundary_stab;
160 const int doe_cell = -1,
161 const int doe_face = -1
169 const int doe_cell = -1,
170 const int doe_face = -1
193 assert( m_cell_bases[iT] );
194 return *m_cell_bases[iT].get();
207 assert( m_edge_bases[iE] );
208 return *m_edge_bases[iE].get();
220 assert( m_operators[iT] );
221 return *m_operators[iT];
232 const std::vector<Eigen::VectorXd> & list_dofs
238 const Eigen::VectorXd & u
243 CellBases _construct_cell_bases(
size_t iT);
246 EdgeBases _construct_edge_bases(
size_t iE);
249 LocalOperators _compute_operators(
size_t iT);
260 std::ostream & m_output;
263 std::vector<std::unique_ptr<CellBases> > m_cell_bases;
265 std::vector<std::unique_ptr<EdgeBases> > m_edge_bases;
268 std::vector<std::unique_ptr<LocalOperators> > m_operators;
Base class for global DOF spaces. Provides functions to manipulate global DOFs (the local version bei...
Definition globaldofspace.hpp:16
Matrix family obtained from a scalar family.
Definition basis.hpp:719
Vector family obtained by tensorization of a scalar family.
Definition basis.hpp:559
Class definition: polynomial bases and operators.
Definition vhhospace.hpp:52
Eigen::Vector2d VectorRd
Definition basis.hpp:55
Eigen::Matrix2d MatrixRd
Definition basis.hpp:54
MatrixFamily< PolyBasisCellType, dimspace > PolydxdBasisCellType
Definition vhhospace.hpp:57
std::unique_ptr< PolydBasisCellType > Polykpod
Definition vhhospace.hpp:82
std::unique_ptr< PolyBasisCellType > Polyk
Definition vhhospace.hpp:81
const LocalOperators & operators(size_t iT) const
Return operators for the cell of index iT.
Definition vhhospace.hpp:218
std::unique_ptr< PolydBasisEdgeType > Polykd
Definition vhhospace.hpp:97
Family< PolydxdBasisCellType > PolySymdxdBasisCellType
Definition vhhospace.hpp:59
const CellBases & cellBases(const Cell &T) const
Return cell bases for cell T.
Definition vhhospace.hpp:198
std::function< VectorRd(const VectorRd &)> FunctionType
Definition vhhospace.hpp:66
Eigen::VectorXd interpolate(const FunctionType &q, const int doe_cell=-1, const int doe_face=-1) const
Interpolator of a continuous function.
Definition vhhospace.cpp:163
std::vector< Eigen::VectorXd > computeVertexValues(const Eigen::VectorXd &u) const
Definition vhhospace.cpp:557
Edge GeometricSupport
Geometric support.
Definition vhhospace.hpp:94
TensorizedVectorFamily< PolyBasisCellType, dimspace > PolydBasisCellType
Definition vhhospace.hpp:56
Eigen::MatrixXd stabilisation
Definition vhhospace.hpp:128
static const CellSelection allcells
Definition vhhospace.hpp:48
Eigen::MatrixXd gradient
Definition vhhospace.hpp:124
std::unique_ptr< PolydxdBasisCellType > Polykdxd
Definition vhhospace.hpp:84
std::unique_ptr< PolyBasisEdgeType > Polyk
Definition vhhospace.hpp:96
std::unique_ptr< PolySymdxdBasisCellType > PolySymkdxd
Definition vhhospace.hpp:86
Eigen::VectorXd components(size_t iT, const FunctionType &q, const int doe=-1) const
Discrete components of continuous function in [P^k(T)]^d TODO more general function,...
Definition vhhospace.cpp:224
Eigen::MatrixXd symmetric_gradient
Definition vhhospace.hpp:125
std::unique_ptr< PolyBasisCellType > Polykpo
Definition vhhospace.hpp:80
Eigen::VectorXd local_interpolate(size_t iT, const FunctionType &q, const int doe_cell=-1, const int doe_face=-1) const
Local Interpolator of a continuous function on the element iT.
Definition vhhospace.cpp:203
const CellBases & cellBases(size_t iT) const
Return cell bases for element iT.
Definition vhhospace.hpp:190
VHHOSpace(const Mesh &mesh, size_t K, bool use_threads=true, std::ostream &output=std::cout)
Overloaded constructor when the selection of boundary stabilisation is not entered (all boundary face...
Definition vhhospace.hpp:136
LocalOperators(const Eigen::MatrixXd &_gradient, const Eigen::MatrixXd &_symmetric_gradient, const Eigen::MatrixXd &_potential, const Eigen::MatrixXd &_potential_sym, const Eigen::MatrixXd &_stabilisation, const Eigen::MatrixXd &_difference)
Definition vhhospace.hpp:103
Cell GeometricSupport
Geometric support.
Definition vhhospace.hpp:78
std::vector< std::pair< double, double > > computeNorms(const std::vector< Eigen::VectorXd > &list_dofs) const
Computes the discrete L2 (cell unknowns only) and H1 norms of a list of vectors.
Definition vhhospace.cpp:475
const size_t & degree() const
Return the polynomial degree (common face and elements)
Definition vhhospace.hpp:146
const EdgeBases & edgeBases(const Edge &E) const
Return cell bases for edge E.
Definition vhhospace.hpp:212
const LocalOperators & operators(const Cell &T) const
Return cell operators for cell T.
Definition vhhospace.hpp:225
Eigen::MatrixXd potential
Definition vhhospace.hpp:126
Family< TensorizedVectorFamily< PolyBasisEdgeType, dimspace > > PolydBasisEdgeType
Definition vhhospace.hpp:63
Family< MonomialScalarBasisEdge > PolyBasisEdgeType
Definition vhhospace.hpp:62
const Mesh & mesh() const
Return a const reference to the mesh.
Definition vhhospace.hpp:140
Eigen::MatrixXd potential_sym
Definition vhhospace.hpp:127
Eigen::MatrixXd difference
Definition vhhospace.hpp:129
Family< MonomialScalarBasisCell > PolyBasisCellType
Definition vhhospace.hpp:55
std::function< MatrixRd(const VectorRd &)> GradientType
Definition vhhospace.hpp:68
std::unique_ptr< PolydBasisCellType > Polykd
Definition vhhospace.hpp:83
const EdgeBases & edgeBases(size_t iE) const
Return edge bases for edge iE.
Definition vhhospace.hpp:204
std::function< bool(const Cell &)> CellSelection
Definition vhhospace.hpp:47
const CellSelection & boundaryStab() const
Return the function to select the cells with boundary stabilisation.
Definition vhhospace.hpp:152
bool use_threads
Definition HHO_DiffAdvecReac.hpp:47
size_t K
Definition HHO_DiffAdvecReac.hpp:46
if(strcmp(field, 'real')) % real valued entries T
Definition mmread.m:93
Definition ddr-klplate.hpp:27
static auto q
Definition ddrcore-test.hpp:14
Structure to store element bases.
Definition vhhospace.hpp:76
Structure to store edge bases.
Definition vhhospace.hpp:92
A structure to store local operators (gradient, potential, stabilisation)
Definition vhhospace.hpp:102