Flow123d
DF_patch_fe_data_tables-22c8b57
|
Subobject holds FE data of one dimension (0,1,2,3) More...
Public Member Functions | |
DimPatchFEValues (unsigned int max_size=0) | |
Constructor. More... | |
unsigned int | used_size () const |
unsigned int | max_size () const |
void | reinit (PatchElementsList patch_elements) |
template<unsigned int DIM> | |
void | initialize (Quadrature &_quadrature, FiniteElement< DIM > &_fe, UpdateFlags _flags) |
Initialize structures and calculates cell-independent data. More... | |
template<unsigned int DIM> | |
void | allocate (Quadrature &_quadrature, FiniteElement< DIM > &_fe, UpdateFlags flags) |
Allocates space for computed data. More... | |
template<unsigned int DIM> | |
std::shared_ptr< FEInternalData > | init_fe_data (const FiniteElement< DIM > &fe, const Quadrature &q) |
Precompute finite element data on reference element. More... | |
void | fill_data (const ElementValues< spacedim > &elm_values, const FEInternalData &fe_data) |
Computes the shape function values and gradients on the actual cell and fills the FEValues structure. More... | |
template<class MapType > | |
void | fill_data_specialized (const ElementValues< spacedim > &elm_values, const FEInternalData &fe_data) |
Computes the shape function values and gradients on the actual cell and fills the FEValues structure. Specialized variant of previous method for different FETypes given by template parameter. More... | |
void | set_shape_value (unsigned int i_point, unsigned int i_func_comp, double val) |
void | set_shape_gradient (unsigned int i_point, unsigned int i_func_comp, arma::vec::fixed< spacedim > val) |
double | shape_value (const unsigned int function_no, const unsigned int point_no) const |
Return the value of the function_no-th shape function at the point_no-th quadrature point. More... | |
arma::vec::fixed< spacedim > | shape_grad (const unsigned int function_no, const unsigned int point_no) const |
Return the gradient of the function_no-th shape function at the point_no-th quadrature point. More... | |
double | JxW (const BulkPoint &p) |
Return the product of Jacobian determinant and the quadrature weight at given quadrature point. More... | |
double | JxW (const SidePoint &p) |
Return the product of Jacobian determinant and the quadrature weight at given quadrature point. More... | |
double | shape_value (const unsigned int function_no, const BulkPoint &p) const |
Return the value of the function_no-th shape function at the p quadrature point. More... | |
double | shape_value (const unsigned int function_no, const SidePoint &p) const |
Return the value of the function_no-th shape function at the p quadrature point. More... | |
arma::vec::fixed< spacedim > | shape_grad (const unsigned int function_no, const BulkPoint &p) const |
Return the gradient of the function_no-th shape function at the p quadrature point. More... | |
arma::vec::fixed< spacedim > | shape_grad (const unsigned int function_no, const SidePoint &p) const |
Return the gradient of the function_no-th shape function at the p quadrature point. More... | |
arma::vec::fixed< spacedim > | normal_vector (const SidePoint &p) |
Returns the normal vector to a side at given quadrature point. More... | |
void | resize (unsigned int max_size) |
Set size of ElementFEData. Important: Use only during the initialization of FESystem ! More... | |
Public Attributes | |
unsigned int | dim_ |
Dimension of reference space. More... | |
unsigned int | n_points_ |
Number of integration points. More... | |
unsigned int | n_dofs_ |
Number of finite element dofs. More... | |
FEType | fe_type_ |
Type of finite element (scalar, vector, tensor). More... | |
std::vector< std::vector< unsigned int > > | fe_sys_dofs_ |
Dof indices of FESystem sub-elements. More... | |
std::vector< unsigned int > | fe_sys_n_components_ |
Numbers of components of FESystem sub-elements in reference space. More... | |
std::vector< unsigned int > | fe_sys_n_space_components_ |
Numbers of components of FESystem sub-elements in real space. More... | |
UpdateFlags | update_flags |
Flags that indicate which finite element quantities are to be computed. More... | |
std::vector< PatchFEValues< spacedim >::DimPatchFEValues > | fe_values_vec |
Vector of FEValues for sub-elements of FESystem. More... | |
unsigned int | n_components_ |
Number of components of the FE. More... | |
std::shared_ptr< FEInternalData > | fe_data_ |
Precomputed finite element data. More... | |
std::vector< shared_ptr< FEInternalData > > | side_fe_data_ |
Precomputed FE data (shape functions on reference element) for all side quadrature points. More... | |
unsigned int | patch_data_idx_ |
Patch index of processed element / side. More... | |
std::map< unsigned int, unsigned int > | element_patch_map_ |
Map of element patch indexes to element_data_. More... | |
std::vector< ElementFEData > | element_data_ |
Data of elements / sides on patch. More... | |
unsigned int | used_size_ |
Number of elements / sides on patch. Must be less or equal to size of element_data vector. More... | |
unsigned int | max_n_elem_ |
Maximal number of elements on patch. More... | |
MeshObjectType | object_type_ |
Distinguishes using of PatchFEValues for storing data of elements or sides. More... | |
Subobject holds FE data of one dimension (0,1,2,3)
Definition at line 624 of file patch_fe_values.hh.
|
inline |
Constructor.
Definition at line 627 of file patch_fe_values.hh.
void PatchFEValues< spacedim >::DimPatchFEValues::allocate | ( | Quadrature & | _quadrature, |
FiniteElement< DIM > & | _fe, | ||
UpdateFlags | flags | ||
) |
Allocates space for computed data.
n_points | Number of quadrature points. |
_fe | The finite element. |
flags | The update flags. |
Definition at line 101 of file patch_fe_values.cc.
void PatchFEValues< spacedim >::DimPatchFEValues::fill_data | ( | const ElementValues< spacedim > & | elm_values, |
const FEInternalData & | fe_data | ||
) |
Computes the shape function values and gradients on the actual cell and fills the FEValues structure.
fe_data | Precomputed finite element data. |
Definition at line 230 of file patch_fe_values.cc.
|
inline |
Computes the shape function values and gradients on the actual cell and fills the FEValues structure. Specialized variant of previous method for different FETypes given by template parameter.
Definition at line 259 of file patch_fe_values.cc.
std::shared_ptr< FEInternalData > PatchFEValues< spacedim >::DimPatchFEValues::init_fe_data | ( | const FiniteElement< DIM > & | fe, |
const Quadrature & | q | ||
) |
Precompute finite element data on reference element.
Definition at line 162 of file patch_fe_values.cc.
void PatchFEValues< spacedim >::DimPatchFEValues::initialize | ( | Quadrature & | _quadrature, |
FiniteElement< DIM > & | _fe, | ||
UpdateFlags | _flags | ||
) |
Initialize structures and calculates cell-independent data.
_quadrature | The quadrature rule for the cell associated to given finite element or for the cell side. |
_fe | The finite element. |
_flags | The update flags. |
Definition at line 56 of file patch_fe_values.cc.
|
inline |
Return the product of Jacobian determinant and the quadrature weight at given quadrature point.
p | BulkPoint corresponds to the quadrature point. |
Definition at line 740 of file patch_fe_values.hh.
|
inline |
Return the product of Jacobian determinant and the quadrature weight at given quadrature point.
p | SidePoint corresponds to the quadrature point. |
Definition at line 752 of file patch_fe_values.hh.
|
inline |
|
inline |
Returns the normal vector to a side at given quadrature point.
p | SidePoint corresponds to the quadrature point. |
Definition at line 819 of file patch_fe_values.hh.
void PatchFEValues< spacedim >::DimPatchFEValues::reinit | ( | PatchElementsList | patch_elements | ) |
Definition at line 198 of file patch_fe_values.cc.
|
inline |
Set size of ElementFEData. Important: Use only during the initialization of FESystem !
Definition at line 826 of file patch_fe_values.hh.
|
inline |
!! Temporary function. Use in fill_data. Set shape gradient val
of the i_point
and i_func_comp
.
Definition at line 699 of file patch_fe_values.hh.
|
inline |
!! Temporary function. Use in fill_data. Set shape value val
of the i_point
and i_func_comp
.
Definition at line 690 of file patch_fe_values.hh.
|
inline |
Return the gradient of the function_no-th
shape function at the p
quadrature point.
function_no | Number of the shape function. |
p | BulkPoint corresponds to the quadrature point. |
Definition at line 793 of file patch_fe_values.hh.
|
inline |
Return the gradient of the function_no-th
shape function at the p
quadrature point.
function_no | Number of the shape function. |
p | SidePoint corresponds to the quadrature point. |
Definition at line 807 of file patch_fe_values.hh.
|
inline |
Return the gradient of the function_no-th
shape function at the point_no-th
quadrature point.
!! Temporary function. Use in fill_data.
function_no | Number of the shape function. |
point_no | Number of the quadrature point. |
Definition at line 727 of file patch_fe_values.hh.
|
inline |
Return the value of the function_no-th
shape function at the p
quadrature point.
function_no | Number of the shape function. |
p | BulkPoint corresponds to the quadrature point. |
Definition at line 765 of file patch_fe_values.hh.
|
inline |
Return the value of the function_no-th
shape function at the p
quadrature point.
function_no | Number of the shape function. |
p | SidePoint corresponds to the quadrature point. |
Definition at line 779 of file patch_fe_values.hh.
|
inline |
Return the value of the function_no-th
shape function at the point_no-th
quadrature point.
!! Temporary function. Use in fill_data.
function_no | Number of the shape function. |
point_no | Number of the quadrature point. |
Definition at line 712 of file patch_fe_values.hh.
|
inline |
Definition at line 631 of file patch_fe_values.hh.
unsigned int PatchFEValues< spacedim >::DimPatchFEValues::dim_ |
Dimension of reference space.
Definition at line 832 of file patch_fe_values.hh.
std::vector<ElementFEData> PatchFEValues< spacedim >::DimPatchFEValues::element_data_ |
Data of elements / sides on patch.
Definition at line 877 of file patch_fe_values.hh.
std::map<unsigned int, unsigned int> PatchFEValues< spacedim >::DimPatchFEValues::element_patch_map_ |
Map of element patch indexes to element_data_.
Definition at line 874 of file patch_fe_values.hh.
std::shared_ptr<FEInternalData> PatchFEValues< spacedim >::DimPatchFEValues::fe_data_ |
Precomputed finite element data.
Definition at line 865 of file patch_fe_values.hh.
std::vector<std::vector<unsigned int> > PatchFEValues< spacedim >::DimPatchFEValues::fe_sys_dofs_ |
Dof indices of FESystem sub-elements.
Definition at line 844 of file patch_fe_values.hh.
std::vector<unsigned int> PatchFEValues< spacedim >::DimPatchFEValues::fe_sys_n_components_ |
Numbers of components of FESystem sub-elements in reference space.
Definition at line 847 of file patch_fe_values.hh.
std::vector<unsigned int> PatchFEValues< spacedim >::DimPatchFEValues::fe_sys_n_space_components_ |
Numbers of components of FESystem sub-elements in real space.
Definition at line 850 of file patch_fe_values.hh.
FEType PatchFEValues< spacedim >::DimPatchFEValues::fe_type_ |
Type of finite element (scalar, vector, tensor).
Definition at line 841 of file patch_fe_values.hh.
std::vector<PatchFEValues<spacedim>::DimPatchFEValues> PatchFEValues< spacedim >::DimPatchFEValues::fe_values_vec |
Vector of FEValues for sub-elements of FESystem.
Definition at line 856 of file patch_fe_values.hh.
unsigned int PatchFEValues< spacedim >::DimPatchFEValues::max_n_elem_ |
Maximal number of elements on patch.
Definition at line 883 of file patch_fe_values.hh.
unsigned int PatchFEValues< spacedim >::DimPatchFEValues::n_components_ |
Number of components of the FE.
Definition at line 859 of file patch_fe_values.hh.
unsigned int PatchFEValues< spacedim >::DimPatchFEValues::n_dofs_ |
Number of finite element dofs.
Definition at line 838 of file patch_fe_values.hh.
unsigned int PatchFEValues< spacedim >::DimPatchFEValues::n_points_ |
Number of integration points.
Definition at line 835 of file patch_fe_values.hh.
MeshObjectType PatchFEValues< spacedim >::DimPatchFEValues::object_type_ |
Distinguishes using of PatchFEValues for storing data of elements or sides.
Definition at line 886 of file patch_fe_values.hh.
unsigned int PatchFEValues< spacedim >::DimPatchFEValues::patch_data_idx_ |
Patch index of processed element / side.
Definition at line 871 of file patch_fe_values.hh.
std::vector<shared_ptr<FEInternalData> > PatchFEValues< spacedim >::DimPatchFEValues::side_fe_data_ |
Precomputed FE data (shape functions on reference element) for all side quadrature points.
Definition at line 868 of file patch_fe_values.hh.
UpdateFlags PatchFEValues< spacedim >::DimPatchFEValues::update_flags |
Flags that indicate which finite element quantities are to be computed.
Definition at line 853 of file patch_fe_values.hh.
unsigned int PatchFEValues< spacedim >::DimPatchFEValues::used_size_ |
Number of elements / sides on patch. Must be less or equal to size of element_data vector.
Definition at line 880 of file patch_fe_values.hh.