Flow123d  JS_constraints-e651b99
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AssemblyBasePatch< dim > Class Template Reference

#include <assembly_base.hh>

Inherited by AssemblyObserveOutput< dim >, AssemblyOutputBase< dim, TEqData >, BdrConditionAssemblyDG< dim, TEqData >, ConcSourcesBdrAssemblyConvection< dim, TEqData >, ConstraintAssemblyElasticity< dim, TEqData >, FlowPotentialAssemblyHM< dim, TEqData >, InitCondAssemblyConvection< dim, TEqData >, InitCondPostprocessAssembly< dim, TEqData >, InitConditionAssemblyDG< dim, TEqData >, InitConditionAssemblyDp< dim, TEqData >, InitConditionAssemblySorp< dim, TEqData >, InitProjectionAssemblyDG< dim, TEqData >, L2DifferenceAssembly< dim, TEqData >, MHMatrixAssemblyLMH< dim, TEqData >, MassAssemblyConvection< dim, TEqData >, MassAssemblyDG< dim, TEqData >, MatrixMpiAssemblyConvection< dim, TEqData >, OutpuFieldsAssemblyElasticity< dim, TEqData >, OutputInternalFlowAssembly< dim, TEqData >, ReactionAssemblyDp< dim, TEqData >, ReactionAssemblySorp< dim, TEqData >, ReadInitCondAssemblyLMH< dim, TEqData >, ResidualAssemblyHM< dim, TEqData >, RhsAssemblyElasticity< dim, TEqData >, SourcesAssemblyDG< dim, TEqData >, StiffnessAssemblyDG< dim, TEqData >, and StiffnessAssemblyElasticity< dim, TEqData >.

Collaboration diagram for AssemblyBasePatch< dim >:
Collaboration graph
[legend]

Public Member Functions

 AssemblyBasePatch (unsigned int quad_order, AssemblyInternals *asm_internals)
 
virtual ~AssemblyBasePatch ()
 Destructor. More...
 
virtual void cell_integral (FMT_UNUSED DHCellAccessor cell, FMT_UNUSED unsigned int element_patch_idx)
 
virtual void boundary_side_integral (FMT_UNUSED DHCellSide cell_side)
 
virtual void edge_integral (FMT_UNUSED RangeConvert< DHEdgeSide, DHCellSide > edge_side_range)
 
virtual void dimjoin_intergral (FMT_UNUSED DHCellAccessor cell_lower_dim, FMT_UNUSED DHCellSide neighb_side)
 
virtual void begin ()
 
virtual void end ()
 
std::shared_ptr< BulkIntegralAcc< dim > > create_bulk_integral (Quadrature *quad)
 
std::shared_ptr< EdgeIntegralAcc< dim > > create_edge_integral (Quadrature *quad)
 
std::shared_ptr< CouplingIntegralAcc< dim > > create_coupling_integral (Quadrature *quad)
 
std::shared_ptr< BoundaryIntegralAcc< dim > > create_boundary_integral (Quadrature *quad)
 
bool add_integrals_of_computing_step (DHCellAccessor cell)
 
virtual void assemble_cell_integrals ()
 
void assemble_boundary_side_integrals ()
 
void assemble_edge_integrals ()
 
void assemble_neighbour_integrals ()
 
void set_min_edge_sides (unsigned int val)
 Setter of min_edge_sides_. More...
 
void clean_integral_data ()
 
const DimIntegrals< dim > & integrals () const
 Getter of integrals_. More...
 
unsigned int n_dofs ()
 Return number of DOFs. More...
 
unsigned int n_dofs_high ()
 Return number of DOFs of higher dim element. More...
 

Protected Member Functions

 AssemblyBasePatch ()
 
void add_volume_integrals (const DHCellAccessor &cell)
 
void add_edge_integrals (const DHCellSide &cell_side)
 
void add_boundary_integrals (const DHCellSide &bdr_side)
 
void add_coupling_integrals (const DHCellAccessor &cell)
 
template<template< unsigned int > class IntegralAcc>
void add_side_points (std::shared_ptr< IntegralAcc< dim > > &integral, DHCellSide cell_side, PatchPointValues< 3 > &ppv)
 

Protected Attributes

Quadraturequad_
 Quadrature used in assembling methods. More...
 
Quadraturequad_low_
 Quadrature used in assembling methods (dim-1). More...
 
DimIntegrals< dim > integrals_
 Set of used integrals. More...
 
AssemblyInternalsasm_internals_
 Holds shared internals data with GeneriAssembly. More...
 
unsigned int min_edge_sides_
 

Detailed Description

template<unsigned int dim>
class AssemblyBasePatch< dim >

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

