Flow123d  DF_patch_fe_darcy_complete-579fe1e
Public Member Functions | Private Member Functions | Private Attributes | List of all members
GenericAssembly< DimAssembly > Class Template Reference

Generic class of assemblation. More...

#include <generic_assembly.hh>

Inheritance diagram for GenericAssembly< DimAssembly >:
Inheritance graph
[legend]
Collaboration diagram for GenericAssembly< DimAssembly >:
Collaboration graph
[legend]

Public Member Functions

 GenericAssembly (typename DimAssembly< 1 >::EqData *eq_data)
 
 GenericAssembly (typename DimAssembly< 1 >::EqData *eq_data, DOFHandlerMultiDim *dh)
 
MixedPtr< DimAssembly, 1 > multidim_assembly () const
 Getter to set of assembly objects. More...
 
void set_min_edge_sides (unsigned int val)
 Allows rewrite number of minimal edge sides. More...
 
void assemble (std::shared_ptr< DOFHandlerMultiDim > dh) override
 General assemble methods. More...
 
const ElementCacheMapcache_map () const
 Return ElementCacheMap. More...
 
- Public Member Functions inherited from GenericAssemblyBase
 GenericAssemblyBase ()
 
 GenericAssemblyBase (MixedPtr< FiniteElement > fe)
 
virtual ~GenericAssemblyBase ()
 
std::shared_ptr< EvalPointseval_points () const
 Getter to EvalPoints object. More...
 

Private Member Functions

void initialize ()
 Common part of GenericAssemblz constructors. More...
 
void assemble_integrals ()
 Call assemblations when patch is filled. More...
 
void patch_reinit ()
 Reinit PatchFeValues object during construction of patch. More...
 
void reallocate_cache ()
 Calls cache_reallocate method on. More...
 

Private Attributes

bool use_patch_fe_values_
 Flag holds if common fe_values_ object is used in multidim_assembly_. More...
 
MixedPtr< DimAssembly, 1 > multidim_assembly_
 Assembly object. More...
 

Additional Inherited Members

- Protected Attributes inherited from GenericAssemblyBase
AssemblyInternals asm_internals_
 Holds shared internals data. More...
 

Detailed Description

template<template< IntDim... > class DimAssembly>
class GenericAssembly< DimAssembly >

Generic class of assemblation.

Class

Definition at line 103 of file generic_assembly.hh.

Constructor & Destructor Documentation

◆ GenericAssembly() [1/2]

template<template< IntDim... > class DimAssembly>
GenericAssembly< DimAssembly >::GenericAssembly ( typename DimAssembly< 1 >::EqData *  eq_data)
inline

Constructor.

Used in equations working with 'old' FeValues objects in evaluation.

Parameters
eq_fieldsDescendant of FieldSet declared in equation
eq_dataObject defined in equation containing shared data of eqation and assembly class.

Definition at line 113 of file generic_assembly.hh.

◆ GenericAssembly() [2/2]

template<template< IntDim... > class DimAssembly>
GenericAssembly< DimAssembly >::GenericAssembly ( typename DimAssembly< 1 >::EqData *  eq_data,
DOFHandlerMultiDim dh 
)
inline

Constructor.

Used in equations working with 'new' PatchFeValues objects in evaluation.

Parameters
eq_fieldsDescendant of FieldSet declared in equation
eq_dataObject defined in equation containing shared data of eqation and assembly class.
dhDOF handler object

Definition at line 129 of file generic_assembly.hh.

Member Function Documentation

◆ assemble()

template<template< IntDim... > class DimAssembly>
void GenericAssembly< DimAssembly >::assemble ( std::shared_ptr< DOFHandlerMultiDim dh)
inlineoverridevirtual

General assemble methods.

Loops through local cells and calls assemble methods of assembly object of each cells over space dimension.

TODO:

  • make estimate of the cache fill for combination of (integral_type x element dimension)
  • add next cell to patch if current_patch_size + next_element_size <= fixed_cache_size
  • avoid reverting the integral data lists.

Implements GenericAssemblyBase.

Definition at line 160 of file generic_assembly.hh.

◆ assemble_integrals()

template<template< IntDim... > class DimAssembly>
void GenericAssembly< DimAssembly >::assemble_integrals ( )
inlineprivate

Call assemblations when patch is filled.

Definition at line 233 of file generic_assembly.hh.

Here is the caller graph for this function:

◆ cache_map()

template<template< IntDim... > class DimAssembly>
const ElementCacheMap& GenericAssembly< DimAssembly >::cache_map ( ) const
inline

Return ElementCacheMap.

Definition at line 216 of file generic_assembly.hh.

◆ initialize()

template<template< IntDim... > class DimAssembly>
void GenericAssembly< DimAssembly >::initialize ( )
inlineprivate

Common part of GenericAssemblz constructors.

Definition at line 222 of file generic_assembly.hh.

Here is the caller graph for this function:

◆ multidim_assembly()

template<template< IntDim... > class DimAssembly>
MixedPtr<DimAssembly, 1> GenericAssembly< DimAssembly >::multidim_assembly ( ) const
inline

Getter to set of assembly objects.

Definition at line 138 of file generic_assembly.hh.

◆ patch_reinit()

template<template< IntDim... > class DimAssembly>
void GenericAssembly< DimAssembly >::patch_reinit ( )
inlineprivate

Reinit PatchFeValues object during construction of patch.

Definition at line 288 of file generic_assembly.hh.

Here is the caller graph for this function:

◆ reallocate_cache()

template<template< IntDim... > class DimAssembly>
void GenericAssembly< DimAssembly >::reallocate_cache ( )
inlineprivate

Calls cache_reallocate method on.

Definition at line 298 of file generic_assembly.hh.

Here is the caller graph for this function:

◆ set_min_edge_sides()

template<template< IntDim... > class DimAssembly>
void GenericAssembly< DimAssembly >::set_min_edge_sides ( unsigned int  val)
inline

Allows rewrite number of minimal edge sides.

Definition at line 143 of file generic_assembly.hh.

Member Data Documentation

◆ multidim_assembly_

template<template< IntDim... > class DimAssembly>
MixedPtr<DimAssembly, 1> GenericAssembly< DimAssembly >::multidim_assembly_
private

Assembly object.

Definition at line 305 of file generic_assembly.hh.

◆ use_patch_fe_values_

template<template< IntDim... > class DimAssembly>
bool GenericAssembly< DimAssembly >::use_patch_fe_values_
private

Flag holds if common fe_values_ object is used in multidim_assembly_.

Definition at line 304 of file generic_assembly.hh.


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