an efficient C++ finite element environment
|
|
Go to the documentation of this file. 1 #ifndef _RHEOLEF_PIOLA_UTIL_H
2 #define _RHEOLEF_PIOLA_UTIL_H
31 #include "rheolef/geo.h"
32 #include "rheolef/basis_on_pointset.h"
40 template<
class T,
class M>
43 const geo_basic<T,M>& omega,
44 const basis_on_pointset<T>& piola_on_pointset,
45 reference_element hat_K,
54 template<
class T,
class M>
57 const geo_basic<T,M>& omega,
58 const basis_basic<T>& piola_basis,
59 reference_element hat_K,
69 template<
class T,
class M>
72 const geo_basic<T,M>& omega,
73 const basis_on_pointset<T>& piola_on_pointset,
74 reference_element hat_K,
76 Eigen::Matrix<tensor_basic<T>,Eigen::Dynamic,1>& DF);
83 template<
class T,
class M>
107 const tensor_basic<T>& DF,
112 template<
class T,
class M>
115 const geo_basic<T,M>& omega,
116 const reference_element& hat_K,
117 const std::vector<size_t>&
dis_inod,
122 void map_projector (
const tensor_basic<T>& DF,
size_t d,
size_t map_d, tensor_basic<T>& P);
134 template<
class T,
class M>
137 const geo_basic<T,M>& omega,
138 const basis_on_pointset<T>& piola_on_pointset,
139 reference_element hat_K,
140 const std::vector<size_t>&
dis_inod,
141 bool ignore_sys_coord,
142 Eigen::Matrix<tensor_basic<T>,Eigen::Dynamic,1>& DF,
144 Eigen::Matrix<T,Eigen::Dynamic,1>& w);
147 #endif // _RHEOLEF_PIOLA_UTIL_H
T det_jacobian_piola_transformation(const tensor_basic< T > &DF, size_t d, size_t map_d)
void map_projector(const tensor_basic< T > &DF, size_t d, size_t map_d, tensor_basic< T > &P)
point_basic< T > inverse_piola_transformation(const geo_basic< T, M > &omega, const reference_element &hat_K, const std::vector< size_t > &dis_inod, const point_basic< T > &x)
void piola_transformation_and_weight_integration(const geo_basic< T, M > &omega, const basis_on_pointset< T > &piola_on_quad, reference_element hat_K, const std::vector< size_t > &dis_inod, bool ignore_sys_coord, Eigen::Matrix< tensor_basic< T >, Eigen::Dynamic, 1 > &DF, Eigen::Matrix< point_basic< T >, Eigen::Dynamic, 1 > &x, Eigen::Matrix< T, Eigen::Dynamic, 1 > &w)
This file is part of Rheolef.
void dis_inod(const basis_basic< T > &b, const geo_size &gs, const geo_element &K, typename std::vector< size_type >::iterator dis_inod_tab)
T weight_coordinate_system(space_constant::coordinate_type sys_coord, const point_basic< T > &xq)
point_basic< T > normal_from_piola_transformation(const geo_basic< T, M > &omega, const geo_element &S, const tensor_basic< T > &DF, size_t d)
tensor_basic< T > pseudo_inverse_jacobian_piola_transformation(const tensor_basic< T > &DF, size_t d, size_t map_d)
void piola_transformation(const geo_basic< T, M > &omega, const basis_on_pointset< T > &piola_on_pointset, reference_element hat_K, const std::vector< size_t > &dis_inod, Eigen::Matrix< point_basic< T >, Eigen::Dynamic, 1 > &x)
void jacobian_piola_transformation(const geo_basic< T, M > &omega, const basis_on_pointset< T > &piola_on_pointset, reference_element hat_K, const std::vector< size_t > &dis_inod, Eigen::Matrix< tensor_basic< T >, Eigen::Dynamic, 1 > &DF)