33 #ifndef OOMPH_HP_REFINEABLE_ELEMENTS_HEADER 34 #define OOMPH_HP_REFINEABLE_ELEMENTS_HEADER 38 #include <oomph-lib-config.h> 53 template<
unsigned INITIAL_NNODE_1D>
55 public virtual QElement<1,INITIAL_NNODE_1D>,
70 void initial_setup(
Tree*
const &adopted_father_pt=0,
const unsigned &initial_p_order=0);
77 void p_refine(
const int &inc,
97 unsigned nnode_1d()
const {
return this->p_order();}
111 void local_coordinate_of_node(
const unsigned& n,
Vector<double>& s)
const;
114 void local_fraction_of_node(
const unsigned &n,
Vector<double> &s_fraction);
117 double local_one_d_fraction_of_node(
const unsigned &n1d,
const unsigned &
i);
121 void rebuild_from_sons(
Mesh* &mesh_pt);
125 void check_integrity(
double& max_error);
130 void binary_hang_helper(
const int &value_id,
const int &my_edge,
131 std::ofstream& output_hangfile);
138 template<
unsigned INITIAL_NNODE_1D>
140 public virtual QElement<2,INITIAL_NNODE_1D>,
155 void initial_setup(
Tree*
const &adopted_father_pt=0,
const unsigned &initial_p_order=0);
162 void p_refine(
const int &inc,
163 Mesh*
const &mesh_pt,
182 unsigned nnode_1d()
const {
return this->p_order();}
199 void local_coordinate_of_node(
const unsigned& n,
Vector<double>& s)
const;
202 void local_fraction_of_node(
const unsigned &n,
Vector<double> &s_fraction);
205 double local_one_d_fraction_of_node(
const unsigned &n1d,
const unsigned &
i);
209 void rebuild_from_sons(
Mesh* &mesh_pt);
216 void check_integrity(
double& max_error);
224 void quad_hang_helper(
const int &value_id,
const int &my_edge,
225 std::ofstream& output_hangfile);
232 template<
unsigned INITIAL_NNODE_1D>
234 public virtual QElement<3,INITIAL_NNODE_1D>,
249 void initial_setup(
Tree*
const &adopted_father_pt=0,
const unsigned &initial_p_order=0);
256 void p_refine(
const int &inc,
257 Mesh*
const &mesh_pt,
276 unsigned nnode_1d()
const {
return this->p_order();}
291 void local_coordinate_of_node(
const unsigned& n,
Vector<double>& s)
const;
294 void local_fraction_of_node(
const unsigned &n,
Vector<double> &s_fraction);
297 double local_one_d_fraction_of_node(
const unsigned &n1d,
const unsigned &
i);
301 void rebuild_from_sons(
Mesh* &mesh_pt);
308 void check_integrity(
double& max_error);
316 void oc_hang_helper(
const int &value_id,
const int &my_face,
317 std::ofstream& output_hangfile);
A Generalised Element class.
void further_setup_hanging_nodes()
Perform additional hanging node procedures for variables that are not interpolated by all nodes (e...
virtual ~PRefineableQElement()
Destructor.
unsigned nnode_1d() const
Returns the number of nodes along each edge of the element. Overloaded to return the (variable) p-ord...
unsigned nnode_1d() const
Returns the number of nodes along each edge of the element. Overloaded to return the (variable) p-ord...
Nodes are derived from Data, but, in addition, have a definite (Eulerian) position in a space of a gi...
unsigned initial_p_order() const
Get the initial P_order.
virtual ~PRefineableQElement()
Destructor.
unsigned initial_p_order() const
Get the initial P_order.
void shape(const double &s, double *Psi)
Definition for 1D Lagrange shape functions. The value of all the shape functions at the local coordin...
PRefineableQElement()
Constructor.
unsigned nnode_1d() const
Returns the number of nodes along each edge of the element. Overloaded to return the (variable) p-ord...
PRefineableQElement()
Constructor.
p-refineable version of RefineableElement
unsigned initial_p_order() const
Get the initial P_order.
void further_setup_hanging_nodes()
Perform additional hanging node procedures for variables that are not interpolated by all nodes (e...
PRefineableQElement()
Constructor.
void further_setup_hanging_nodes()
Perform additional hanging node procedures for variables that are not interpolated by all nodes (e...
virtual ~PRefineableQElement()
Destructor.