Flow123d  JS_before_hm-1804-gf2ad740aa
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< EvalPointseval_points () const
 Geter to EvalPoints object. 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 ()
 
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< EvalPointseval_points_
 EvalPoints object shared by all integrals. More...
 
ElementCacheMap element_cache_map_
 ElementCacheMap according to EvalPoints. More...
 
RevertableList< BulkIntegralDatabulk_integral_data_
 Holds data for computing bulk integrals. More...
 
RevertableList< EdgeIntegralDataedge_integral_data_
 Holds data for computing edge integrals. More...
 
RevertableList< CouplingIntegralDatacoupling_integral_data_
 Holds data for computing couplings integrals. More...
 
RevertableList< BoundaryIntegralDataboundary_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: