Flow123d
DF_patch_fe_data_tables-dc3adc1
|
#include <patch_point_values.hh>
Public Member Functions | |
PatchPointValues (uint dim, AssemblyArena &patch_arena) | |
void | initialize (uint int_cols) |
void | reset () |
Reset number of columns (points and elements) More... | |
uint | dim () const |
Getter for dim_. More... | |
uint | n_rows () const |
Getter for n_rows_. More... | |
uint | n_elems () const |
Getter for n_elems_. More... | |
uint | n_points () const |
Getter for n_points_. More... | |
Quadrature * | get_quadrature () const |
Getter for quadrature. More... | |
void | resize_tables (uint n_elems, uint n_points) |
Resize data tables. Method is called before reinit of patch. More... | |
uint | register_element (arma::mat coords, uint element_patch_idx) |
uint | register_side (arma::mat elm_coords, arma::mat side_coords) |
uint | register_bulk_point (uint elem_table_row, uint value_patch_idx, uint elem_idx) |
uint | register_side_point (uint elem_table_row, uint value_patch_idx, uint elem_idx, uint side_idx) |
ElOp< spacedim > & | make_new_op (std::initializer_list< uint > shape, ReinitFunction reinit_f, std::vector< uint > input_ops_vec, OpSizeType size_type=pointOp) |
ElOp< spacedim > & | make_fixed_op (std::initializer_list< uint > shape, ReinitFunction reinit_f) |
ElOp< spacedim > & | make_expansion (ElOp< spacedim > &el_op, std::initializer_list< uint > shape, ReinitFunction reinit_f) |
ElOp< spacedim > & | make_fe_op (std::initializer_list< uint > shape, ReinitFunction reinit_f, std::vector< uint > input_ops_vec, uint n_dofs, OpSizeType size_type=pointOp) |
void | reinit_patch () |
Scalar | scalar_val (uint result_row, uint point_idx) const |
Vector | vector_val (uint result_row, uint point_idx) const |
Tensor | tensor_val (uint result_row, uint point_idx) const |
void | print_data_tables (ostream &stream, bool points, bool ints) const |
void | print_operations (ostream &stream, uint bulk_side) const |
Protected Attributes | |
TableDbl | point_vals_ |
TableInt | int_vals_ |
std::vector< ElOp< spacedim > > | operations_ |
Vector of all defined operations. More... | |
uint | dim_ |
Dimension. More... | |
uint | n_rows_ |
Number of columns of point_vals table. More... | |
uint | n_points_ |
Number of points in patch. More... | |
uint | n_elems_ |
Number of elements in patch. More... | |
Quadrature * | quad_ |
Quadrature of given dimension and order passed in constructor. More... | |
std::vector< uint > | elements_map_ |
Map of element patch indices to el_vals_ table. More... | |
std::vector< uint > | points_map_ |
Map of point patch indices to point_vals_ and int_vals_ tables. More... | |
std::vector< OpSizeType > | row_sizes_ |
hold sizes of rows by type of operation More... | |
AssemblyArena & | patch_arena_ |
Reference to global Arena of PatchFeValues. More... | |
Friends | |
class | PatchFEValues< spacedim > |
class | ElOp< spacedim > |
template<unsigned int dim> | |
class | BulkValues |
template<unsigned int dim> | |
class | SideValues |
template<unsigned int dim> | |
class | JoinValues |
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 121 of file patch_point_values.hh.
|
inline |
|
inline |
Getter for dim_.
Definition at line 152 of file patch_point_values.hh.
|
inline |
Getter for quadrature.
Definition at line 172 of file patch_point_values.hh.
|
inline |
Initialize object, set number of columns (quantities) in tables.
Number of columns of int_vals_ table is passed by argument int_cols
, number of columns of other tables is given by n_rows_ value.
Definition at line 138 of file patch_point_values.hh.
|
inline |
Adds accessor of expansion operation to operations_ vector
el_op | Source operation of expansion. |
shape | Shape of function output |
reinit_f | Reinitialize function |
Definition at line 308 of file patch_point_values.hh.
|
inline |
Adds accessor of FE operation and adds operation dynamically to operations_ vector
shape | Shape of function output |
reinit_f | Reinitialize function |
input_ops_vec | Indices of input operations in operations_ vector. |
n_dofs | Number of DOFs |
size_type | Type of operation by size of rows |
Definition at line 325 of file patch_point_values.hh.
|
inline |
Adds accessor of new operation with fixed data size (ref data) to operations_ vector
shape | Shape of function output |
reinit_f | Reinitialize function |
Definition at line 297 of file patch_point_values.hh.
|
inline |
Adds accessor of new operation to operations_ vector
shape | Shape of function output |
reinit_f | Reinitialize function |
input_ops_vec | Indices of input operations in operations_ vector. |
size_type | Type of operation by size of rows |
Definition at line 283 of file patch_point_values.hh.
|
inline |
Getter for n_elems_.
Definition at line 162 of file patch_point_values.hh.
|
inline |
Getter for n_points_.
Definition at line 167 of file patch_point_values.hh.
|
inline |
Getter for n_rows_.
Definition at line 157 of file patch_point_values.hh.
|
inline |
Performs output of data tables to stream.
Development method.
points | Allows switched off output of point table, |
ints | Allows switched off output of int (connectivity to elements) table, |
Definition at line 390 of file patch_point_values.hh.
|
inline |
Performs table of fixed operations to stream.
Development method.
bulk_side | Needs set 0 (bulk) or 1 (side) for correct output of operation names. |
Definition at line 424 of file patch_point_values.hh.
|
inline |
Register bulk point, add to int_vals_ table
elem_table_row | Index of element in temporary element table. |
value_patch_idx | Index of point in ElementCacheMap. |
elem_idx | Index of element in Mesh. |
Definition at line 248 of file patch_point_values.hh.
|
inline |
Register element, add to point_vals_ table
coords | Coordinates of element nodes. |
element_patch_idx | Index of element on patch. |
Definition at line 201 of file patch_point_values.hh.
|
inline |
Register side, add to point_vals_ table
coords | Coordinates of element nodes. |
side_coords | Coordinates of side nodes. |
Definition at line 223 of file patch_point_values.hh.
|
inline |
Register side point, add to int_vals_ table
elem_table_row | Index of side in temporary element table. |
value_patch_idx | Index of point in ElementCacheMap. |
elem_idx | Index of element in Mesh. |
side_idx | Index of side on element. |
Definition at line 265 of file patch_point_values.hh.
|
inline |
Reinitializes patch data.
Calls reinit functions defined on each operations.
Definition at line 340 of file patch_point_values.hh.
|
inline |
Reset number of columns (points and elements)
Definition at line 146 of file patch_point_values.hh.
|
inline |
Resize data tables. Method is called before reinit of patch.
Definition at line 177 of file patch_point_values.hh.
|
inline |
Returns scalar output value given by index of first row and index of quadrature point.
result_row | Row of operation in point_vals_ data table |
point_idx | Index of quadrature point in ElementCacheMap |
Definition at line 352 of file patch_point_values.hh.
|
inline |
Returns tensor output value given by index of first row and index of quadrature point.
result_row | First row of operation in point_vals_ data table |
point_idx | Index of quadrature point in ElementCacheMap |
Definition at line 375 of file patch_point_values.hh.
|
inline |
Returns vector output value given by index of first row and index of quadrature point.
result_row | First row of operation in point_vals_ data table |
point_idx | Index of quadrature point in ElementCacheMap |
Definition at line 362 of file patch_point_values.hh.
Definition at line 478 of file patch_point_values.hh.
|
friend |
Definition at line 473 of file patch_point_values.hh.
Definition at line 482 of file patch_point_values.hh.
|
friend |
Definition at line 473 of file patch_point_values.hh.
Definition at line 480 of file patch_point_values.hh.
|
protected |
Dimension.
Definition at line 464 of file patch_point_values.hh.
|
protected |
Map of element patch indices to el_vals_ table.
Definition at line 470 of file patch_point_values.hh.
|
protected |
Hold integer values of quadrature points of previous table.
Table contains following columns: 0: Index of quadrature point on patch 1: Row of element/side in point_vals_ table in registration step (before expansion) 2: Element idx in Mesh 3: Index of side in element (column is allocated only for side point table) Number of used rows is given by n_points_.
Definition at line 459 of file patch_point_values.hh.
|
protected |
Number of elements in patch.
Definition at line 467 of file patch_point_values.hh.
|
protected |
Number of points in patch.
Definition at line 466 of file patch_point_values.hh.
|
protected |
Number of columns of point_vals
table.
Definition at line 465 of file patch_point_values.hh.
|
protected |
Vector of all defined operations.
Definition at line 462 of file patch_point_values.hh.
|
protected |
Reference to global Arena of PatchFeValues.
Definition at line 473 of file patch_point_values.hh.
|
protected |
Store data of bulk or side quadrature points of one dimension
Number of columns is given by n_rows_, number of used rows by n_points_.
Definition at line 448 of file patch_point_values.hh.
|
protected |
Map of point patch indices to point_vals_ and int_vals_ tables.
Definition at line 471 of file patch_point_values.hh.
|
protected |
Quadrature of given dimension and order passed in constructor.
Definition at line 468 of file patch_point_values.hh.
|
protected |
hold sizes of rows by type of operation
Definition at line 472 of file patch_point_values.hh.