Flow123d  JS_before_hm-1804-gf2ad740aa
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AssemblyBase< dim > Class Template Referenceabstract

#include <assembly_base.hh>

Inheritance diagram for AssemblyBase< dim >:
Inheritance graph
[legend]
Collaboration diagram for AssemblyBase< dim >:
Collaboration graph
[legend]

Classes

struct  DimIntegrals
 Set of integral of given dimension necessary in assemblation. More...
 

Public Member Functions

 AssemblyBase (unsigned int quad_order)
 Constructor. More...
 
virtual ~AssemblyBase ()
 
void cell_integral (FMT_UNUSED DHCellAccessor cell, FMT_UNUSED unsigned int element_patch_idx)
 Assembles the volume integrals on cell. More...
 
void boundary_side_integral (FMT_UNUSED DHCellSide cell_side)
 Assembles the fluxes on the boundary. More...
 
void edge_integral (FMT_UNUSED RangeConvert< DHEdgeSide, DHCellSide > edge_side_range)
 Assembles the fluxes between sides on the edge. More...
 
void dimjoin_intergral (FMT_UNUSED DHCellAccessor cell_lower_dim, FMT_UNUSED DHCellSide neighb_side)
 Assembles the fluxes between elements of different dimensions. More...
 
virtual void begin ()
 Method prepares object before assemblation (e.g. balance, ...). More...
 
virtual void end ()
 Method finishes object after assemblation (e.g. balance, ...). More...
 
int n_active_integrals () const
 Getter of active_integrals. More...
 
void create_integrals (std::shared_ptr< EvalPoints > eval_points, AssemblyIntegrals &integrals)
 Create integrals according to dim of assembly object. More...
 
Range< BulkPointbulk_points (unsigned int element_patch_idx) const
 Return BulkPoint range of appropriate dimension. More...
 
Range< EdgePointedge_points (const DHCellSide &cell_side) const
 Return EdgePoint range of appropriate dimension. More...
 
Range< CouplingPointcoupling_points (const DHCellSide &cell_side) const
 Return CouplingPoint range of appropriate dimension. More...
 
Range< BoundaryPointboundary_points (const DHCellSide &cell_side) const
 Return BoundaryPoint range of appropriate dimension. More...
 
 DECLARE_EXCEPTION (ExcBCNotSupported,<< "BC type not supported.\n")
 
virtual void fix_velocity (const DHCellAccessor &dh_cell)=0
 
virtual void assemble (const DHCellAccessor &dh_cell)=0
 
virtual void assemble_reconstruct (const DHCellAccessor &dh_cell)=0
 
virtual void update_water_content (const DHCellAccessor &dh_cell)=0
 Updates water content in Richards. More...
 
virtual ~AssemblyBase ()
 

Static Public Member Functions

template<template< int dim > class Impl, class Data >
static MultidimAssembly create (Data data)
 

Protected Member Functions

std::string print_update_flags (UpdateFlags u) const
 Print update flags to string format. More...
 

Protected Attributes

Quadraturequad_
 Quadrature used in assembling methods. More...
 
Quadraturequad_low_
 Quadrature used in assembling methods (dim-1). More...
 
int active_integrals_
 Holds mask of active integrals. More...
 
DimIntegrals integrals_
 Set of used integrals. More...
 
ElementCacheMapelement_cache_map_
 ElementCacheMap shared with GenericAssembly object. More...
 

Detailed Description

template<unsigned int dim>
class AssemblyBase< dim >

Base class define empty methods, these methods can be overwite in descendants.

Common abstract class for the assembly routines in Darcy flow. Is implemented in DarcyMH, DarcyLMH and RichardsLMH assembly classes, which are independent of each other.

Definition at line 34 of file assembly_base.hh.

Constructor & Destructor Documentation

◆ AssemblyBase()

template<unsigned int dim>
AssemblyBase< dim >::AssemblyBase ( unsigned int  quad_order)
inline

Constructor.

Definition at line 38 of file assembly_base.hh.

◆ ~AssemblyBase() [1/2]

template<unsigned int dim>
virtual AssemblyBase< dim >::~AssemblyBase ( )
inlinevirtual

Definition at line 44 of file assembly_base.hh.

◆ ~AssemblyBase() [2/2]

template<unsigned int dim>
virtual AssemblyBase< dim >::~AssemblyBase ( )
inlinevirtual

Definition at line 60 of file assembly_mh.hh.

Member Function Documentation

◆ assemble()

template<unsigned int dim>
virtual void AssemblyBase< dim >::assemble ( const DHCellAccessor dh_cell)
pure virtual

Implemented in AssemblyMH< dim >, and AssemblyLMH< dim >.

◆ assemble_reconstruct()

template<unsigned int dim>
virtual void AssemblyBase< dim >::assemble_reconstruct ( const DHCellAccessor dh_cell)
pure virtual

Implemented in AssemblyLMH< dim >, and AssemblyMH< dim >.

◆ begin()

template<unsigned int dim>
virtual void AssemblyBase< dim >::begin ( )
inlinevirtual

Method prepares object before assemblation (e.g. balance, ...).

Reimplemented in BdrConditionAssemblyDG< dim, Model >, SourcesAssemblyDG< dim, Model >, and MassAssemblyDG< dim, Model >.

Definition at line 62 of file assembly_base.hh.

◆ boundary_points()

template<unsigned int dim>
Range< BoundaryPoint > AssemblyBase< dim >::boundary_points ( const DHCellSide cell_side) const
inline

Return BoundaryPoint range of appropriate dimension.

