Flow123d  JS_before_hm-1804-gf2ad740aa
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AssemblyRichards< dim > Class Template Reference

#include <assembly_richards.hh>

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

Public Types

typedef std::shared_ptr< RichardsLMH::EqDataAssemblyDataPtrRichards
 
- Public Types inherited from AssemblyLMH< dim >
typedef std::shared_ptr< DarcyLMH::EqDataAssemblyDataPtrLMH
 

Public Member Functions

 AssemblyRichards (AssemblyDataPtrRichards data)
 
- Public Member Functions inherited from AssemblyLMH< dim >
 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
 
- 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 reset_soil_model (const DHCellAccessor &dh_cell)
 
double compute_conductivity (ElementAccessor< 3 > ele)
 
void update_water_content (const DHCellAccessor &dh_cell)
 Updates water content in Richards. More...
 
void assemble_sides (const DHCellAccessor &dh_cell) override
 
void assemble_source_term (const DHCellAccessor &dh_cell) override
 
void update_dofs (const DHCellAccessor &dh_cell)
 
void postprocess_velocity_specific (const DHCellAccessor &dh_cell, arma::vec &solution, double edge_scale, double edge_source_term) override
 
- Protected Member Functions inherited from AssemblyLMH< dim >
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)
 
void assemble_sides_scale (const DHCellAccessor &dh_cell, double scale)
 
void assemble_element (FMT_UNUSED const DHCellAccessor &dh_cell)
 
void assembly_dim_connections (const DHCellAccessor &dh_cell)
 
void postprocess_velocity (const DHCellAccessor &dh_cell, arma::vec &solution)
 
- Protected Member Functions inherited from AssemblyBase< dim >
std::string print_update_flags (UpdateFlags u) const
 Print update flags to string format. More...
 

Protected Attributes

AssemblyDataPtrRichards ad_
 
bool genuchten_on
 
double cross_section
 
LocDofVec cr_disc_dofs
 Dofs of discontinuous fields on element edges. More...
 
LocDofVec edge_indices_
 Dofs of discontinuous fields on element edges. More...
 
- Protected Attributes inherited from AssemblyLMH< dim >
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)
 
- Static Protected Member Functions inherited from AssemblyLMH< dim >
static unsigned int size ()
 

Detailed Description

template<int dim>
class AssemblyRichards< dim >

Prove of concept for general assembly scheme. Ideas:

TODO:

Definition at line 48 of file assembly_richards.hh.

Member Typedef Documentation

◆ AssemblyDataPtrRichards

template<int dim>
typedef std::shared_ptr<RichardsLMH::EqData> AssemblyRichards< dim >::AssemblyDataPtrRichards

Definition at line 51 of file assembly_richards.hh.

Constructor & Destructor Documentation

◆ AssemblyRichards()

template<int dim>
AssemblyRichards< dim >::AssemblyRichards ( AssemblyDataPtrRichards  data)
inline

Definition at line 53 of file assembly_richards.hh.

Member Function Documentation

◆ assemble_sides()

template<int dim>
void AssemblyRichards< dim >::assemble_sides ( const DHCellAccessor dh_cell)
inlineoverrideprotectedvirtual

Reimplemented from AssemblyLMH< dim >.

Definition at line 124 of file assembly_richards.hh.

◆ assemble_source_term()

template<int dim>
void AssemblyRichards< dim >::assemble_source_term ( const DHCellAccessor dh_cell)
inlineoverrideprotectedvirtual

Reimplemented from AssemblyLMH< dim >.

Definition at line 139 of file assembly_richards.hh.

◆ compute_conductivity()

template<int dim>
double AssemblyRichards< dim >::compute_conductivity ( ElementAccessor< 3 >  ele)
inlineprotected

Definition at line 78 of file assembly_richards.hh.

Here is the caller graph for this function:

◆ postprocess_velocity_specific()

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

Reimplemented from AssemblyLMH< dim >.

Definition at line 203 of file assembly_richards.hh.

◆ reset_soil_model()

template<int dim>
void AssemblyRichards< dim >::reset_soil_model ( const DHCellAccessor dh_cell)
inlineprotected

Definition at line 62 of file assembly_richards.hh.

Here is the caller graph for this function:

◆ update_dofs()

template<int dim>
void AssemblyRichards< dim >::update_dofs ( const DHCellAccessor dh_cell)
inlineprotected

Updates DoFs for edge pressure vector (dh CR) and for water content vector (dh CR_disc) Be sure to call it before update_water_content().

Definition at line 197 of file assembly_richards.hh.

Here is the caller graph for this function:

◆ update_water_content()

template<int dim>
void AssemblyRichards< dim >::update_water_content ( const DHCellAccessor dh_cell)
inlineprotectedvirtual

Updates water content in Richards.

Reimplemented from AssemblyLMH< dim >.

Definition at line 95 of file assembly_richards.hh.

Here is the caller graph for this function:

Member Data Documentation

◆ ad_

template<int dim>
AssemblyDataPtrRichards AssemblyRichards< dim >::ad_
protected

Definition at line 225 of file assembly_richards.hh.

◆ cr_disc_dofs

template<int dim>
LocDofVec AssemblyRichards< dim >::cr_disc_dofs
protected

Dofs of discontinuous fields on element edges.

Definition at line 229 of file assembly_richards.hh.

◆ cross_section

template<int dim>
double AssemblyRichards< dim >::cross_section
protected

Definition at line 228 of file assembly_richards.hh.

◆ edge_indices_

template<int dim>
LocDofVec AssemblyRichards< dim >::edge_indices_
protected

Dofs of discontinuous fields on element edges.

Definition at line 230 of file assembly_richards.hh.

◆ genuchten_on

template<int dim>
bool AssemblyRichards< dim >::genuchten_on
protected

Definition at line 227 of file assembly_richards.hh.


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