Flow123d  DF_patch_fe_darcy_complete-579fe1e
Classes | Public Member Functions | Public Attributes | List of all members
PatchPointValues< spacedim > Class Template Reference

#include <patch_point_values.hh>

Collaboration diagram for PatchPointValues< spacedim >:
Collaboration graph
[legend]

Classes

struct  PatchFeData
 

Public Member Functions

 PatchPointValues (ElemDimList< spacedim > *elems_dim_list, fem_domain domain)
 
virtual ~PatchPointValues ()
 
void reset ()
 Reset number of columns (points and elements) More...
 
uint n_mesh_items () const
 Getter for n_mesh_items__. More...
 
void resize_tables (uint max_quad_size, PatchArena &patch_arena)
 Resize data tables. Method is called before reinit of patch. More...
 
uint register_bulk_point (uint patch_elm_idx, uint elm_cache_map_idx, uint elem_idx, uint i_point_on_elem)
 
uint register_side_point (uint patch_side_idx, uint elm_cache_map_idx, uint elem_idx, uint side_idx, uint i_point_on_side)
 
void make_permanent_mesh_items ()
 Set number of elements and points as permanent. More...
 

Public Attributes

IntTableArena int_table_
 
std::vector< OpSizeTypeint_sizes_
 Set size and type of rows of int_table_, value is set implicitly in constructor of descendants. More...
 
ElemDimList< spacedim > * elem_dim_list_
 Number and list of elements on patch. More...
 
RevertibleValue n_mesh_items_
 Number of elements or sides in patch. More...
 
uint i_mesh_item_
 Index of registered element or side in table, helper value used during patch creating. More...
 
std::vector< uintpoints_map_
 Map of point patch indices to PatchOp::result_ and int_table_ tables. More...
 
std::unordered_map< uint, uintn_elems_
 
std::vector< Sideside_list_
 List of sides on patch. More...
 

Detailed Description

template<unsigned int spacedim = 3>
class PatchPointValues< spacedim >

v Class for storing FE data of quadrature points on one patch.

Store data of bulk or side quadrature points of one dimension.

Definition at line 149 of file patch_point_values.hh.

Constructor & Destructor Documentation

◆ PatchPointValues()

template<unsigned int spacedim = 3>
PatchPointValues< spacedim >::PatchPointValues ( ElemDimList< spacedim > *  elems_dim_list,
fem_domain  domain 
)
inline

Constructor

Parameters
dimSet dimension

Definition at line 177 of file patch_point_values.hh.

◆ ~PatchPointValues()

template<unsigned int spacedim = 3>
virtual PatchPointValues< spacedim >::~PatchPointValues ( )
inlinevirtual

Destructor.

Definition at line 192 of file patch_point_values.hh.

Member Function Documentation

◆ make_permanent_mesh_items()

template<unsigned int spacedim = 3>
void PatchPointValues< spacedim >::make_permanent_mesh_items ( )
inline

Set number of elements and points as permanent.

Definition at line 255 of file patch_point_values.hh.

◆ n_mesh_items()

template<unsigned int spacedim = 3>
uint PatchPointValues< spacedim >::n_mesh_items ( ) const
inline

Getter for n_mesh_items__.

Definition at line 204 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ register_bulk_point()

template<unsigned int spacedim = 3>
uint PatchPointValues< spacedim >::register_bulk_point ( uint  patch_elm_idx,
uint  elm_cache_map_idx,
uint  elem_idx,
uint  i_point_on_elem 
)
inline

Register bulk point, add to int_table_

Parameters
patch_elm_idxIndex of element on patch (in int_table_).
elm_cache_map_idxIndex of point in ElementCacheMap.
elem_idxIndex of element in Mesh.
i_point_on_elemIndex of point on element

Definition at line 224 of file patch_point_values.hh.

◆ register_side_point()

template<unsigned int spacedim = 3>
uint PatchPointValues< spacedim >::register_side_point ( uint  patch_side_idx,
uint  elm_cache_map_idx,
uint  elem_idx,
uint  side_idx,
uint  i_point_on_side 
)
inline

Register side point, add to int_table_

Parameters
patch_side_idxIndex of side on patch (in int_table_).
elm_cache_map_idxIndex of point in ElementCacheMap.
elem_idxIndex of element in Mesh.
side_idxIndex of side on element.
i_point_on_sideIndex of point on side

Definition at line 243 of file patch_point_values.hh.

◆ reset()

template<unsigned int spacedim = 3>
void PatchPointValues< spacedim >::reset ( )
inline

Reset number of columns (points and elements)

Definition at line 195 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ resize_tables()

template<unsigned int spacedim = 3>
void PatchPointValues< spacedim >::resize_tables ( uint  max_quad_size,
PatchArena patch_arena 
)
inline

Resize data tables. Method is called before reinit of patch.

Definition at line 209 of file patch_point_values.hh.

Member Data Documentation

◆ elem_dim_list_

template<unsigned int spacedim = 3>
ElemDimList<spacedim>* PatchPointValues< spacedim >::elem_dim_list_

Number and list of elements on patch.

Definition at line 279 of file patch_point_values.hh.

◆ i_mesh_item_

template<unsigned int spacedim = 3>
uint PatchPointValues< spacedim >::i_mesh_item_

Index of registered element or side in table, helper value used during patch creating.

Definition at line 281 of file patch_point_values.hh.

◆ int_sizes_

template<unsigned int spacedim = 3>
std::vector<OpSizeType> PatchPointValues< spacedim >::int_sizes_

Set size and type of rows of int_table_, value is set implicitly in constructor of descendants.

Definition at line 277 of file patch_point_values.hh.

◆ int_table_

template<unsigned int spacedim = 3>
IntTableArena PatchPointValues< spacedim >::int_table_

Hold integer values of quadrature points of defined operations.

Table contains following rows: 0: Index of quadrature point in ElementCacheMap 1: Index of element (bulk PPV) / side (side PPV) in PatchOp::result_ table to which quadrature point is relevant 2: Element idx in Mesh

  1. Mapping between short and long element representation (for element) Or index of element in PatchOp::result_ table to which side is relevant (for side)
    • last two rows are allocated only for side point table 4: Index of side in element - short vector, size of column = number of sides 5: Index of side in element - long vector, size of column = number of points Number of used rows is given by int_sizes_.

Definition at line 274 of file patch_point_values.hh.

◆ n_elems_

template<unsigned int spacedim = 3>
std::unordered_map<uint, uint> PatchPointValues< spacedim >::n_elems_

Holds map of idx of registered elements and its idx in bulk PatchPointValues, data member ensures control of duplicity

TODO will be deleted after sorting elements in ElementCacheMap by dimension

Definition at line 289 of file patch_point_values.hh.

◆ n_mesh_items_

template<unsigned int spacedim = 3>
RevertibleValue PatchPointValues< spacedim >::n_mesh_items_

Number of elements or sides in patch.

Definition at line 280 of file patch_point_values.hh.

◆ points_map_

template<unsigned int spacedim = 3>
std::vector<uint> PatchPointValues< spacedim >::points_map_

Map of point patch indices to PatchOp::result_ and int_table_ tables.

Definition at line 282 of file patch_point_values.hh.

◆ side_list_

template<unsigned int spacedim = 3>
std::vector<Side> PatchPointValues< spacedim >::side_list_

List of sides on patch.

Definition at line 290 of file patch_point_values.hh.


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