Flow123d  JS_before_hm-1754-g1847fd3ed
Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
AssemblyLMH< dim > Class Template Reference

#include <assembly_lmh.hh>

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

Public Types

typedef std::shared_ptr< DarcyLMH::EqDataAssemblyDataPtrLMH
 

Public Member Functions

 AssemblyLMH (AssemblyDataPtrLMH data)
 
 ~AssemblyLMH () override
 
void fix_velocity (const DHCellAccessor &) override
 
void assemble_reconstruct (const DHCellAccessor &dh_cell) override
 
void assemble (const DHCellAccessor &dh_cell) override
 
void update_water_content (const DHCellAccessor &) override
 Updates water content in Richards. More...
 
- Public Member Functions inherited from AssemblyBase< dim >
 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 ~AssemblyBase ()
 

Protected Member Functions

void assemble_local_system (const DHCellAccessor &dh_cell, bool use_dirichlet_switch)
 
void load_local_system (const DHCellAccessor &dh_cell)
 
void save_local_system (const DHCellAccessor &dh_cell)
 
void set_dofs (const DHCellAccessor &dh_cell)
 
void assemble_bc (const DHCellAccessor &dh_cell, bool use_dirichlet_switch)
 
void assemble_side_bc (const DHCellSide &side, double cross_section, bool use_dirichlet_switch)
 
virtual void assemble_sides (const DHCellAccessor &dh_cell)
 
void assemble_sides_scale (const DHCellAccessor &dh_cell, double scale)
 
void assemble_element (FMT_UNUSED const DHCellAccessor &dh_cell)
 
virtual void assemble_source_term (const DHCellAccessor &dh_cell)
 
void assembly_dim_connections (const DHCellAccessor &dh_cell)
 
void postprocess_velocity (const DHCellAccessor &dh_cell, arma::vec &solution)
 
virtual void postprocess_velocity_specific (const DHCellAccessor &dh_cell, arma::vec &solution, double edge_scale, double edge_source_term)
 
- Protected Member Functions inherited from AssemblyBase< dim >
std::string print_update_flags (UpdateFlags u) const
 Print update flags to string format. More...
 

Static Protected Member Functions

static unsigned int size ()
 

Protected Attributes

FE_RT0< dim > fe_rt_
 
QGauss quad_
 
FEValues< 3 > fe_values_
 
- Protected Attributes inherited from AssemblyBase< dim >
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...
 

Additional Inherited Members

- Static Public Member Functions inherited from AssemblyBase< dim >
template<template< int dim > class Impl, class Data >
static MultidimAssembly create (Data data)
 

Detailed Description

template<int dim>
class AssemblyLMH< dim >

Copy of the assembly class for MH implementation, with Lumping and further improvements. Used also for Richards.

Definition at line 39 of file assembly_lmh.hh.

Member Typedef Documentation

◆ AssemblyDataPtrLMH

template<int dim>
typedef std::shared_ptr<DarcyLMH::EqData> AssemblyLMH< dim >::AssemblyDataPtrLMH

Definition at line 42 of file assembly_lmh.hh.

Constructor & Destructor Documentation

◆ AssemblyLMH()

template<int dim>
AssemblyLMH< dim >::AssemblyLMH ( AssemblyDataPtrLMH  data)
inline

Definition at line 44 of file assembly_lmh.hh.

◆ ~AssemblyLMH()

template<int dim>
AssemblyLMH< dim >::~AssemblyLMH ( )
inlineoverride

Definition at line 76 of file assembly_lmh.hh.

Member Function Documentation

◆ assemble()

template<int dim>
void AssemblyLMH< dim >::assemble ( const DHCellAccessor dh_cell)
inlineoverridevirtual

Implements AssemblyBase< dim >.

Definition at line 108 of file assembly_lmh.hh.

◆ assemble_bc()

template<int dim>
void AssemblyLMH< dim >::assemble_bc ( const DHCellAccessor dh_cell,
bool  use_dirichlet_switch 
)
inlineprotected

Definition at line 232 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ assemble_element()

template<int dim>
void AssemblyLMH< dim >::assemble_element ( FMT_UNUSED const DHCellAccessor dh_cell)
inlineprotected

Definition at line 433 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ assemble_local_system()

