Loading...
Searching...
No Matches
basis_rep< T >abstract

## Detailed Description

template<class T>
class rheolef::basis_rep< T >

Definition at line 209 of file basis.h.

Inheritance diagram for basis_rep< T >:

## Public Types

typedef reference_element::size_type | size_type
typedef T | value_type
typedef space_constant::valued_type | valued_type

## Public Member Functions

| basis_rep (const basis_option &sopt)
virtual | ~basis_rep ()
virtual size_type | degree () const =0
virtual size_type | family_index () const
virtual std::string | family_name () const =0
std::string | name () const
virtual valued_type | valued_tag () const
virtual bool | is_nodal () const =0
virtual bool | have_index_parameter () const
virtual bool | have_continuous_feature () const
virtual bool | is_hierarchical () const
virtual size_type | size () const
virtual const class basis_basic< T > & | operator[] (size_type i_comp) const
virtual bool | have_compact_support_inside_element () const
const basis_option & | option () const
const std::string & | valued () const
bool | is_continuous () const
bool | is_discontinuous () const
size_type | ndof (reference_element hat_K) const
size_type | nnod (reference_element hat_K) const
size_type | ndof_on_subgeo (size_type map_dim, size_type subgeo_variant) const
size_type | nnod_on_subgeo (size_type map_dim, size_type subgeo_variant) const
size_type | first_idof_by_dimension (reference_element hat_K, size_type dim) const
size_type | first_inod_by_dimension (reference_element hat_K, size_type dim) const
size_type | ndof_internal (reference_element hat_K) const
size_type | nnod_internal (reference_element hat_K) const
size_type | ndof_on_subgeo_internal (size_type map_dim, size_type subgeo_variant) const
size_type | nnod_on_subgeo_internal (size_type map_dim, size_type subgeo_variant) const
size_type | first_idof_by_dimension_internal (reference_element hat_K, size_type dim) const
size_type | first_inod_by_dimension_internal (reference_element hat_K, size_type dim) const
virtual size_type | local_ndof_on_side (reference_element hat_K, const side_information_type &sid) const
virtual void | local_idof_on_side (reference_element hat_K, const side_information_type &sid, Eigen::Matrix< size_type, Eigen::Dynamic, 1 > &loc_idof) const
virtual const Eigen::Matrix< point_basic< T >, Eigen::Dynamic, 1 > & | hat_node (reference_element hat_K) const
virtual const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | vdm (reference_element hat_K) const
virtual const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & | inv_vdm (reference_element hat_K) const
const piola_fem< T > & | get_piola_fem () const
| _RHEOLEF_evaluate (evaluate,"scalar", T) _RHEOLEF_evaluate(evaluate
point_basic< T > | _RHEOLEF_evaluate (evaluate,"tensor", tensor_basic< T >) _RHEOLEF_evaluate(evaluate
point_basic< T > tensor3_basic< T > | _RHEOLEF_evaluate (evaluate,"tensor4", tensor4_basic< T >) _RHEOLEF_evaluate(grad_evaluate
point_basic< T > tensor3_basic< T > T | _RHEOLEF_evaluate (grad_evaluate,"vector", point_basic< T >) _RHEOLEF_evaluate(grad_evaluate
point_basic< T > tensor3_basic< T > T tensor_basic< T > | _RHEOLEF_evaluate (grad_evaluate,"tensor3", tensor3_basic< T >) _RHEOLEF_evaluate(grad_evaluate
| _RHEOLEF_evaluate_on_side ("scalar", T) _RHEOLEF_evaluate_on_side("vector"
| _RHEOLEF_compute_dofs ("scalar", T) _RHEOLEF_compute_dofs("vector"
point_basic< T > virtual _RHEOLEF_compute_dofs("tensor", tensor_basic< T >) void put(std void | put_scalar_valued (std::ostream &os, reference_element hat_K) const
virtual void | put_vector_valued (std::ostream &os, reference_element hat_K) const
void | put_hat_node (std::ostream &os, reference_element hat_K) const
void | put_hat_node_on_side (std::ostream &os, reference_element hat_K, const side_information_type &sid) const
virtual void | _initialize_cstor_sizes () const =0
void | _initialize_data_guard (reference_element hat_K) const
virtual void | _initialize_data (reference_element hat_K) const =0
void | _clear () const

## Static Public Member Functions

static basis_rep * | make_ptr (const std::string &name)
static std::string | standard_naming (std::string family_name, size_t degree, const basis_option &sopt)
static bool | have_index_parameter (std::string family_name)
static bool | have_continuous_feature (std::string family_name)
static void | _helper_initialize_first_ixxx_by_dimension_from_nxxx_on_subgeo (const std::array< std::array< size_type, reference_element::max_variant >, 4 > &_nxxx_on_subgeo, std::array< std::array< size_type, 5 >, reference_element::max_variant > &_first_ixxx_by_dimension)
static void | _helper_make_discontinuous_ndof_on_subgeo (bool is_continuous, const std::array< std::array< size_type, reference_element::max_variant >, 4 > &nxxx_on_subgeo_internal, std::array< std::array< size_type, reference_element::max_variant >, 4 > &nxxx_on_subgeo)

## Public Attributes

| vector
point_basic< T > | tensor3
point_basic< T > tensor3_basic< T > | scalar
point_basic< T > tensor3_basic< T > T | tensor
point_basic< T > tensor3_basic< T > T tensor_basic< T > | tensor4

## Protected Attributes

std::string | _name
basis_option | _sopt
piola_fem< T > | _piola_fem
std::array< bool, reference_element::max_variant > | _have_initialize_data
std::array< std::array< size_type,reference_element::max_variant >,4 > | _ndof_on_subgeo_internal
std::array< std::array< size_type,reference_element::max_variant >,4 > | _ndof_on_subgeo
std::array< std::array< size_type,reference_element::max_variant >,4 > | _nnod_on_subgeo_internal
std::array< std::array< size_type,reference_element::max_variant >,4 > | _nnod_on_subgeo
std::array< std::array< size_type,5 >,reference_element::max_variant > | _first_idof_by_dimension_internal
std::array< std::array< size_type,5 >,reference_element::max_variant > | _first_idof_by_dimension
std::array< std::array< size_type,5 >,reference_element::max_variant > | _first_inod_by_dimension_internal
std::array< std::array< size_type,5 >,reference_element::max_variant > | _first_inod_by_dimension

## Member Typedef Documentation

## size_type

template<class T >

typedef reference_element::size_type size_type

Definition at line 214 of file basis.h.

## value_type

template<class T >

typedef T value_type

Definition at line 215 of file basis.h.

## valued_type

template<class T >

typedef space_constant::valued_type valued_type

Definition at line 216 of file basis.h.

## Constructor & Destructor Documentation

## basis_rep()

template<class T >

basis_rep | ( | const basis_option & | sopt | ) |

Definition at line 107 of file basis_rep.cc.

## ~basis_rep()

template<class T >

~basis_rep | ( |  | ) |

virtual

Definition at line 102 of file basis_rep.cc.

## Member Function Documentation

## degree()

template<class T >

virtual size_type degree | ( |  | ) | const

pure virtual

Implemented in basis_fem_empty< T >, basis_fem_Pk_bernstein< T >, basis_fem_Pk_lagrange< T >, basis_fem_Pk_sherwin< T >, basis_fem_RTk< T >, basis_fem_tensor< T >, basis_fem_trace_n< T >, basis_fem_vector< T >, basis_bubble< T >, basis_P0< T >, basis_P1< T >, and basis_P1qd< T >.

## family_index()

template<class T >

virtual size_type family_index | ( |  | ) | const

virtual

Reimplemented in basis_fem_RTk< T >, basis_fem_tensor< T >, basis_fem_trace_n< T >, and basis_fem_vector< T >.

Definition at line 226 of file basis.h.

## family_name()

template<class T >

virtual std::string family_name | ( |  | ) | const

pure virtual

Implemented in basis_fem_empty< T >, basis_fem_Pk_bernstein< T >, basis_fem_Pk_lagrange< T >, basis_fem_Pk_sherwin< T >, basis_fem_RTk< T >, basis_fem_tensor< T >, basis_fem_trace_n< T >, basis_fem_vector< T >, basis_bubble< T >, basis_P0< T >, basis_P1< T >, and basis_P1qd< T >.

## name()

template<class T >

std::string name | ( |  | ) | const

Definition at line 228 of file basis.h.

## valued_tag()

template<class T >

virtual valued_type valued_tag | ( |  | ) | const

virtual

Reimplemented in basis_fem_RTk< T >, basis_fem_tensor< T >, and basis_fem_vector< T >.

Definition at line 230 of file basis.h.

## is_nodal()

template<class T >

virtual bool is_nodal | ( |  | ) | const

pure virtual

Implemented in basis_fem_empty< T >, basis_fem_Pk_bernstein< T >, basis_fem_Pk_lagrange< T >, basis_fem_Pk_sherwin< T >, basis_fem_RTk< T >, basis_fem_tensor< T >, basis_fem_trace_n< T >, basis_fem_vector< T >, basis_bubble< T >, basis_P0< T >, basis_P1< T >, and basis_P1qd< T >.

## have_index_parameter() [1/2]

template<class T >

virtual bool have_index_parameter | ( |  | ) | const

virtual

Reimplemented in basis_fem_empty< T >, basis_fem_tensor< T >, basis_fem_vector< T >, basis_bubble< T >, basis_P0< T >, basis_P1< T >, and basis_P1qd< T >.

Definition at line 232 of file basis.h.

## have_continuous_feature() [1/2]

template<class T >

virtual bool have_continuous_feature | ( |  | ) | const

virtual

Reimplemented in basis_fem_tensor< T >, and basis_fem_vector< T >.

Definition at line 233 of file basis.h.

## is_hierarchical()

template<class T >

virtual bool is_hierarchical | ( |  | ) | const

virtual

Reimplemented in basis_fem_tensor< T >, and basis_fem_vector< T >.

Definition at line 234 of file basis.h.

## size()

template<class T >

virtual size_type size | ( |  | ) | const

virtual

Reimplemented in basis_fem_tensor< T >, and basis_fem_vector< T >.

Definition at line 235 of file basis.h.

## operator[]()

template<class T >

const basis_basic< T > & operator[] | ( | size_type | i_comp | ) | const

virtual

Reimplemented in basis_fem_tensor< T >, and basis_fem_vector< T >.

Definition at line 805 of file basis.h.

## have_compact_support_inside_element()

template<class T >

virtual bool have_compact_support_inside_element | ( |  | ) | const

virtual

Reimplemented in basis_fem_empty< T >, basis_fem_tensor< T >, basis_fem_vector< T >, and basis_bubble< T >.

Definition at line 237 of file basis.h.

## option()

template<class T >

const basis_option & option | ( |  | ) | const

Definition at line 238 of file basis.h.

## valued()

template<class T >

const std::string & valued | ( |  | ) | const

Definition at line 239 of file basis.h.

## is_continuous()

template<class T >

bool is_continuous | ( |  | ) | const

Definition at line 240 of file basis.h.

## is_discontinuous()

template<class T >

bool is_discontinuous | ( |  | ) | const

Definition at line 241 of file basis.h.

## ndof()

template<class T >

size_type ndof | ( | reference_element | hat_K | ) | const

Definition at line 244 of file basis.h.

## nnod()

template<class T >

size_type nnod | ( | reference_element | hat_K | ) | const

Definition at line 247 of file basis.h.

## ndof_on_subgeo()

template<class T >

size_type ndof_on_subgeo | ( | size_type | map_dim,
|  | size_type | subgeo_variant
| ) |  | const

Definition at line 253 of file basis.h.

## nnod_on_subgeo()

template<class T >

size_type nnod_on_subgeo | ( | size_type | map_dim,
|  | size_type | subgeo_variant
| ) |  | const

Definition at line 256 of file basis.h.

## first_idof_by_dimension()

template<class T >

size_type first_idof_by_dimension | ( | reference_element | hat_K,
|  | size_type | dim
| ) |  | const

Definition at line 259 of file basis.h.

## first_inod_by_dimension()

template<class T >

size_type first_inod_by_dimension | ( | reference_element | hat_K,
|  | size_type | dim
| ) |  | const

Definition at line 262 of file basis.h.

## ndof_internal()

template<class T >

size_type ndof_internal | ( | reference_element | hat_K | ) | const

Definition at line 267 of file basis.h.

## nnod_internal()

template<class T >

size_type nnod_internal | ( | reference_element | hat_K | ) | const

Definition at line 270 of file basis.h.

## ndof_on_subgeo_internal()

template<class T >

size_type ndof_on_subgeo_internal | ( | size_type | map_dim,
|  | size_type | subgeo_variant
| ) |  | const

Definition at line 274 of file basis.h.

## nnod_on_subgeo_internal()

template<class T >

size_type nnod_on_subgeo_internal | ( | size_type | map_dim,
|  | size_type | subgeo_variant
| ) |  | const

Definition at line 277 of file basis.h.

## first_idof_by_dimension_internal()

template<class T >

size_type first_idof_by_dimension_internal | ( | reference_element | hat_K,
|  | size_type | dim
| ) |  | const

Definition at line 280 of file basis.h.

## first_inod_by_dimension_internal()

template<class T >

size_type first_inod_by_dimension_internal | ( | reference_element | hat_K,
|  | size_type | dim
| ) |  | const

Definition at line 283 of file basis.h.

## local_ndof_on_side()

template<class T >

basis_rep< T >::size_type local_ndof_on_side | ( | reference_element | hat_K,
|  | const side_information_type & | sid
| ) |  | const

virtual

Reimplemented in basis_fem_Pk_lagrange< T >, and basis_fem_trace_n< T >.

Definition at line 481 of file basis.h.

## local_idof_on_side()

template<class T >

void local_idof_on_side | ( | reference_element | hat_K,
|  | const side_information_type & | sid,
|  | Eigen::Matrix< size_type, Eigen::Dynamic, 1 > & | loc_idof
| ) |  | const

virtual

Reimplemented in basis_fem_Pk_lagrange< T >, basis_fem_trace_n< T >, basis_P0< T >, and basis_P1< T >.

Definition at line 490 of file basis.h.

## hat_node()

template<class T >

const Eigen::Matrix< point_basic< T >, Eigen::Dynamic, 1 > & hat_node | ( | reference_element | hat_K | ) | const

virtual

Reimplemented in basis_fem_empty< T >, basis_fem_Pk_bernstein< T >, basis_fem_Pk_lagrange< T >, basis_fem_RTk< T >, basis_fem_tensor< T >, basis_fem_trace_n< T >, basis_fem_vector< T >, basis_bubble< T >, basis_P0< T >, basis_P1< T >, and basis_P1qd< T >.

Definition at line 453 of file basis.h.

## vdm()

template<class T >

const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & vdm | ( | reference_element | hat_K | ) | const

virtual

Reimplemented in basis_fem_Pk_bernstein< T >, basis_fem_Pk_lagrange< T >, and basis_fem_RTk< T >.

Definition at line 462 of file basis.h.

## inv_vdm()

template<class T >

const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & inv_vdm | ( | reference_element | hat_K | ) | const

virtual

Reimplemented in basis_fem_Pk_bernstein< T >, basis_fem_Pk_lagrange< T >, and basis_fem_RTk< T >.

Definition at line 471 of file basis.h.

## get_piola_fem()

template<class T >

const piola_fem< T > & get_piola_fem | ( |  | ) | const

Definition at line 302 of file basis.h.

## _RHEOLEF_evaluate() [1/5]

template<class T >

_RHEOLEF_evaluate | ( | evaluate | ,
|  | "scalar" | ,
|  | T |
| ) |  |

## _RHEOLEF_evaluate() [2/5]

template<class T >

point_basic< T > _RHEOLEF_evaluate | ( | evaluate | ,
|  | "tensor" | ,
|  | tensor_basic< T > |
| ) |  |

## _RHEOLEF_evaluate() [3/5]

template<class T >

point_basic< T > tensor3_basic< T > _RHEOLEF_evaluate | ( | evaluate | ,
|  | "tensor4" | ,
|  | tensor4_basic< T > |
| ) |  |

## _RHEOLEF_evaluate() [4/5]

template<class T >

point_basic< T > tensor3_basic< T > T _RHEOLEF_evaluate | ( | grad_evaluate | ,
|  | "vector" | ,
|  | point_basic< T > |
| ) |  |

## _RHEOLEF_evaluate() [5/5]

template<class T >

point_basic< T > tensor3_basic< T > T tensor_basic< T > _RHEOLEF_evaluate | ( | grad_evaluate | ,
|  | "tensor3" | ,
|  | tensor3_basic< T > |
| ) |  |

## _RHEOLEF_evaluate_on_side()

template<class T >

_RHEOLEF_evaluate_on_side | ( | "scalar" | ,
|  | T |
| ) |  |

## _RHEOLEF_compute_dofs()

template<class T >

_RHEOLEF_compute_dofs | ( | "scalar" | ,
|  | T |
| ) |  |

## put_scalar_valued()

template<class T >

void put_scalar_valued | ( | std::ostream & | os,
|  | reference_element | hat_K
| ) |  | const

virtual

Reimplemented in basis_fem_trace_n< T >.

Definition at line 45 of file basis_fem_visu_gnuplot.cc.

## put_vector_valued()

template<class T >

void put_vector_valued | ( | std::ostream & | os,
|  | reference_element | hat_K
| ) |  | const

virtual

Definition at line 51 of file basis_fem_visu_gnuplot.cc.

## put_hat_node()

template<class T >

void put_hat_node | ( | std::ostream & | os,
|  | reference_element | hat_K
| ) |  | const

Definition at line 343 of file basis_fem_visu_gnuplot.cc.

## put_hat_node_on_side()

template<class T >

void put_hat_node_on_side | ( | std::ostream & | os,
|  | reference_element | hat_K,
|  | const side_information_type & | sid
| ) |  | const

Definition at line 468 of file basis_fem_visu_gnuplot.cc.

## make_ptr()

template<class T >

template basis_rep< Float > * make_ptr | ( | const std::string & | name | ) |

static

Definition at line 56 of file basis_list.cc.

## standard_naming()

template<class T >

std::string standard_naming | ( | std::string | family_name,
|  | size_t | degree,
|  | const basis_option & | sopt
| ) |  |

static

Definition at line 44 of file basis_rep.cc.

## have_index_parameter() [2/2]

template<class T >

template bool have_index_parameter | ( | std::string | family_name | ) |

static

Definition at line 41 of file basis_list.cc.

## have_continuous_feature() [2/2]

template<class T >

template bool have_continuous_feature | ( | std::string | family_name | ) |

static

Definition at line 48 of file basis_list.cc.

## _initialize_cstor_sizes()

template<class T >

virtual void _initialize_cstor_sizes | ( |  | ) | const

pure virtual

Implemented in basis_fem_empty< T >, basis_fem_Pk_bernstein< T >, basis_fem_Pk_lagrange< T >, basis_fem_Pk_sherwin< T >, basis_fem_RTk< T >, basis_fem_tensor< T >, basis_fem_trace_n< T >, basis_fem_vector< T >, basis_bubble< T >, basis_P0< T >, basis_P1< T >, and basis_P1qd< T >.

## _initialize_data_guard()

template<class T >

void _initialize_data_guard | ( | reference_element | hat_K | ) | const

Definition at line 131 of file basis_rep.cc.

## _initialize_data()

template<class T >

virtual void _initialize_data | ( | reference_element | hat_K | ) | const

pure virtual

Implemented in basis_fem_empty< T >, basis_fem_Pk_bernstein< T >, basis_fem_Pk_lagrange< T >, basis_fem_Pk_sherwin< T >, basis_fem_RTk< T >, basis_fem_tensor< T >, basis_fem_trace_n< T >, basis_fem_vector< T >, basis_bubble< T >, basis_P0< T >, basis_P1< T >, and basis_P1qd< T >.

## _clear()

template<class T >

void _clear | ( |  | ) | const

Definition at line 125 of file basis_rep.cc.

## _helper_initialize_first_ixxx_by_dimension_from_nxxx_on_subgeo()

template<class T >

void _helper_initialize_first_ixxx_by_dimension_from_nxxx_on_subgeo | ( | const std::array< std::array< size_type, reference_element::max_variant >, 4 > & | _nxxx_on_subgeo,
|  | std::array< std::array< size_type, 5 >, reference_element::max_variant > & | _first_ixxx_by_dimension
| ) |  |

static

Definition at line 184 of file basis_rep.cc.

## _helper_make_discontinuous_ndof_on_subgeo()

template<class T >

void _helper_make_discontinuous_ndof_on_subgeo | ( | bool | is_continuous,
|  | const std::array< std::array< size_type, reference_element::max_variant >, 4 > & | nxxx_on_subgeo_internal,
|  | std::array< std::array< size_type, reference_element::max_variant >, 4 > & | nxxx_on_subgeo
| ) |  |

static

Definition at line 143 of file basis_rep.cc.

## Member Data Documentation

## vector

template<class T >

vector

Definition at line 323 of file basis.h.

## tensor3

template<class T >

point_basic< T > tensor3

Definition at line 325 of file basis.h.

## scalar

template<class T >

point_basic< T > tensor3_basic< T > scalar

Definition at line 327 of file basis.h.

## tensor

template<class T >

point_basic< T > tensor3_basic< T > T tensor

Definition at line 329 of file basis.h.

## tensor4

template<class T >

point_basic< T > tensor3_basic< T > T tensor_basic< T > tensor4

Definition at line 331 of file basis.h.

## _name

template<class T >

std::string _name

protected

Definition at line 422 of file basis.h.

## _sopt

template<class T >

basis_option _sopt

protected

Definition at line 423 of file basis.h.

## _piola_fem

template<class T >

piola_fem<T> _piola_fem

protected

Definition at line 424 of file basis.h.

## _have_initialize_data

template<class T >

std::array<bool, reference_element::max_variant> _have_initialize_data

mutable protected

Definition at line 427 of file basis.h.

## _ndof_on_subgeo_internal

template<class T >

std::array< std::array< size_type ,reference_element::max_variant> ,4> _ndof_on_subgeo_internal

mutable protected

Definition at line 434 of file basis.h.

## _ndof_on_subgeo

template<class T >

std::array< std::array< size_type ,reference_element::max_variant> ,4> _ndof_on_subgeo

protected

Definition at line 435 of file basis.h.

## _nnod_on_subgeo_internal

template<class T >

std::array< std::array< size_type ,reference_element::max_variant> ,4> _nnod_on_subgeo_internal

protected

Definition at line 436 of file basis.h.

## _nnod_on_subgeo

template<class T >

std::array< std::array< size_type ,reference_element::max_variant> ,4> _nnod_on_subgeo

protected

Definition at line 437 of file basis.h.

## _first_idof_by_dimension_internal

template<class T >

std::array< std::array< size_type ,5> ,reference_element::max_variant> _first_idof_by_dimension_internal

mutable protected

Definition at line 442 of file basis.h.

## _first_idof_by_dimension

template<class T >

std::array< std::array< size_type ,5> ,reference_element::max_variant> _first_idof_by_dimension

protected

Definition at line 443 of file basis.h.

## _first_inod_by_dimension_internal

template<class T >

std::array< std::array< size_type ,5> ,reference_element::max_variant> _first_inod_by_dimension_internal

protected

Definition at line 444 of file basis.h.

## _first_inod_by_dimension

template<class T >

std::array< std::array< size_type ,5> ,reference_element::max_variant> _first_inod_by_dimension

protected

Definition at line 445 of file basis.h.

The documentation for this class was generated from the following files:

- /build/rheolef-dTNbRN/rheolef-7.2/fem/lib/basis.h
- /build/rheolef-dTNbRN/rheolef-7.2/fem/lib/basis_fem_visu_gnuplot.cc
- /build/rheolef-dTNbRN/rheolef-7.2/fem/lib/basis_list.cc
- /build/rheolef-dTNbRN/rheolef-7.2/fem/lib/basis_rep.cc