Flow123d  DF_patch_fe_data_tables-6bd0dc8
Public Member Functions | Protected Attributes | Friends | List of all members
PatchPointValues< spacedim > Class Template Reference

#include <patch_point_values.hh>

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

Public Member Functions

 PatchPointValues (uint dim, AssemblyArena &asm_arena)
 
void initialize (uint int_cols)
 
void init_finalize (PatchArena *patch_arena)
 
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...
 
Quadratureget_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 i_point_on_elem)
 
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
 
Scalar scalar_value (uint op_idx, uint point_idx) const
 
Vector vector_val (uint result_row, uint point_idx) const
 
Vector vector_value (uint op_idx, uint point_idx) const
 
Tensor tensor_val (uint result_row, uint point_idx) const
 
Tensor tensor_value (uint op_idx, 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...
 
uint i_elem_
 Index of registered element in table, helper value used during patch creating. More...
 
Quadraturequad_
 Quadrature of given dimension and order passed in constructor. More...
 
std::vector< uintelements_map_
 Map of element patch indices to el_vals_ table. More...
 
std::vector< uintpoints_map_
 Map of point patch indices to point_vals_ and int_vals_ tables. More...
 
std::vector< OpSizeTyperow_sizes_
 hold sizes of rows by type of operation More...
 
AssemblyArenaasm_arena_
 Reference to global assembly arena of PatchFeValues. More...
 
PatchArenapatch_arena_
 Pointer to global patch 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
 

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 122 of file patch_point_values.hh.

Constructor & Destructor Documentation

◆ PatchPointValues()

template<unsigned int spacedim = 3>
PatchPointValues< spacedim >::PatchPointValues ( uint  dim,
AssemblyArena asm_arena 
)
inline

Constructor

Parameters
dimSet dimension

Definition at line 130 of file patch_point_values.hh.

Member Function Documentation

◆ dim()

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

Getter for dim_.

Definition at line 160 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ get_quadrature()

template<unsigned int spacedim = 3>
Quadrature* PatchPointValues< spacedim >::get_quadrature ( ) const
inline

Getter for quadrature.

Definition at line 180 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ init_finalize()

template<unsigned int spacedim = 3>
void PatchPointValues< spacedim >::init_finalize ( PatchArena patch_arena)
inline

Definition at line 148 of file patch_point_values.hh.

◆ initialize()

template<unsigned int spacedim = 3>
void PatchPointValues< spacedim >::initialize ( uint  int_cols)
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 141 of file patch_point_values.hh.

◆ make_expansion()

template<unsigned int spacedim = 3>
ElOp<spacedim>& PatchPointValues< spacedim >::make_expansion ( ElOp< spacedim > &  el_op,
std::initializer_list< uint shape,
ReinitFunction  reinit_f 
)
inline

Adds accessor of expansion operation to operations_ vector

Parameters
el_opSource operation of expansion.
shapeShape of function output
reinit_fReinitialize function

Definition at line 321 of file patch_point_values.hh.

◆ make_fe_op()

template<unsigned int spacedim = 3>
ElOp<spacedim>& PatchPointValues< 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 
)
inline

Adds accessor of FE operation and adds operation dynamically to operations_ vector

Parameters
shapeShape of function output
reinit_fReinitialize function
input_ops_vecIndices of input operations in operations_ vector.
n_dofsNumber of DOFs
size_typeType of operation by size of rows

Definition at line 338 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ make_fixed_op()

template<unsigned int spacedim = 3>
ElOp<spacedim>& PatchPointValues< spacedim >::make_fixed_op ( std::initializer_list< uint shape,
ReinitFunction  reinit_f 
)
inline

Adds accessor of new operation with fixed data size (ref data) to operations_ vector

Parameters
shapeShape of function output
reinit_fReinitialize function

Definition at line 310 of file patch_point_values.hh.

◆ make_new_op()

template<unsigned int spacedim = 3>
ElOp<spacedim>& PatchPointValues< spacedim >::make_new_op ( std::initializer_list< uint shape,
ReinitFunction  reinit_f,
std::vector< uint input_ops_vec,
OpSizeType  size_type = pointOp 
)
inline

Adds accessor of new operation to operations_ vector