template<int dim>
void AssemblyLMH< dim >::assemble_local_system ( const DHCellAccessor dh_cell,
bool  use_dirichlet_switch 
)
inlineprotected

Definition at line 138 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ assemble_reconstruct()

template<int dim>
void AssemblyLMH< dim >::assemble_reconstruct ( const DHCellAccessor dh_cell)
inlineoverridevirtual

Implements AssemblyBase< dim >.

Definition at line 85 of file assembly_lmh.hh.

◆ assemble_side_bc()

template<int dim>
void AssemblyLMH< dim >::assemble_side_bc ( const DHCellSide side,
double  cross_section,
bool  use_dirichlet_switch 
)
inlineprotected

Definition at line 257 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ assemble_sides()

template<int dim>
virtual void AssemblyLMH< dim >::assemble_sides ( const DHCellAccessor dh_cell)
inlineprotectedvirtual

Reimplemented in AssemblyRichards< dim >.

Definition at line 371 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ assemble_sides_scale()

template<int dim>
void AssemblyLMH< dim >::assemble_sides_scale ( const DHCellAccessor dh_cell,
double  scale 
)
inlineprotected

Definition at line 381 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ assemble_source_term()

template<int dim>
virtual void AssemblyLMH< dim >::assemble_source_term ( const DHCellAccessor dh_cell)
inlineprotectedvirtual

Reimplemented in AssemblyRichards< dim >.

Definition at line 448 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ assembly_dim_connections()

template<int dim>
void AssemblyLMH< dim >::assembly_dim_connections ( const DHCellAccessor dh_cell)
inlineprotected

Definition at line 492 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ fix_velocity()

template<int dim>
void AssemblyLMH< dim >::fix_velocity ( const DHCellAccessor )
inlineoverridevirtual

Implements AssemblyBase< dim >.

Definition at line 79 of file assembly_lmh.hh.

◆ load_local_system()

template<int dim>
void AssemblyLMH< dim >::load_local_system ( const DHCellAccessor dh_cell)
inlineprotected

Loads the local system from a map: element index -> LocalSystem, if it exits, or if the full solution is not yet reconstructed, and reconstructs the full solution on the element. Currently used only for seepage BC.

Definition at line 154 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ postprocess_velocity()

template<int dim>
void AssemblyLMH< dim >::postprocess_velocity ( const DHCellAccessor dh_cell,
arma::vec &  solution 
)
inlineprotected

Definition at line 536 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ postprocess_velocity_specific()

template<int dim>
virtual void AssemblyLMH< dim >::postprocess_velocity_specific ( const DHCellAccessor dh_cell,
arma::vec &  solution,
double  edge_scale,
double  edge_source_term 
)
inlineprotectedvirtual

Reimplemented in AssemblyRichards< dim >.

Definition at line 551 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ save_local_system()

template<int dim>
void AssemblyLMH< dim >::save_local_system ( const DHCellAccessor dh_cell)
inlineprotected

Saves the local system to a map: element index -> LocalSystem. Currently used only for seepage BC.

Definition at line 177 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ set_dofs()

template<int dim>
void AssemblyLMH< dim >::set_dofs ( const DHCellAccessor dh_cell)
inlineprotected

Definition at line 185 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ size()

template<int dim>
static unsigned int AssemblyLMH< dim >::size ( )
inlinestaticprotected

Definition at line 132 of file assembly_lmh.hh.

Here is the caller graph for this function:

◆ update_water_content()

template<int dim>
void AssemblyLMH< dim >::update_water_content ( const DHCellAccessor dh_cell)
inlineoverridevirtual

Updates water content in Richards.

Implements AssemblyBase< dim >.

Reimplemented in AssemblyRichards< dim >.

Definition at line 128 of file assembly_lmh.hh.

Member Data Documentation

◆ fe_rt_

template<int dim>
FE_RT0<dim> AssemblyLMH< dim >::fe_rt_
protected

Definition at line 573 of file assembly_lmh.hh.

◆ fe_values_

template<int dim>
FEValues<3> AssemblyLMH< dim >::fe_values_
protected

Definition at line 575 of file assembly_lmh.hh.

◆ quad_

template<int dim>
QGauss AssemblyLMH< dim >::quad_
protected

Definition at line 574 of file assembly_lmh.hh.


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