21 #ifndef PATCH_POINT_VALUES_HH_
22 #define PATCH_POINT_VALUES_HH_
24 #include <Eigen/Dense>
54 template<
unsigned int spacedim = 3>
153 uint point_pos = i_point_on_elem *
n_elems_ + elem_table_row;
172 uint point_pos = i_point_on_side *
n_elems_ + elem_table_row;
192 template<
class ElementDomain>
PatchArena & patch_arena() const
return reference to patch arena
std::vector< ElementAccessor< spacedim > > elem_list_
List of elements on patch.
std::vector< uint > points_map_
Map of point patch indices to PatchOp::result_ and int_table_ tables.
uint register_bulk_point(uint elem_table_row, uint value_patch_idx, uint elem_idx, uint i_point_on_elem)
PatchPointValues(uint dim, uint quad_order, bool is_bulk, PatchFeData &patch_fe_data)
void resize_tables(uint n_elems, uint n_points)
Resize data tables. Method is called before reinit of patch.
Quadrature * get_quadrature() const
Getter for quadrature.
uint n_elems() const
Getter for n_elems_.
uint i_elem_
Index of registered element in table, helper value used during patch creating.
PatchFeData & patch_fe_data_
Reference to PatchFeData structure shared with PatchFeValues.
void reset()
Reset number of columns (points and elements)
uint n_points() const
Getter for n_points_.
std::vector< uint > elements_map_
Map of element patch indices to PatchOp::result_ and int_table_ tables.
AssemblyArena & asm_arena() const
return reference to assembly arena
NodeAccessor< spacedim > node(unsigned int i_elm, unsigned int i_n)
uint register_side_point(uint elem_table_row, uint value_patch_idx, uint elem_idx, uint side_idx, uint i_point_on_side)
virtual ~PatchPointValues()
uint n_points_
Number of points in patch.
std::vector< Side > side_list_
List of sides on patch.
Quadrature * quad_
Quadrature of given dimension and order passed in constructor.
std::vector< OpSizeType > int_sizes_
Set size and type of rows of int_table_, value is set implicitly in constructor of descendants.
uint n_elems_
Number of elements in patch.
Symmetric Gauss-Legendre quadrature formulae on simplices.
Base class for quadrature rules on simplices in arbitrary dimensions.
OpSizeType
Distinguishes operations by type and size of output rows.
@ pointOp
operation is evaluated on quadrature points
@ elemOp
operation is evaluated on elements or sides
@ fixedSizeOp
operation has fixed size and it is filled during initialization
Definitions of particular quadrature rules on simplices.
AssemblyArena asm_arena_
Assembly arena, created and filled once during initialization.
ArenaVec< double > zero_vec_
ArenaVec of zero values of maximal length using in zero PatchPointValues construction.
~PatchFeData()
Destructor.
PatchFeData(size_t buffer_size, size_t simd_alignment)
Constructor.
PatchArena * patch_arena_
Patch arena, reseted before patch reinit.