Parameters
shapeShape of function output
reinit_fReinitialize function
input_ops_vecIndices of input operations in operations_ vector.
size_typeType of operation by size of rows

Definition at line 296 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ n_elems()

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

Getter for n_elems_.

Definition at line 170 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ n_points()

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

Getter for n_points_.

Definition at line 175 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ n_rows()

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

Getter for n_rows_.

Definition at line 165 of file patch_point_values.hh.

◆ print_data_tables()

template<unsigned int spacedim = 3>
void PatchPointValues< spacedim >::print_data_tables ( ostream &  stream,
bool  points,
bool  ints 
) const
inline

Performs output of data tables to stream.

Development method.

Parameters
pointsAllows switched off output of point table,
intsAllows switched off output of int (connectivity to elements) table,

Definition at line 421 of file patch_point_values.hh.

◆ print_operations()

template<unsigned int spacedim = 3>
void PatchPointValues< spacedim >::print_operations ( ostream &  stream,
uint  bulk_side 
) const
inline

Performs table of fixed operations to stream.

Development method.

Parameters
bulk_sideNeeds set 0 (bulk) or 1 (side) for correct output of operation names.

Definition at line 455 of file patch_point_values.hh.

◆ register_bulk_point()

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

Register bulk point, add to int_vals_ table

Parameters
elem_table_rowIndex of element in temporary element table.
value_patch_idxIndex of point in ElementCacheMap.
elem_idxIndex of element in Mesh.
i_point_on_elemIndex of point on element

Definition at line 259 of file patch_point_values.hh.

◆ register_element()

template<unsigned int spacedim = 3>
uint PatchPointValues< spacedim >::register_element ( arma::mat  coords,
uint  element_patch_idx 
)
inline

Register element, add to point_vals_ table

Parameters
coordsCoordinates of element nodes.
element_patch_idxIndex of element on patch.

Definition at line 211 of file patch_point_values.hh.

◆ register_side()

template<unsigned int spacedim = 3>
uint PatchPointValues< spacedim >::register_side ( arma::mat  elm_coords,
arma::mat  side_coords 
)
inline

Register side, add to point_vals_ table

Parameters
coordsCoordinates of element nodes.
side_coordsCoordinates of side nodes.

Definition at line 233 of file patch_point_values.hh.

◆ register_side_point()

template<unsigned int spacedim = 3>
uint PatchPointValues< spacedim >::register_side_point ( uint  elem_table_row,
uint  value_patch_idx,
uint  elem_idx,
uint  side_idx 
)
inline

Register side point, add to int_vals_ table

Parameters
elem_table_rowIndex of side in temporary element table.
value_patch_idxIndex of point in ElementCacheMap.
elem_idxIndex of element in Mesh.
side_idxIndex of side on element.

Definition at line 278 of file patch_point_values.hh.

◆ reinit_patch()

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

Reinitializes patch data.

Calls reinit functions defined on each operations.

Definition at line 353 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 153 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  n_elems,
uint  n_points 
)
inline

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

Definition at line 185 of file patch_point_values.hh.

◆ scalar_val()

template<unsigned int spacedim = 3>
Scalar PatchPointValues< spacedim >::scalar_val ( uint  result_row,
uint  point_idx 
) const
inline

Returns scalar output value given by index of first row and index of quadrature point.

Parameters
result_rowRow of operation in point_vals_ data table
point_idxIndex of quadrature point in ElementCacheMap

Definition at line 365 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ scalar_value()

template<unsigned int spacedim = 3>
Scalar PatchPointValues< spacedim >::scalar_value ( uint  op_idx,
uint  point_idx 
) const
inline

Definition at line 368 of file patch_point_values.hh.

◆ tensor_val()

template<unsigned int spacedim = 3>
Tensor PatchPointValues< spacedim >::tensor_val ( uint  result_row,
uint  point_idx 
) const
inline

Returns tensor output value given by index of first row and index of quadrature point.

Parameters
result_rowFirst row of operation in point_vals_ data table
point_idxIndex of quadrature point in ElementCacheMap

Definition at line 398 of file patch_point_values.hh.

◆ tensor_value()

template<unsigned int spacedim = 3>
Tensor PatchPointValues< spacedim >::tensor_value ( uint  op_idx,
uint  point_idx 
) const
inline

Definition at line 405 of file patch_point_values.hh.

