Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
basis_fem_vector< T >

Detailed Description

template<class T>
class rheolef::basis_fem_vector< T >

Definition at line 43 of file basis_fem_vector.h.

+ Inheritance diagram for basis_fem_vector< T >:

Public Types

typedef basis_rep< Tbase
 
typedef base::size_type size_type
 
typedef point_basic< Tvalue_type
 
typedef space_constant::valued_type valued_type
 
- Public Types inherited from basis_rep< T >
typedef reference_element::size_type size_type
 
typedef T value_type
 
typedef space_constant::valued_type valued_type
 

Public Member Functions

 basis_fem_vector (const basis_basic< T > &scalar_basis, const basis_option &sopt)
 
 ~basis_fem_vector ()
 
std::string family_name () const
 
size_type family_index () const
 
size_type degree () const
 
valued_type valued_tag () const
 
bool is_hierarchical () const
 
size_type size () const
 
const basis_basic< T > & operator[] (size_type i_comp) const
 
bool is_continuous () const
 
bool have_index_parameter () const
 
bool have_continuous_feature () const
 
bool is_nodal () const
 
bool have_compact_support_inside_element () const
 
const Eigen::Matrix< point_basic< T >, Eigen::Dynamic, 1 > & hat_node (reference_element hat_K) const
 
void evaluate (reference_element hat_K, const point_basic< T > &hat_x, Eigen::Matrix< point_basic< T >, Eigen::Dynamic, 1 > &value) const
 
void grad_evaluate (reference_element hat_K, const point_basic< T > &hat_x, Eigen::Matrix< tensor_basic< T >, Eigen::Dynamic, 1 > &value) const
 
void _initialize_cstor_sizes () const
 
void _initialize_data (reference_element hat_K) const
 
void _compute_dofs (reference_element hat_K, const Eigen::Matrix< point_basic< T >, Eigen::Dynamic, 1 > &f_xnod, Eigen::Matrix< T, Eigen::Dynamic, 1 > &dof) const
 
- Public Member Functions inherited from basis_rep< T >
 basis_rep (const basis_option &sopt)
 
virtual ~basis_rep ()
 
std::string name () const
 
const basis_optionoption () 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< 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
 
void _initialize_data_guard (reference_element hat_K) const
 
void _clear () const
 

Protected Attributes

size_type _n_comp
 
basis_basic< T_scalar_basis
 
Eigen::Matrix< T, Eigen::Dynamic, 1 > _scalar_value
 
Eigen::Matrix< point_basic< T >, Eigen::Dynamic, 1 > _vector_value
 
- Protected Attributes inherited from basis_rep< T >
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
 

Additional Inherited Members

- Static Public Member Functions inherited from basis_rep< T >
static basis_repmake_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 inherited from basis_rep< T >
 vector
 
point_basic< Ttensor3
 
point_basic< T > tensor3_basic< Tscalar
 
point_basic< T > tensor3_basic< T > T tensor
 
point_basic< T > tensor3_basic< T > T tensor_basic< Ttensor4
 

Member Typedef Documentation

◆ base

template<class T >
typedef basis_rep<T> base

Definition at line 48 of file basis_fem_vector.h.

◆ size_type

Definition at line 49 of file basis_fem_vector.h.

◆ value_type

Definition at line 50 of file basis_fem_vector.h.

◆ valued_type

Constructor & Destructor Documentation

◆ basis_fem_vector()

template<class T >
basis_fem_vector ( const basis_basic< T > &  scalar_basis,
const basis_option sopt 
)

Definition at line 39 of file basis_fem_vector.cc.

◆ ~basis_fem_vector()

template<class T >
~basis_fem_vector ( )

Definition at line 35 of file basis_fem_vector.cc.

Member Function Documentation

◆ family_name()

template<class T >
std::string family_name ( ) const
virtual

Implements basis_rep< T >.

Definition at line 60 of file basis_fem_vector.h.

◆ family_index()

template<class T >
size_type family_index ( ) const
virtual

Reimplemented from basis_rep< T >.

