Flow123d  DF_patch_fe_data_tables-398e8e7
Classes | Public Member Functions | Private Types | Private Attributes | Friends | List of all members
PatchFEValues< spacedim > Class Template Reference

#include <patch_fe_values.hh>

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

Classes

class  DimPatchFEValues
 Subobject holds FE data of one dimension (0,1,2,3) More...
 
class  ElementFEData
 
class  FuncDef
 Temporary helper class used in step between usage old a new implementation. More...
 

Public Member Functions

 PatchFEValues ()
 
 PatchFEValues (unsigned int n_quad_points, unsigned int quad_order, MixedPtr< FiniteElement > fe)
 
 ~PatchFEValues ()
 Destructor. More...
 
Quadratureget_quadrature (uint dim, bool is_bulk) const
 Return bulk or side quadrature of given dimension. More...
 
template<unsigned int DIM>
void initialize (Quadrature &_quadrature, UpdateFlags _flags)
 Initialize structures and calculates cell-independent data. More...
 
void reset ()
 Reset PatchpointValues structures. More...
 
void reinit (std::array< PatchElementsList, 4 > patch_elements)
 Reinit data - old data storing, temporary. More...
 
void reinit_patch ()
 Reinit data. More...
 
unsigned int n_dofs (unsigned int dim, FMT_UNUSED uint component_idx=0) const
 Returns the number of shape functions. More...
 
template<unsigned int dim>
BulkValues< dim > bulk_values ()
 Return BulkValue object of dimension given by template parameter. More...
 
template<unsigned int dim>
SideValues< dim > side_values ()
 Return SideValue object of dimension given by template parameter. More...
 
template<unsigned int dim>
JoinValues< dim > join_values ()
 Return JoinValue object of dimension given by template parameter. More...
 
DimPointTabledim_point_table (unsigned int new_size)
 Resize dim_point_table_ if actual size is less than new_size and return reference. More...
 
void resize_tables (std::vector< std::vector< uint > > dim_sizes)
 Resize tables of patch_point_vals_. More...
 
uint register_element (DHCellAccessor cell, uint element_patch_idx)
 Register element to patch_point_vals_ table by dimension of element. More...
 
uint register_side (DHCellSide cell_side)
 Register side to patch_point_vals_ table by dimension of side. More...
 
uint register_bulk_point (DHCellAccessor cell, uint elem_table_row, uint value_patch_idx)
 Register bulk point to patch_point_vals_ table by dimension of element. More...
 
uint register_side_point (DHCellSide cell_side, uint elem_table_row, uint value_patch_idx)
 Register side point to patch_point_vals_ table by dimension of side. More...
 
void print (bool points, bool ints, bool only_bulk=true) const
 Temporary development method. More...
 

Private Types

enum  MeshObjectType { ElementFE = 0 , SideFE = 1 }
 

Private Attributes

std::array< DimPatchFEValues, 3 > dim_fe_vals_
 Sub objects of dimensions 1,2,3. More...
 
std::array< DimPatchFEValues, 3 > dim_fe_side_vals_
 
std::array< FeBulk::PatchPointValues< spacedim >, 3 > patch_point_vals_bulk_
 
std::array< FeSide::PatchPointValues< spacedim >, 3 > patch_point_vals_side_
 
DimPointTable dim_point_table_
 
MixedPtr< FiniteElementfe_
 Mixed of shared pointers of FiniteElement object. More...
 
bool used_quads_ [2]
 
std::map< unsigned int, FuncDeffunc_map_
 
std::map< unsigned int, FuncDeffunc_map_side_
 

Friends

template<class ValueType >
class ElQ
 
template<class ValueType >
class FeQ
 
template<class ValueType >
class JoinShapeAccessor
 

Detailed Description

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

Definition at line 599 of file patch_fe_values.hh.

Member Enumeration Documentation

◆ MeshObjectType

template<unsigned int spacedim = 3>
enum PatchFEValues::MeshObjectType
private
Enumerator
ElementFE 
SideFE 

Definition at line 601 of file patch_fe_values.hh.

Constructor & Destructor Documentation

◆ PatchFEValues() [1/2]