◆ vector_val()

template<unsigned int spacedim = 3>
Vector PatchPointValues< spacedim >::vector_val ( uint  result_row,
uint  point_idx 
) const
inline

Returns vector output value given by index of first row and index of quadrature point.

Parameters
result_rowFirst row of operation in point_vals_ data table
point_idxIndex of quadrature point in ElementCacheMap

Definition at line 378 of file patch_point_values.hh.

◆ vector_value()

template<unsigned int spacedim = 3>
Vector PatchPointValues< spacedim >::vector_value ( uint  op_idx,
uint  point_idx 
) const
inline

Definition at line 384 of file patch_point_values.hh.

Friends And Related Function Documentation

◆ BulkValues

template<unsigned int spacedim = 3>
template<unsigned int dim>
friend class BulkValues
friend

Definition at line 511 of file patch_point_values.hh.

◆ ElOp< spacedim >

template<unsigned int spacedim = 3>
friend class ElOp< spacedim >
friend

Definition at line 506 of file patch_point_values.hh.

◆ JoinValues

template<unsigned int spacedim = 3>
template<unsigned int dim>
friend class JoinValues
friend

Definition at line 515 of file patch_point_values.hh.

◆ PatchFEValues< spacedim >

template<unsigned int spacedim = 3>
friend class PatchFEValues< spacedim >
friend

Definition at line 506 of file patch_point_values.hh.

◆ SideValues

template<unsigned int spacedim = 3>
template<unsigned int dim>
friend class SideValues
friend

Definition at line 513 of file patch_point_values.hh.

Member Data Documentation

◆ asm_arena_

template<unsigned int spacedim = 3>
AssemblyArena& PatchPointValues< spacedim >::asm_arena_
protected

Reference to global assembly arena of PatchFeValues.

Definition at line 505 of file patch_point_values.hh.

◆ dim_

template<unsigned int spacedim = 3>
uint PatchPointValues< spacedim >::dim_
protected

Dimension.

Definition at line 495 of file patch_point_values.hh.

◆ elements_map_

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

Map of element patch indices to el_vals_ table.

Definition at line 502 of file patch_point_values.hh.

◆ i_elem_

template<unsigned int spacedim = 3>
uint PatchPointValues< spacedim >::i_elem_
protected

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

Definition at line 499 of file patch_point_values.hh.

◆ int_vals_

template<unsigned int spacedim = 3>
TableInt PatchPointValues< spacedim >::int_vals_
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 490 of file patch_point_values.hh.

◆ n_elems_

template<unsigned int spacedim = 3>
uint PatchPointValues< spacedim >::n_elems_
protected

Number of elements in patch.

Definition at line 498 of file patch_point_values.hh.

◆ n_points_

template<unsigned int spacedim = 3>
uint PatchPointValues< spacedim >::n_points_
protected

Number of points in patch.

Definition at line 497 of file patch_point_values.hh.

◆ n_rows_

template<unsigned int spacedim = 3>
uint PatchPointValues< spacedim >::n_rows_
protected

Number of columns of point_vals table.

Definition at line 496 of file patch_point_values.hh.

◆ operations_

template<unsigned int spacedim = 3>
std::vector<ElOp<spacedim> > PatchPointValues< spacedim >::operations_
protected

Vector of all defined operations.

Definition at line 493 of file patch_point_values.hh.

◆ patch_arena_

template<unsigned int spacedim = 3>
PatchArena* PatchPointValues< spacedim >::patch_arena_
protected

Pointer to global patch arena of PatchFeValues.

Definition at line 506 of file patch_point_values.hh.

◆ point_vals_

template<unsigned int spacedim = 3>
TableDbl PatchPointValues< spacedim >::point_vals_
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 479 of file patch_point_values.hh.

◆ points_map_

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

Map of point patch indices to point_vals_ and int_vals_ tables.

Definition at line 503 of file patch_point_values.hh.

◆ quad_

template<unsigned int spacedim = 3>
Quadrature* PatchPointValues< spacedim >::quad_
protected

Quadrature of given dimension and order passed in constructor.

Definition at line 500 of file patch_point_values.hh.

◆ row_sizes_

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

hold sizes of rows by type of operation

Definition at line 504 of file patch_point_values.hh.


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