Definition at line 61 of file basis_fem_vector.h.

◆ degree()

template<class T >
size_type degree ( ) const
virtual

Implements basis_rep< T >.

Definition at line 62 of file basis_fem_vector.h.

◆ valued_tag()

template<class T >
valued_type valued_tag ( ) const
virtual

Reimplemented from basis_rep< T >.

Definition at line 63 of file basis_fem_vector.h.

◆ is_hierarchical()

template<class T >
bool is_hierarchical ( ) const
virtual

Reimplemented from basis_rep< T >.

Definition at line 64 of file basis_fem_vector.h.

◆ size()

template<class T >
size_type size ( ) const
virtual

Reimplemented from basis_rep< T >.

Definition at line 65 of file basis_fem_vector.h.

◆ operator[]()

template<class T >
const basis_basic< T > & operator[] ( size_type  i_comp) const
virtual

Reimplemented from basis_rep< T >.

Definition at line 66 of file basis_fem_vector.h.

◆ is_continuous()

template<class T >
bool is_continuous ( ) const

Definition at line 67 of file basis_fem_vector.h.

◆ have_index_parameter()

template<class T >
bool have_index_parameter ( ) const
virtual

Reimplemented from basis_rep< T >.

Definition at line 68 of file basis_fem_vector.h.

◆ have_continuous_feature()

template<class T >
bool have_continuous_feature ( ) const
virtual

Reimplemented from basis_rep< T >.

Definition at line 69 of file basis_fem_vector.h.

◆ is_nodal()

template<class T >
bool is_nodal ( ) const
virtual

Implements basis_rep< T >.

Definition at line 70 of file basis_fem_vector.h.

◆ have_compact_support_inside_element()

template<class T >
bool have_compact_support_inside_element ( ) const
virtual

Reimplemented from basis_rep< T >.

Definition at line 71 of file basis_fem_vector.h.

◆ hat_node()

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

Reimplemented from basis_rep< T >.

Definition at line 88 of file basis_fem_vector.cc.

◆ evaluate()

template<class T >
void evaluate ( reference_element  hat_K,
const point_basic< T > &  hat_x,
Eigen::Matrix< point_basic< T >, Eigen::Dynamic, 1 > &  value 
) const

Definition at line 94 of file basis_fem_vector.cc.

◆ grad_evaluate()

template<class T >
void grad_evaluate ( reference_element  hat_K,
const point_basic< T > &  hat_x,
Eigen::Matrix< tensor_basic< T >, Eigen::Dynamic, 1 > &  value 
) const

Definition at line 114 of file basis_fem_vector.cc.

◆ _initialize_cstor_sizes()

template<class T >
void _initialize_cstor_sizes ( ) const
virtual

Implements basis_rep< T >.

Definition at line 65 of file basis_fem_vector.cc.

◆ _initialize_data()

template<class T >
void _initialize_data ( reference_element  hat_K) const
virtual

Implements basis_rep< T >.

Definition at line 83 of file basis_fem_vector.cc.

◆ _compute_dofs()

template<class T >
void _compute_dofs ( reference_element  hat_K,
const Eigen::Matrix< point_basic< T >, Eigen::Dynamic, 1 > &  f_xnod,
Eigen::Matrix< T, Eigen::Dynamic, 1 > &  dof 
) const

Definition at line 136 of file basis_fem_vector.cc.

Member Data Documentation

◆ _n_comp

template<class T >
size_type _n_comp
protected

Definition at line 101 of file basis_fem_vector.h.

◆ _scalar_basis

template<class T >
basis_basic<T> _scalar_basis
protected

Definition at line 102 of file basis_fem_vector.h.

◆ _scalar_value

template<class T >
Eigen::Matrix<T,Eigen::Dynamic,1> _scalar_value
mutableprotected

Definition at line 105 of file basis_fem_vector.h.

◆ _vector_value

template<class T >
Eigen::Matrix<point_basic<T>,Eigen::Dynamic,1> _vector_value
mutableprotected

Definition at line 106 of file basis_fem_vector.h.


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