Definition at line 34 of file assembly_base.hh.

Constructor & Destructor Documentation

◆ AssemblyBasePatch() [1/2]

template<unsigned int dim>
AssemblyBasePatch< dim >::AssemblyBasePatch ( unsigned int  quad_order,
AssemblyInternals asm_internals 
)
inline

Constructor

Parameters
quad_orderOrder of Quadrature objects.
asm_internalsHolds shared data with GenericAssembly

Definition at line 43 of file assembly_base.hh.

◆ ~AssemblyBasePatch()

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

Destructor.

Definition at line 51 of file assembly_base.hh.

◆ AssemblyBasePatch() [2/2]

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

Default constructor.

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

Definition at line 286 of file assembly_base.hh.

Member Function Documentation

◆ add_boundary_integrals()

template<unsigned int dim>
void AssemblyBasePatch< dim >::add_boundary_integrals ( const DHCellSide bdr_side)
inlineprotected

Add data of boundary integrals to appropriate data structure.

Method is used internally in AssemblyBase

Definition at line 332 of file assembly_base.hh.

Here is the caller graph for this function:

◆ add_coupling_integrals()

template<unsigned int dim>
void AssemblyBasePatch< dim >::add_coupling_integrals ( const DHCellAccessor cell)
inlineprotected

Add data of coupling integrals to appropriate data structure.

Method is used internally in AssemblyBase

Definition at line 357 of file assembly_base.hh.

Here is the caller graph for this function:

◆ add_edge_integrals()

template<unsigned int dim>
void AssemblyBasePatch< dim >::add_edge_integrals ( const DHCellSide cell_side)
inlineprotected

Add data of edge integrals to appropriate data structure.

Method is used internally in AssemblyBase

Definition at line 314 of file assembly_base.hh.

Here is the caller graph for this function:

◆ add_integrals_of_computing_step()

template<unsigned int dim>
bool AssemblyBasePatch< dim >::add_integrals_of_computing_step ( DHCellAccessor  cell)
inline

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

Return true if patch is full to its maximal capacity. Method is called from GenericAssembly::assembly method.

Definition at line 169 of file assembly_base.hh.

◆ add_side_points()

template<unsigned int dim>
template<template< unsigned int > class IntegralAcc>
void AssemblyBasePatch< dim >::add_side_points ( std::shared_ptr< IntegralAcc< dim > > &  integral,
DHCellSide  cell_side,
PatchPointValues< 3 > &  ppv 
)
inlineprotected

Common part of add_edge integrals and add_coupling_integrals methods

Method is used internally in AssemblyBase

Definition at line 393 of file assembly_base.hh.

Here is the caller graph for this function:

◆ add_volume_integrals()

template<unsigned int dim>
void AssemblyBasePatch< dim >::add_volume_integrals ( const DHCellAccessor cell)
inlineprotected

Add data of volume integrals to appropriate data structure.

Method is used internally in AssemblyBase

Definition at line 294 of file assembly_base.hh.

Here is the caller graph for this function:

◆ assemble_boundary_side_integrals()

template<unsigned int dim>
void AssemblyBasePatch< dim >::assemble_boundary_side_integrals ( )
inline

Assembles the boundary side integrals for the given dimension.

Method is called from GenericAssembly::assembly method.

Definition at line 223 of file assembly_base.hh.

◆ assemble_cell_integrals()

template<unsigned int dim>
virtual void AssemblyBasePatch< dim >::assemble_cell_integrals ( )
inlinevirtual

Assembles the cell integrals for the given dimension.

Method is called from GenericAssembly::assembly method.

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

Definition at line 204 of file assembly_base.hh.

◆ assemble_edge_integrals()

template<unsigned int dim>
void AssemblyBasePatch< dim >::assemble_edge_integrals ( )
inline

Assembles the edge integrals for the given dimension.

Method is called from GenericAssembly::assembly method.

Definition at line 234 of file assembly_base.hh.

◆ assemble_neighbour_integrals()

template<unsigned int dim>
void AssemblyBasePatch< dim >::assemble_neighbour_integrals ( )
inline

Assembles the neighbours integrals for the given dimension.

Method is called from GenericAssembly::assembly method.

Definition at line 245 of file assembly_base.hh.

◆ begin()

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

◆ boundary_side_integral()

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

Assembles the fluxes on the boundary.

Method can be overridden and implemented in descendant

Reimplemented in ReconstructSchurAssemblyRichards< dim, TEqData >, and ReconstructSchurAssemblyLMH< dim, TEqData >.

Definition at line 68 of file assembly_base.hh.

Here is the caller graph for this function:

◆ cell_integral()

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

Assembles the volume integrals on cell.

