Flow123d  JS_before_hm-1016-g09ec2cb
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
GenericAssembly< DimAssembly > Class Template Reference

Generic class of assemblation. More...

#include <assembly_dg.hh>

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

Classes

struct  BoundaryIntegralData
 
struct  BulkIntegralData
 
struct  CouplingIntegralData
 
struct  EdgeIntegralData
 

Public Member Functions

 GenericAssembly (typename DimAssembly< 1 >::EqDataDG *eq_data, int active_integrals)
 Constructor. More...
 
MixedPtr< DimAssembly, 1 > multidim_assembly () const
 
std::shared_ptr< EvalPointseval_points () const
 
void assemble (std::shared_ptr< DOFHandlerMultiDim > dh)
 General assemble methods. More...
 

Private Member Functions

void insert_eval_points_from_integral_data ()
 Mark eval points in table of Element cache map. 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 (RangeConvert< DHEdgeSide, DHCellSide > edge_side_range)
 Add data of edge integral to appropriate data structure. More...
 
void add_coupling_integral (const DHCellAccessor &cell, const DHCellSide &ngh_side)
 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...
 

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...
 
std::array< BulkIntegralData, 1 > bulk_integral_data_
 Holds data for computing bulk integrals. More...
 
std::array< EdgeIntegralData, 4 > edge_integral_data_
 Holds data for computing edge integrals. More...
 
std::array< CouplingIntegralData, 6 > coupling_integral_data_
 Holds data for computing couplings integrals. More...
 
std::array< BoundaryIntegralData, 4 > boundary_integral_data_
 Holds data for computing boundary integrals. More...
 
std::array< unsigned int, 4 > integrals_size_
 Holds used sizes of previous integral data types. More...
 

Detailed Description

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

Generic class of assemblation.

Class

Definition at line 64 of file assembly_dg.hh.

Constructor & Destructor Documentation

template<template< IntDim... > class DimAssembly>
GenericAssembly< DimAssembly >::GenericAssembly ( typename DimAssembly< 1 >::EqDataDG *  eq_data,
int  active_integrals 
)
inline

Constructor.

Definition at line 101 of file assembly_dg.hh.

Member Function Documentation

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 318 of file assembly_dg.hh.

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

Add data of coupling integral to appropriate data structure.

Definition at line 309 of file assembly_dg.hh.

template<template< IntDim... > class DimAssembly>
void GenericAssembly< DimAssembly >::add_edge_integral ( RangeConvert< DHEdgeSide, DHCellSide edge_side_range)
inlineprivate

Add data of edge integral to appropriate data structure.

Definition at line 302 of file assembly_dg.hh.

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 250 of file assembly_dg.hh.

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 295 of file assembly_dg.hh.

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

General assemble methods.

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

Definition at line 127 of file assembly_dg.hh.

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

Definition at line 117 of file assembly_dg.hh.

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

Mark eval points in table of Element cache map.

Definition at line 208 of file assembly_dg.hh.

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

Definition at line 113 of file assembly_dg.hh.

Member Data Documentation

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

Holds mask of active integrals.

Definition at line 329 of file assembly_dg.hh.

template<template< IntDim... > class DimAssembly>
std::array<BoundaryIntegralData, 4> GenericAssembly< DimAssembly >::boundary_integral_data_
private

Holds data for computing boundary integrals.

Definition at line 339 of file assembly_dg.hh.

template<template< IntDim... > class DimAssembly>
std::array<BulkIntegralData, 1> GenericAssembly< DimAssembly >::bulk_integral_data_
private

Holds data for computing bulk integrals.

Definition at line 336 of file assembly_dg.hh.

template<template< IntDim... > class DimAssembly>
std::array<CouplingIntegralData, 6> GenericAssembly< DimAssembly >::coupling_integral_data_
private

Holds data for computing couplings integrals.

Definition at line 338 of file assembly_dg.hh.

template<template< IntDim... > class DimAssembly>
std::array<EdgeIntegralData, 4> GenericAssembly< DimAssembly >::edge_integral_data_
private

Holds data for computing edge integrals.

Definition at line 337 of file assembly_dg.hh.

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

ElementCacheMap according to EvalPoints.

Definition at line 333 of file assembly_dg.hh.

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

EvalPoints object shared by all integrals.

Definition at line 332 of file assembly_dg.hh.

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

Holds integral objects.

Definition at line 331 of file assembly_dg.hh.

template<template< IntDim... > class DimAssembly>
std::array<unsigned int, 4> GenericAssembly< DimAssembly >::integrals_size_
private

Holds used sizes of previous integral data types.

Definition at line 340 of file assembly_dg.hh.

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

Assembly object.

Definition at line 326 of file assembly_dg.hh.


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