Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
reference_element_aux.icc
Go to the documentation of this file.
1#ifndef _RHEOLEF_REFERENCE_ELEMENT_AUX_ICC
2#define _RHEOLEF_REFERENCE_ELEMENT_AUX_ICC
23//
24// utility: TODO: move in reference element as member function
25//
26// author: Pierre.Saramito@imag.fr
27//
28// date: 2 september 2017
29//
30// note: copied from rheolef/fem/lib/Pk.cc
31
32#include "rheolef/reference_element.h"
33
34namespace rheolef {
35
36template<class T>
37void
41{
42 switch (hat_K.variant()) {
43 case reference_element::p: c = point_basic<T> (0); break;
44 case reference_element::e: c = point_basic<T> (0.5); break;
45 case reference_element::t: c = point_basic<T> (T(1)/T(3), T(1)/T(3)); break;
46 case reference_element::q: c = point_basic<T> (0, 0); break;
47 case reference_element::T: c = point_basic<T> (0.25, 0.25, 0.25); break;
48 case reference_element::P: c = point_basic<T> (T(1)/T(3), T(1)/T(3), 0); break;
49 case reference_element::H: c = point_basic<T> (0, 0, 0); break;
50 default: error_macro ("unexpected element type `"<<hat_K.name()<<"'");
51 }
52}
53// TODO: move in reference_element as:
54// reference_element::ilat2loc_inod (hat_K, degree, ilat);
55static
56size_t
57ilat2loc_inod (
58 reference_element hat_K,
59 size_t degree,
60 const point_basic<size_t>& ilat)
61{
62 switch (hat_K.variant()) {
70 }
71 return 0;
72}
73
74}//namespace rheolef
75#endif // _RHEOLEF_REFERENCE_ELEMENT_AUX_ICC
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 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)
see the reference_element page for the full documentation
static const variant_type H
static const variant_type q
static const variant_type e
static const variant_type p
variant_type variant() const
static const variant_type T
static const variant_type P
static const variant_type t
#define error_macro(message)
Definition dis_macros.h:49
Expr1::float_type T
Definition field_expr.h:230
This file is part of Rheolef.
void reference_element_barycenter(reference_element hat_K, point_basic< T > &c)