Flow123d  JS_before_hm-1829-g302b31a68
Classes | 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]

Classes

struct  BoundaryIntegralData
 
struct  BulkIntegralData
 
struct  CouplingIntegralData
 
struct  EdgeIntegralData
 

Public Member Functions

 GenericAssembly (typename DimAssembly< 1 >::EqFields *eq_fields, typename DimAssembly< 1 >::EqData *eq_data)
 Constructor. More...
 
MixedPtr< DimAssembly, 1 > multidim_assembly () const
 Getter to set of assembly objects. More...
 
std::shared_ptr< EvalPoints > eval_points () const
 Geter to EvalPoints object. More...
 
void assemble (std::shared_ptr< DOFHandlerMultiDim > dh) override
 General assemble methods. More...
 
const ElementCacheMap & cache_map () const
 Return ElementCacheMap. More...
 
- Public Member Functions inherited from GenericAssemblyBase
 GenericAssemblyBase ()
 
virtual ~GenericAssemblyBase ()
 

Private Member Functions

template<unsigned int dim>
void assemble_cell_integrals ()
 Assembles the cell integrals for the given dimension. More...
 
template<unsigned int dim>
void assemble_boundary_side_integrals ()
 Assembles the boundary side integrals for the given dimension. More...
 
template<unsigned int dim>
void assemble_edge_integrals ()
 Assembles the edge integrals for the given dimension. More...
 
template<unsigned int dim>
void assemble_neighbour_integrals ()
 Assembles the neighbours integrals for the given dimension. More...
 
void assemble_integrals ()
 Call assemblations when patch is filled. More...
 
void add_integrals_of_computing_step (DHCellAccessor cell)
 
void add_volume_integral (const DHCellAccessor &cell)
 Add data of volume integral to appropriate data structure. More...
 
void add_edge_integral (const DHCellSide &cell_side)
 Add data of edge integral to appropriate data structure. More...
 
void add_coupling_integral (const DHCellAccessor &cell, const DHCellSide &ngh_side, bool add_low)
 Add data of coupling integral to appropriate data structure. More...
 
void add_boundary_integral (const DHCellSide &bdr_side)
 Add data of boundary integral to appropriate data structure. More...
 
void reallocate_cache ()
 Calls cache_reallocate method on. More...
 

Private Attributes

MixedPtr< DimAssembly, 1 > multidim_assembly_
 Assembly object. More...
 
int active_integrals_
 Holds mask of active integrals. More...
 
AssemblyIntegrals integrals_
 Holds integral objects. More...
 
std::shared_ptr< EvalPoints > eval_points_
 EvalPoints object shared by all integrals. More...
 
ElementCacheMap element_cache_map_
 ElementCacheMap according to EvalPoints. More...
 
RevertableList< BulkIntegralData > bulk_integral_data_
 Holds data for computing bulk integrals. More...
 
RevertableList< EdgeIntegralData > edge_integral_data_
 Holds data for computing edge integrals. More...
 
RevertableList< CouplingIntegralData > coupling_integral_data_
 Holds data for computing couplings integrals. More...
 
RevertableList< BoundaryIntegralData > boundary_integral_data_
 Holds data for computing boundary integrals. More...
 

Detailed Description

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

Generic class of assemblation.

Class

Definition at line 70 of file generic_assembly.hh.

Constructor & Destructor Documentation

◆ GenericAssembly()

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

Constructor.

Definition at line 165 of file generic_assembly.hh.

Member Function Documentation

◆ add_boundary_integral()

template<template< IntDim... > class DimAssembly>
void GenericAssembly< DimAssembly >::add_boundary_integral ( const DHCellSide &  bdr_side)
inlineprivate

Add data of boundary integral to appropriate data structure.

Definition at line 423 of file generic_assembly.hh.

Here is the caller graph for this function:

◆ add_coupling_integral()

template<template< IntDim... > class DimAssembly>
void GenericAssembly< DimAssembly >::add_coupling_integral ( const DHCellAccessor &  cell,
const DHCellSide &  ngh_side,
bool  add_low 
)
inlineprivate

Add data of coupling integral to appropriate data structure.

Definition at line 406 of file generic_assembly.hh.

Here is the caller graph for this function:

◆ add_edge_integral()

template<template< IntDim... > class DimAssembly>
void GenericAssembly< DimAssembly >::add_edge_integral ( const DHCellSide &  cell_side)
inlineprivate

Add data of edge integral to appropriate data structure.

Definition at line 393 of file generic_assembly.hh.

Here is the caller graph for this function:

◆ add_integrals_of_computing_step()

template<template< IntDim... > class DimAssembly>
void GenericAssembly< DimAssembly >::add_integrals_of_computing_step ( DHCellAccessor  cell)
inlineprivate