template<unsigned int spacedim = 3>
PatchFEValues< spacedim >::PatchFEValues ( )
inline

Definition at line 900 of file patch_fe_values.hh.

◆ PatchFEValues() [2/2]

template<unsigned int spacedim = 3>
PatchFEValues< spacedim >::PatchFEValues ( unsigned int  n_quad_points,
unsigned int  quad_order,
MixedPtr< FiniteElement fe 
)
inline

Definition at line 908 of file patch_fe_values.hh.

◆ ~PatchFEValues()

template<unsigned int spacedim = 3>
PatchFEValues< spacedim >::~PatchFEValues ( )
inline

Destructor.

Definition at line 923 of file patch_fe_values.hh.

Member Function Documentation

◆ bulk_values()

template<unsigned int spacedim = 3>
template<unsigned int dim>
BulkValues<dim> PatchFEValues< spacedim >::bulk_values ( )
inline

Return BulkValue object of dimension given by template parameter.

Definition at line 994 of file patch_fe_values.hh.

◆ dim_point_table()

template<unsigned int spacedim = 3>
DimPointTable& PatchFEValues< spacedim >::dim_point_table ( unsigned int  new_size)
inline

Resize dim_point_table_ if actual size is less than new_size and return reference.

Definition at line 1012 of file patch_fe_values.hh.

◆ get_quadrature()

template<unsigned int spacedim = 3>
Quadrature* PatchFEValues< spacedim >::get_quadrature ( uint  dim,
bool  is_bulk 
) const
inline

Return bulk or side quadrature of given dimension.

Definition at line 927 of file patch_fe_values.hh.

Here is the caller graph for this function:

◆ initialize()

template<unsigned int spacedim = 3>
template<unsigned int DIM>
void PatchFEValues< spacedim >::initialize ( Quadrature _quadrature,
UpdateFlags  _flags 
)
inline

Initialize structures and calculates cell-independent data.

Parameters
_quadratureThe quadrature rule for the cell associated to given finite element or for the cell side.
_flagsThe update flags.

Definition at line 940 of file patch_fe_values.hh.

◆ join_values()

template<unsigned int spacedim = 3>
template<unsigned int dim>
JoinValues<dim> PatchFEValues< spacedim >::join_values ( )
inline

Return JoinValue object of dimension given by template parameter.

Definition at line 1006 of file patch_fe_values.hh.

◆ n_dofs()

template<unsigned int spacedim = 3>
unsigned int PatchFEValues< spacedim >::n_dofs ( unsigned int  dim,
FMT_UNUSED uint  component_idx = 0 
) const
inline

Returns the number of shape functions.

Definition at line 986 of file patch_fe_values.hh.

Here is the caller graph for this function:

◆ print()

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

Temporary development method.

Definition at line 1094 of file patch_fe_values.hh.

◆ register_bulk_point()

template<unsigned int spacedim = 3>
uint PatchFEValues< spacedim >::register_bulk_point ( DHCellAccessor  cell,
uint  elem_table_row,
uint  value_patch_idx 
)
inline

Register bulk point to patch_point_vals_ table by dimension of element.

Definition at line 1084 of file patch_fe_values.hh.

Here is the caller graph for this function:

◆ register_element()

template<unsigned int spacedim = 3>
uint PatchFEValues< spacedim >::register_element ( DHCellAccessor  cell,
uint  element_patch_idx 
)
inline

Register element to patch_point_vals_ table by dimension of element.

Definition at line 1032 of file patch_fe_values.hh.

Here is the caller graph for this function:

◆ register_side()

template<unsigned int spacedim = 3>
uint PatchFEValues< spacedim >::register_side ( DHCellSide  cell_side)
inline

Register side to patch_point_vals_ table by dimension of side.

Definition at line 1055 of file patch_fe_values.hh.

Here is the caller graph for this function:

◆ register_side_point()

template<unsigned int spacedim = 3>
uint PatchFEValues< spacedim >::register_side_point ( DHCellSide  cell_side,
uint  elem_table_row,
uint  value_patch_idx 
)
inline

Register side point to patch_point_vals_ table by dimension of side.

