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

Class for storing FE data of quadrature points. More...

#include <patch_point_values.hh>

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

Public Member Functions

 PatchPointValues (uint dim)
 
void initialize (uint int_cols)
 
void reset ()
 Reset number of rows (points and elements) More...
 
uint dim () const
 Getter of dim_. More...
 
uint n_rows () const
 Getter of n_rows_. More...
 
uint n_elems () const
 Getter of n_elems_. More...
 
uint n_points () const
 Getter of n_points_. More...
 
Quadratureget_quadrature () const
 Return quadrature. More...
 
uint add_rows (uint n_added)
 Temporary method allow acces to old structure PatchFEValues::DimPatchFEValues. More...
 
void resize_tables (uint n_points)
 Resize data tables. More...
 
uint register_element (arma::mat coords, uint element_patch_idx)
 Register element, add to point_vals_ table. More...
 
uint register_side (arma::mat elm_coords, arma::mat side_coords)
 Register side, add to point_vals_ table. More...
 
uint register_bulk_point (uint elem_table_row, uint value_patch_idx, uint elem_idx)
 Register bulk point, add to int_vals_ table. More...
 
uint register_side_point (uint elem_table_row, uint value_patch_idx, uint elem_idx, uint side_idx)
 Register side point, add to int_vals_ table. More...
 
ElOp< spacedim > & make_new_op (std::initializer_list< uint > shape, ReinitFunction reinit_f, std::vector< uint > input_ops_vec)
 Add accessor to operations_ vector. More...
 
ElOp< spacedim > & make_expansion (ElOp< spacedim > &el_op, std::initializer_list< uint > shape, ReinitFunction reinit_f)
 Add accessor to operations_ vector. More...
 
ElOp< spacedim > & make_fe_op (std::initializer_list< uint > shape, ReinitFunction reinit_f, std::vector< uint > input_ops_vec, uint n_dofs)
 Add accessor to operations_ vector. More...
 
void reinit_patch ()
 Reinit data. More...
 
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 (bool points, bool ints) const
 Temporary development method. More...
 
void print_operations (ostream &stream, uint bulk_side) const
 Temporary development method. More...
 

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...
 
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...
 

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 >

Class for storing FE data of quadrature points.

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

Definition at line 103 of file patch_point_values.hh.

Constructor & Destructor Documentation

◆ PatchPointValues()

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

Constructor

Set dimension

Definition at line 111 of file patch_point_values.hh.

Member Function Documentation

◆ add_rows()

template<unsigned int spacedim = 3>
uint PatchPointValues< spacedim >::add_rows ( uint  n_added)
inline

Temporary method allow acces to old structure PatchFEValues::DimPatchFEValues.

Adds the number of rows equal to n_added, returns index of first of them

Definition at line 160 of file patch_point_values.hh.

◆ dim()

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

Getter of dim_.

Definition at line 134 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

Return quadrature.

Definition at line 154 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ 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, number of columns of other tables is given by n_rows_ value.

Definition at line 120 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

Add accessor to operations_ vector.

Definition at line 234 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 
)
inline

Add accessor to operations_ vector.

Definition at line 243 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ 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 
)
inline

Add accessor to operations_ vector.

Definition at line 226 of file patch_point_values.hh.

◆ n_elems()

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

Getter of n_elems_.

Definition at line 144 of file patch_point_values.hh.

◆ n_points()

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

Getter of n_points_.

Definition at line 149 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 of n_rows_.

Definition at line 139 of file patch_point_values.hh.

◆ print()

template<unsigned int spacedim = 3>
void PatchPointValues< spacedim >::print ( bool  points,
bool  ints 
) const
inline

Temporary development method.

Definition at line 297 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

Temporary development method.

Definition at line 321 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 
)
inline

Register bulk point, add to int_vals_ table.

Definition at line 205 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.

Definition at line 173 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.

Definition at line 186 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.

Definition at line 215 of file patch_point_values.hh.

◆ reinit_patch()

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

Reinit data.

Definition at line 252 of file patch_point_values.hh.

◆ reset()

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

Reset number of rows (points and elements)

Definition at line 128 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_points)
inline

Resize data tables.

Definition at line 167 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

Definition at line 277 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ tensor_val()

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

Definition at line 288 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

Definition at line 281 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 374 of file patch_point_values.hh.

◆ ElOp< spacedim >

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

Definition at line 369 of file patch_point_values.hh.

◆ JoinValues

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

Definition at line 378 of file patch_point_values.hh.

◆ PatchFEValues< spacedim >

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

Definition at line 369 of file patch_point_values.hh.

◆ SideValues

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

Definition at line 376 of file patch_point_values.hh.

Member Data Documentation

◆ dim_

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

Dimension.

Definition at line 362 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 368 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 357 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 365 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 364 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 363 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 360 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 346 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 369 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 366 of file patch_point_values.hh.


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