Definition at line 110 of file assembly_base.hh.

Here is the caller graph for this function:

◆ boundary_side_integral()

template<unsigned int dim>
void AssemblyBase< dim >::boundary_side_integral ( FMT_UNUSED DHCellSide  cell_side)
inline

Assembles the fluxes on the boundary.

Definition at line 53 of file assembly_base.hh.

◆ bulk_points()

template<unsigned int dim>
Range< BulkPoint > AssemblyBase< dim >::bulk_points ( unsigned int  element_patch_idx) const
inline

Return BulkPoint range of appropriate dimension.

Definition at line 93 of file assembly_base.hh.

Here is the caller graph for this function:

◆ cell_integral()

template<unsigned int dim>
void AssemblyBase< dim >::cell_integral ( FMT_UNUSED DHCellAccessor  cell,
FMT_UNUSED unsigned int  element_patch_idx 
)
inline

Assembles the volume integrals on cell.

Definition at line 50 of file assembly_base.hh.

◆ coupling_points()

template<unsigned int dim>
Range< CouplingPoint > AssemblyBase< dim >::coupling_points ( const DHCellSide cell_side) const
inline

Return CouplingPoint range of appropriate dimension.

Definition at line 104 of file assembly_base.hh.

Here is the caller graph for this function:

◆ create()

template<unsigned int dim>
template<template< int dim > class Impl, class Data >
static MultidimAssembly AssemblyBase< dim >::create ( Data  data)
inlinestatic

Generic creator of multidimensional assembly, i.e. vector of particular assembly objects.

Definition at line 54 of file assembly_mh.hh.

◆ create_integrals()

template<unsigned int dim>
void AssemblyBase< dim >::create_integrals ( std::shared_ptr< EvalPoints eval_points,
AssemblyIntegrals integrals 
)
inline

Create integrals according to dim of assembly object.

Definition at line 73 of file assembly_base.hh.

◆ DECLARE_EXCEPTION()

template<unsigned int dim>
AssemblyBase< dim >::DECLARE_EXCEPTION ( ExcBCNotSupported  ,
<< "BC type not supported.\n"   
)

◆ dimjoin_intergral()

template<unsigned int dim>
void AssemblyBase< dim >::dimjoin_intergral ( FMT_UNUSED DHCellAccessor  cell_lower_dim,
FMT_UNUSED DHCellSide  neighb_side 
)
inline

Assembles the fluxes between elements of different dimensions.

Definition at line 59 of file assembly_base.hh.

◆ edge_integral()

template<unsigned int dim>
void AssemblyBase< dim >::edge_integral ( FMT_UNUSED RangeConvert< DHEdgeSide, DHCellSide edge_side_range)
inline

Assembles the fluxes between sides on the edge.

Definition at line 56 of file assembly_base.hh.

◆ edge_points()

template<unsigned int dim>
Range< EdgePoint > AssemblyBase< dim >::edge_points ( const DHCellSide cell_side) const
inline

Return EdgePoint range of appropriate dimension.

Definition at line 98 of file assembly_base.hh.

Here is the caller graph for this function:

◆ end()

template<unsigned int dim>
virtual void AssemblyBase< dim >::end ( )
inlinevirtual

Method finishes object after assemblation (e.g. balance, ...).

Reimplemented in BdrConditionAssemblyDG< dim, Model >, SourcesAssemblyDG< dim, Model >, and MassAssemblyDG< dim, Model >.

Definition at line 65 of file assembly_base.hh.

◆ fix_velocity()

template<unsigned int dim>
virtual void AssemblyBase< dim >::fix_velocity ( const DHCellAccessor dh_cell)
pure virtual

Implemented in AssemblyMH< dim >, and AssemblyLMH< dim >.

◆ n_active_integrals()

template<unsigned int dim>
int AssemblyBase< dim >::n_active_integrals ( ) const
inline

Getter of active_integrals.

Definition at line 68 of file assembly_base.hh.

◆ print_update_flags()

template<unsigned int dim>
std::string AssemblyBase< dim >::print_update_flags ( UpdateFlags  u) const
inlineprotected

Print update flags to string format.

Definition at line 125 of file assembly_base.hh.

Here is the caller graph for this function:

◆ update_water_content()

template<unsigned int dim>
virtual void AssemblyBase< dim >::update_water_content ( const DHCellAccessor dh_cell)
pure virtual

Updates water content in Richards.

Implemented in AssemblyRichards< dim >, AssemblyMH< dim >, and AssemblyLMH< dim >.

Member Data Documentation

◆ active_integrals_

template<unsigned int dim>
int AssemblyBase< dim >::active_integrals_
protected

Holds mask of active integrals.

Definition at line 133 of file assembly_base.hh.

◆ element_cache_map_

template<unsigned int dim>
ElementCacheMap* AssemblyBase< dim >::element_cache_map_
protected

ElementCacheMap shared with GenericAssembly object.

Definition at line 135 of file assembly_base.hh.

◆ integrals_

template<unsigned int dim>
DimIntegrals AssemblyBase< dim >::integrals_
protected

Set of used integrals.

Definition at line 134 of file assembly_base.hh.

◆ quad_

template<unsigned int dim>
Quadrature* AssemblyBase< dim >::quad_
protected

Quadrature used in assembling methods.

Definition at line 131 of file assembly_base.hh.

◆ quad_low_

template<unsigned int dim>
Quadrature* AssemblyBase< dim >::quad_low_
protected

Quadrature used in assembling methods (dim-1).

Definition at line 132 of file assembly_base.hh.


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