Flow123d  DF_patch_fe_mechanics-a6ba684
Classes | Public Member Functions | 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

struct  TableSizes
 Struct for pre-computing number of elements, sides, bulk points and side points on each dimension. More...
 

Public Member Functions

 PatchFEValues ()
 
 PatchFEValues (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)
 Initialize structures and calculates cell-independent data. More...
 
void init_finalize ()
 Finalize initialization, creates child (patch) arena and passes it to PatchPointValue objects. More...
 
void reset ()
 Reset PatchpointValues structures. More...
 
void reinit_patch ()
 Reinit data. More...
 
template<unsigned int dim>
unsigned int n_dofs () 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...
 
void resize_tables (TableSizes table_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, uint i_point_on_elem)
 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, uint i_point_on_side)
 Register side point to patch_point_vals_ table by dimension of side. More...
 
void print_data_tables (ostream &stream, bool points, bool ints, bool only_bulk=true) const
 Temporary development method. More...
 
void print_operations (ostream &stream) const
 Temporary development method. More...
 

Private Attributes

AssemblyArena asm_arena_
 
PatchArenapatch_arena_
 
std::array< FeBulk::PatchPointValues< spacedim >, 3 > patch_point_vals_bulk_
 Sub objects of bulk data of dimensions 1,2,3. More...
 
std::array< FeSide::PatchPointValues< spacedim >, 3 > patch_point_vals_side_
 Sub objects of side data of dimensions 1,2,3. More...
 
MixedPtr< FiniteElementfe_
 Mixed of shared pointers of FiniteElement object. More...
 
bool used_quads_ [2]
 Pair of flags signs holds info if bulk and side quadratures are used. More...
 

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 1073 of file patch_fe_values.hh.

Constructor & Destructor Documentation

◆ PatchFEValues() [1/2]

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

Definition at line 1117 of file patch_fe_values.hh.

◆ PatchFEValues() [2/2]

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

Definition at line 1130 of file patch_fe_values.hh.

◆ ~PatchFEValues()

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

Destructor.

Definition at line 1146 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 1216 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 1153 of file patch_fe_values.hh.

Here is the caller graph for this function:

◆ init_finalize()

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

Finalize initialization, creates child (patch) arena and passes it to PatchPointValue objects.

Definition at line 1178 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)
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 1166 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 1230 of file patch_fe_values.hh.

◆ n_dofs()

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

Returns the number of shape functions.

Definition at line 1209 of file patch_fe_values.hh.

◆ print_data_tables()

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

Temporary development method.

Definition at line 1309 of file patch_fe_values.hh.

◆ print_operations()

template<unsigned int spacedim = 3>
void PatchFEValues< spacedim >::print_operations ( ostream &  stream) const
inline

Temporary development method.

Definition at line 1326 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,
uint  i_point_on_elem 
)
inline

Register bulk point to patch_point_vals_ table by dimension of element.

Definition at line 1298 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 1246 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 1269 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,
uint  i_point_on_side 
)
inline

Register side point to patch_point_vals_ table by dimension of side.

Definition at line 1303 of file patch_fe_values.hh.

Here is the caller graph for this function:

◆ reinit_patch()

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

Reinit data.

Definition at line 1197 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 1187 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 ( TableSizes  table_sizes)
inline

Resize tables of patch_point_vals_.

Following methods are used during update of patch.

Definition at line 1238 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 1223 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 1351 of file patch_fe_values.hh.

◆ FeQ

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

Definition at line 1353 of file patch_fe_values.hh.

◆ JoinShapeAccessor

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

Definition at line 1355 of file patch_fe_values.hh.

Member Data Documentation

◆ asm_arena_

template<unsigned int spacedim = 3>
AssemblyArena PatchFEValues< spacedim >::asm_arena_
private

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

Definition at line 1347 of file patch_fe_values.hh.

◆ patch_arena_

template<unsigned int spacedim = 3>
PatchArena* PatchFEValues< spacedim >::patch_arena_
private

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

Sub objects of bulk data of dimensions 1,2,3.

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

Sub objects of side data of dimensions 1,2,3.

Definition at line 1345 of file patch_fe_values.hh.

◆ used_quads_

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

Pair of flags signs holds info if bulk and side quadratures are used.

Definition at line 1348 of file patch_fe_values.hh.


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