Add data of integrals to appropriate structure and register elements to ElementCacheMap.

Types of used integrals must be set in data member active_integrals_.

Definition at line 349 of file generic_assembly.hh.

Here is the caller graph for this function:

◆ add_volume_integral()

template<template< IntDim... > class DimAssembly>
void GenericAssembly< DimAssembly >::add_volume_integral ( const DHCellAccessor &  cell)
inlineprivate

Add data of volume integral to appropriate data structure.

Definition at line 379 of file generic_assembly.hh.

Here is the caller graph for this function:

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

Implements GenericAssemblyBase.

Definition at line 200 of file generic_assembly.hh.

Here is the caller graph for this function:

◆ assemble_boundary_side_integrals()

template<template< IntDim... > class DimAssembly>
template<unsigned int dim>
void GenericAssembly< DimAssembly >::assemble_boundary_side_integrals ( )
inlineprivate

Assembles the boundary side integrals for the given dimension.

Definition at line 270 of file generic_assembly.hh.

◆ assemble_cell_integrals()

template<template< IntDim... > class DimAssembly>
template<unsigned int dim>
void GenericAssembly< DimAssembly >::assemble_cell_integrals ( )
inlineprivate

Assembles the cell integrals for the given dimension.

Definition at line 255 of file generic_assembly.hh.

◆ assemble_edge_integrals()

template<template< IntDim... > class DimAssembly>
template<unsigned int dim>
void GenericAssembly< DimAssembly >::assemble_edge_integrals ( )
inlineprivate

Assembles the edge integrals for the given dimension.

Definition at line 279 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 297 of file generic_assembly.hh.

Here is the caller graph for this function:

◆ assemble_neighbour_integrals()

template<template< IntDim... > class DimAssembly>
template<unsigned int dim>
void GenericAssembly< DimAssembly >::assemble_neighbour_integrals ( )
inlineprivate

Assembles the neighbours integrals for the given dimension.

Definition at line 289 of file generic_assembly.hh.

◆ cache_map()

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

Return ElementCacheMap.

Definition at line 248 of file generic_assembly.hh.

◆ eval_points()

template<template< IntDim... > class DimAssembly>
std::shared_ptr<EvalPoints> GenericAssembly< DimAssembly >::eval_points ( ) const
inline

Geter to EvalPoints object.

Definition at line 190 of file generic_assembly.hh.

◆ 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 185 of file generic_assembly.hh.

◆ reallocate_cache()

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

Calls cache_reallocate method on.

Definition at line 439 of file generic_assembly.hh.

Here is the caller graph for this function:

Member Data Documentation

◆ active_integrals_

template<template< IntDim... > class DimAssembly>
int GenericAssembly< DimAssembly >::active_integrals_
private

Holds mask of active integrals.

Definition at line 449 of file generic_assembly.hh.

◆ boundary_integral_data_

template<template< IntDim... > class DimAssembly>
RevertableList<BoundaryIntegralData> GenericAssembly< DimAssembly >::boundary_integral_data_
private

Holds data for computing boundary integrals.

Definition at line 460 of file generic_assembly.hh.

◆ bulk_integral_data_

template<template< IntDim... > class DimAssembly>
RevertableList<BulkIntegralData> GenericAssembly< DimAssembly >::bulk_integral_data_
private

Holds data for computing bulk integrals.

Definition at line 457 of file generic_assembly.hh.

◆ coupling_integral_data_

template<template< IntDim... > class DimAssembly>
RevertableList<CouplingIntegralData> GenericAssembly< DimAssembly >::coupling_integral_data_
private

Holds data for computing couplings integrals.

Definition at line 459 of file generic_assembly.hh.

◆ edge_integral_data_

template<template< IntDim... > class DimAssembly>
RevertableList<EdgeIntegralData> GenericAssembly< DimAssembly >::edge_integral_data_
private

Holds data for computing edge integrals.

Definition at line 458 of file generic_assembly.hh.

◆ element_cache_map_

template<template< IntDim... > class DimAssembly>
ElementCacheMap GenericAssembly< DimAssembly >::element_cache_map_
private

ElementCacheMap according to EvalPoints.

Definition at line 453 of file generic_assembly.hh.

◆ eval_points_

template<template< IntDim... > class DimAssembly>
std::shared_ptr<EvalPoints> GenericAssembly< DimAssembly >::eval_points_
private

EvalPoints object shared by all integrals.

Definition at line 452 of file generic_assembly.hh.

◆ integrals_

template<template< IntDim... > class DimAssembly>
AssemblyIntegrals GenericAssembly< DimAssembly >::integrals_
private

Holds integral objects.

Definition at line 451 of file generic_assembly.hh.

◆ multidim_assembly_

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

Assembly object.

Definition at line 446 of file generic_assembly.hh.


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