16 #ifndef __H2D_SPACE_HDIV_H
17 #define __H2D_SPACE_HDIV_H
35 template<
typename Scalar>
36 class HERMES_API HdivSpace :
public Space<Scalar>
40 HdivSpace(
const Mesh* mesh, EssentialBCs<Scalar>* boundary_conditions,
int p_init = 1,
41 Shapeset* shapeset = NULL);
43 HdivSpace(
const Mesh* mesh,
int p_init = 1,
44 Shapeset* shapeset = NULL);
48 virtual void set_shapeset(Shapeset* shapeset);
50 virtual Scalar* get_bc_projection(SurfPos* surf_pos,
int order, EssentialBoundaryCondition<Scalar> *bc);
53 virtual void copy(
const Space<Scalar>* space, Mesh* new_mesh);
56 void init(Shapeset* shapeset,
int p_init);
58 virtual SpaceType
get_type()
const {
return HERMES_HDIV_SPACE; }
60 virtual void assign_vertex_dofs() {}
61 virtual void assign_edge_dofs();
62 virtual void assign_bubble_dofs();
64 virtual void get_vertex_assembly_list(Element* e,
int iv, AsmList<Scalar>* al)
const {}
65 virtual void get_boundary_assembly_list_internal(Element* e,
int surf_num, AsmList<Scalar>* al)
const;
66 virtual void get_bubble_assembly_list(Element* e, AsmList<Scalar>* al)
const;
77 virtual void update_constraints();
78 friend class Space<Scalar>;