Method can be overridden and implemented in descendant

Definition at line 61 of file assembly_base.hh.

Here is the caller graph for this function:

◆ clean_integral_data()

template<unsigned int dim>
void AssemblyBasePatch< dim >::clean_integral_data ( )
inline

Clean all integral data structures

Method is called from GenericAssembly::assembly method.

Definition at line 261 of file assembly_base.hh.

◆ create_boundary_integral()

template<unsigned int dim>
std::shared_ptr<BoundaryIntegralAcc<dim> > AssemblyBasePatch< dim >::create_boundary_integral ( Quadrature quad)
inline

Create and return BoundaryIntegral accessor of given quadrature.

Method is called from descendants during construction / initialization of assembly object.

Definition at line 152 of file assembly_base.hh.

◆ create_bulk_integral()

template<unsigned int dim>
std::shared_ptr<BulkIntegralAcc<dim> > AssemblyBasePatch< dim >::create_bulk_integral ( Quadrature quad)
inline

Create and return BulkIntegral accessor of given quadrature.

Method is called from descendants during construction / initialization of assembly object.

Definition at line 103 of file assembly_base.hh.

Here is the caller graph for this function:

◆ create_coupling_integral()

template<unsigned int dim>
std::shared_ptr<CouplingIntegralAcc<dim> > AssemblyBasePatch< dim >::create_coupling_integral ( Quadrature quad)
inline

Create and return CouplingIntegral accessor of given quadrature.

Method is called from descendants during construction / initialization of assembly object.

Definition at line 134 of file assembly_base.hh.

◆ create_edge_integral()

template<unsigned int dim>
std::shared_ptr<EdgeIntegralAcc<dim> > AssemblyBasePatch< dim >::create_edge_integral ( Quadrature quad)
inline

Create and return EdgeIntegral accessor of given quadrature.

Method is called from descendants during construction / initialization of assembly object.

Definition at line 118 of file assembly_base.hh.

◆ dimjoin_intergral()

template<unsigned int dim>
virtual void AssemblyBasePatch< dim >::dimjoin_intergral ( FMT_UNUSED DHCellAccessor  cell_lower_dim,
FMT_UNUSED DHCellSide  neighb_side 
)
inlinevirtual

Assembles the fluxes between elements of different dimensions.

Method can be overridden and implemented in descendant

Reimplemented in ReconstructSchurAssemblyRichards< dim, TEqData >, and ReconstructSchurAssemblyLMH< dim, TEqData >.

Definition at line 82 of file assembly_base.hh.

Here is the caller graph for this function:

◆ edge_integral()

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

Assembles the fluxes between sides on the edge.

Method can be overwrite and implement in descendant

Definition at line 75 of file assembly_base.hh.

Here is the caller graph for this function:

◆ end()

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

◆ integrals()

template<unsigned int dim>
const DimIntegrals<dim>& AssemblyBasePatch< dim >::integrals ( ) const
inline

Getter of integrals_.

Definition at line 266 of file assembly_base.hh.

Here is the caller graph for this function:

◆ n_dofs()

template<unsigned int dim>
unsigned int AssemblyBasePatch< dim >::n_dofs ( )
inline

Return number of DOFs.

Definition at line 271 of file assembly_base.hh.

Here is the caller graph for this function:

◆ n_dofs_high()

template<unsigned int dim>
unsigned int AssemblyBasePatch< dim >::n_dofs_high ( )
inline

Return number of DOFs of higher dim element.

Definition at line 276 of file assembly_base.hh.

Here is the caller graph for this function:

◆ set_min_edge_sides()

template<unsigned int dim>
void AssemblyBasePatch< dim >::set_min_edge_sides ( unsigned int  val)
inline

Setter of min_edge_sides_.

Definition at line 252 of file assembly_base.hh.

Member Data Documentation

◆ asm_internals_

template<unsigned int dim>
AssemblyInternals* AssemblyBasePatch< dim >::asm_internals_
protected

Holds shared internals data with GeneriAssembly.

Definition at line 404 of file assembly_base.hh.

◆ integrals_

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

Set of used integrals.

Definition at line 403 of file assembly_base.hh.

◆ min_edge_sides_

template<unsigned int dim>
unsigned int AssemblyBasePatch< dim >::min_edge_sides_
protected

Minimal number of sides on edge.

Edge integral is created and calculated if number of sides is greater or equal than this value. Default value is 2 and can be changed

Definition at line 412 of file assembly_base.hh.

◆ quad_

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

Quadrature used in assembling methods.

Definition at line 401 of file assembly_base.hh.

◆ quad_low_

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

Quadrature used in assembling methods (dim-1).

Definition at line 402 of file assembly_base.hh.


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