1#ifndef _RHEOLEF_PK_GET_LOCAL_IDOF_ON_SIDE_ICC
2#define _RHEOLEF_PK_GET_LOCAL_IDOF_ON_SIDE_ICC
31#include "rheolef/reference_element.h"
32#include "rheolef/reference_element_face_transformation.h"
34namespace rheolef {
namespace details {
39Pk_get_local_idof_on_side (
40 reference_element tilde_K,
41 const side_information_type& sid,
43 Eigen::Matrix<size_t,Eigen::Dynamic,1>& loc_idof)
46 check_macro (sid.shift == 0,
"sid.shift !=0 : not yet, sorry");
47 switch (tilde_K.variant()) {
60 loc_idof.resize (loc_ndof);
63 point_basic<size_type> side_ilat (
u);
71 loc_idof.resize (loc_ndof);
74 point_basic<size_type> side_ilat (
u);
82 loc_idof.resize (loc_ndof);
85 for (
size_type v = 0; v <= k-
u; ++v, ++loc_sid_idof) {
86 point_basic<size_type> side_ilat (
u,v);
94 loc_idof.resize (loc_ndof);
97 for (
size_type v = 0; v <= k; ++v, ++loc_sid_idof) {
98 point_basic<size_type> side_ilat (
u,v);
105 reference_element hat_S = tilde_K.side (sid.loc_isid);
107 loc_idof.resize (loc_ndof);
111 for (
size_type v = 0; v <= vf; ++v, ++loc_sid_idof) {
112 point_basic<size_type> side_ilat (
u,v);
119 default:
error_macro (
"get_local_idof_on_side: element "<<tilde_K.name()<<
" not yet supported");
field::size_type size_type
static size_type ilat2loc_inod(size_type order, const point_basic< size_type > &ilat)
static size_type ilat2loc_inod(size_type order, const point_basic< size_type > &ilat)
static size_type ilat2loc_inod(size_type order, const point_basic< size_type > &ilat)
static size_type ilat2loc_inod(size_type order, const point_basic< size_type > &ilat)
static size_type ilat2loc_inod(size_type order, const point_basic< size_type > &ilat)
static const variant_type H
static const variant_type q
static const variant_type e
static const variant_type p
std::vector< int >::size_type size_type
static const variant_type T
static const variant_type P
static const variant_type t
#define error_macro(message)
check_macro(expr1.have_homogeneous_space(Xh1), "dual(expr1,expr2); expr1 should have homogeneous space. HINT: use dual(interpolate(Xh, expr1),expr2)")
This file is part of Rheolef.
point_basic< T > reference_element_face_transformation(reference_element tilde_K, const side_information_type &sid, const point_basic< T > &sid_hat_x)