Definition at line 1089 of file patch_fe_values.hh.

Here is the caller graph for this function:

◆ reinit()

template<unsigned int spacedim = 3>
void PatchFEValues< spacedim >::reinit ( std::array< PatchElementsList, 4 >  patch_elements)
inline

Reinit data - old data storing, temporary.

Definition at line 966 of file patch_fe_values.hh.

◆ reinit_patch()

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

Reinit data.

Definition at line 975 of file patch_fe_values.hh.

Here is the caller graph for this function:

◆ reset()

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

Reset PatchpointValues structures.

Definition at line 957 of file patch_fe_values.hh.

Here is the caller graph for this function:

◆ resize_tables()

template<unsigned int spacedim = 3>
void PatchFEValues< spacedim >::resize_tables ( std::vector< std::vector< uint > >  dim_sizes)
inline

Resize tables of patch_point_vals_.

Following methods are used during update of patch.

Definition at line 1021 of file patch_fe_values.hh.

Here is the caller graph for this function:

◆ side_values()

template<unsigned int spacedim = 3>
template<unsigned int dim>
SideValues<dim> PatchFEValues< spacedim >::side_values ( )
inline

Return SideValue object of dimension given by template parameter.

Definition at line 1000 of file patch_fe_values.hh.

Friends And Related Function Documentation

◆ ElQ

template<unsigned int spacedim = 3>
template<class ValueType >
friend class ElQ
friend

Definition at line 1118 of file patch_fe_values.hh.

◆ FeQ

template<unsigned int spacedim = 3>
template<class ValueType >
friend class FeQ
friend

Definition at line 1120 of file patch_fe_values.hh.

◆ JoinShapeAccessor

template<unsigned int spacedim = 3>
template<class ValueType >
friend class JoinShapeAccessor
friend

Definition at line 1122 of file patch_fe_values.hh.

Member Data Documentation

◆ dim_fe_side_vals_

template<unsigned int spacedim = 3>
std::array<DimPatchFEValues, 3> PatchFEValues< spacedim >::dim_fe_side_vals_
private

Definition at line 1105 of file patch_fe_values.hh.

◆ dim_fe_vals_

template<unsigned int spacedim = 3>
std::array<DimPatchFEValues, 3> PatchFEValues< spacedim >::dim_fe_vals_
private

Sub objects of dimensions 1,2,3.

Definition at line 1104 of file patch_fe_values.hh.

◆ dim_point_table_

template<unsigned int spacedim = 3>
DimPointTable PatchFEValues< spacedim >::dim_point_table_
private

Definition at line 1108 of file patch_fe_values.hh.

◆ fe_

template<unsigned int spacedim = 3>
MixedPtr<FiniteElement> PatchFEValues< spacedim >::fe_
private

Mixed of shared pointers of FiniteElement object.

Temporary helper objects used in step between usage old a new implementation

Definition at line 1110 of file patch_fe_values.hh.

◆ func_map_

template<unsigned int spacedim = 3>
std::map<unsigned int, FuncDef> PatchFEValues< spacedim >::func_map_
private

Definition at line 1114 of file patch_fe_values.hh.

◆ func_map_side_

template<unsigned int spacedim = 3>
std::map<unsigned int, FuncDef> PatchFEValues< spacedim >::func_map_side_
private

Definition at line 1115 of file patch_fe_values.hh.

◆ patch_point_vals_bulk_

template<unsigned int spacedim = 3>
std::array<FeBulk::PatchPointValues<spacedim>, 3> PatchFEValues< spacedim >::patch_point_vals_bulk_
private

Definition at line 1106 of file patch_fe_values.hh.

◆ patch_point_vals_side_

template<unsigned int spacedim = 3>
std::array<FeSide::PatchPointValues<spacedim>, 3> PatchFEValues< spacedim >::patch_point_vals_side_
private

Definition at line 1107 of file patch_fe_values.hh.

◆ used_quads_

template<unsigned int spacedim = 3>
bool PatchFEValues< spacedim >::used_quads_[2]
private

Definition at line 1113 of file patch_fe_values.hh.


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