Flow123d  JS_before_hm-2081-g08ad9c456
Classes | Public Types | 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 Types

typedef GenericAssemblyBase::BulkIntegralData BulkIntegralData
 
typedef GenericAssemblyBase::EdgeIntegralData EdgeIntegralData
 
typedef GenericAssemblyBase::CouplingIntegralData CouplingIntegralData
 
typedef GenericAssemblyBase::BoundaryIntegralData BoundaryIntegralData
 

Public Member Functions

 AssemblyBase (unsigned int quad_order)
 Constructor. More...
 
virtual ~AssemblyBase ()
 Destructor. More...
 
virtual void cell_integral (FMT_UNUSED DHCellAccessor cell, FMT_UNUSED unsigned int element_patch_idx)
 Assembles the volume integrals on cell. More...
 
virtual void boundary_side_integral (FMT_UNUSED DHCellSide cell_side)
 Assembles the fluxes on the boundary. More...
 
virtual void edge_integral (FMT_UNUSED RangeConvert< DHEdgeSide, DHCellSide > edge_side_range)
 Assembles the fluxes between sides on the edge. More...
 
virtual 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...
 
virtual void assemble_cell_integrals (const RevertableList< BulkIntegralData > &bulk_integral_data)
 Assembles the cell integrals for the given dimension. More...
 
void assemble_boundary_side_integrals (const RevertableList< BoundaryIntegralData > &boundary_integral_data)
 Assembles the boundary side integrals for the given dimension. More...
 
void assemble_edge_integrals (const RevertableList< EdgeIntegralData > &edge_integral_data)
 Assembles the edge integrals for the given dimension. More...
 
void assemble_neighbour_integrals (const RevertableList< CouplingIntegralData > &coupling_integral_data)
 Assembles the neighbours integrals for the given 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

 AssemblyBase ()
 
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.

Member Typedef Documentation

◆ BoundaryIntegralData

Definition at line 40 of file assembly_base.hh.

◆ BulkIntegralData

template<unsigned int dim>
typedef GenericAssemblyBase::BulkIntegralData AssemblyBase< dim >::BulkIntegralData

Definition at line 37 of file assembly_base.hh.

◆ CouplingIntegralData

Definition at line 39 of file assembly_base.hh.

◆ EdgeIntegralData

template<unsigned int dim>
typedef GenericAssemblyBase::EdgeIntegralData AssemblyBase< dim >::EdgeIntegralData

Definition at line 38 of file assembly_base.hh.

Constructor & Destructor Documentation

◆ AssemblyBase() [1/2]

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

Constructor.

Definition at line 43 of file assembly_base.hh.

◆ ~AssemblyBase() [1/2]

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

Destructor.

Definition at line 49 of file assembly_base.hh.

◆ AssemblyBase() [2/2]

template<unsigned int dim>
AssemblyBase< dim >::AssemblyBase ( )
inlineprotected

Default constructor.

Be aware if you use this constructor. Quadrature objects must be initialized manually in descendant.

Definition at line 179 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_boundary_side_integrals()

template<unsigned int dim>
void AssemblyBase< dim >::assemble_boundary_side_integrals ( const RevertableList< BoundaryIntegralData > &  boundary_integral_data)
inline

Assembles the boundary side integrals for the given dimension.

Definition at line 141 of file assembly_base.hh.

◆ assemble_cell_integrals()

template<unsigned int dim>
virtual void AssemblyBase< dim >::assemble_cell_integrals ( const RevertableList< BulkIntegralData > &  bulk_integral_data)
inlinevirtual

Assembles the cell integrals for the given dimension.

Reimplemented in AssemblyOutputNodeData< dim >, and AssemblyOutputElemData< dim >.

Definition at line 127 of file assembly_base.hh.

◆ assemble_edge_integrals()

template<unsigned int dim>
void AssemblyBase< dim >::assemble_edge_integrals ( const RevertableList< EdgeIntegralData > &  edge_integral_data)
inline

Assembles the edge integrals for the given dimension.

Definition at line 149 of file assembly_base.hh.

◆ assemble_neighbour_integrals()

template<unsigned int dim>
void AssemblyBase< dim >::assemble_neighbour_integrals ( const RevertableList< CouplingIntegralData > &  coupling_integral_data)
inline

Assembles the neighbours integrals for the given dimension.

Definition at line 158 of file assembly_base.hh.

◆ 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

◆ 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 121 of file assembly_base.hh.

Here is the caller graph for this function:

◆ boundary_side_integral()

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

Assembles the fluxes on the boundary.

Definition at line 58 of file assembly_base.hh.

Here is the caller graph for this function:

◆ 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 104 of file assembly_base.hh.

Here is the caller graph for this function:

◆ cell_integral()

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

Assembles the volume integrals on cell.

Definition at line 55 of file assembly_base.hh.

Here is the caller graph for this function:

◆ 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 115 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 78 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>
virtual void AssemblyBase< dim >::dimjoin_intergral ( FMT_UNUSED DHCellAccessor  cell_lower_dim,
FMT_UNUSED DHCellSide  neighb_side 
)
inlinevirtual

Assembles the fluxes between elements of different dimensions.

Definition at line 64 of file assembly_base.hh.

Here is the caller graph for this function:

◆ edge_integral()

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

Assembles the fluxes between sides on the edge.

Definition at line 61 of file assembly_base.hh.

Here is the caller graph for this function:

◆ 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 109 of file assembly_base.hh.

Here is the caller graph for this function:

◆ end()

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

◆ 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 73 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 183 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 191 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 193 of file assembly_base.hh.

◆ integrals_

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

Set of used integrals.

Definition at line 192 of file assembly_base.hh.

◆ quad_

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

Quadrature used in assembling methods.

Definition at line 189 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 190 of file assembly_base.hh.


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