Flow123d
DF_asm_optimization-d5b8fcb
|
#include <assembly_richards.hh>
Public Types | |
typedef RichardsLMH::EqFields | EqFields |
typedef RichardsLMH::EqData | EqData |
Public Types inherited from MHMatrixAssemblyLMH< dim > | |
typedef DarcyLMH::EqFields | EqFields |
typedef DarcyLMH::EqData | EqData |
Public Types inherited from AssemblyBase< dim > | |
typedef GenericAssemblyBase::BulkIntegralData | BulkIntegralData |
typedef GenericAssemblyBase::EdgeIntegralData | EdgeIntegralData |
typedef GenericAssemblyBase::CouplingIntegralData | CouplingIntegralData |
typedef GenericAssemblyBase::BoundaryIntegralData | BoundaryIntegralData |
Public Member Functions | |
MHMatrixAssemblyRichards (EqFields *eq_fields, EqData *eq_data) | |
~MHMatrixAssemblyRichards () | |
Destructor. More... | |
void | initialize (ElementCacheMap *element_cache_map) |
Initialize auxiliary vectors and other data members. More... | |
void | cell_integral (DHCellAccessor cell, unsigned int element_patch_idx) |
Integral over element. More... | |
void | boundary_side_integral (DHCellSide cell_side) |
Assembles between boundary element and corresponding side on bulk element. More... | |
void | begin () override |
Implements AssemblyBase::begin . More... | |
void | end () override |
Implements AssemblyBase::end . More... | |
Public Member Functions inherited from MHMatrixAssemblyLMH< dim > | |
DECLARE_EXCEPTION (ExcBCNotSupported,<< "BC type not supported.\n") | |
MHMatrixAssemblyLMH (EqFields *eq_fields, EqData *eq_data) | |
Constructor. More... | |
virtual | ~MHMatrixAssemblyLMH () |
Destructor. More... | |
void | initialize (ElementCacheMap *element_cache_map) |
Initialize auxiliary vectors and other data members. More... | |
void | cell_integral (DHCellAccessor cell, unsigned int element_patch_idx) |
void | boundary_side_integral (DHCellSide cell_side) |
void | dimjoin_intergral (DHCellAccessor cell_lower_dim, DHCellSide neighb_side) |
Public Member Functions inherited from AssemblyBase< dim > | |
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... | |
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< BulkPoint > | bulk_points (unsigned int element_patch_idx) const |
Return BulkPoint range of appropriate dimension. More... | |
Range< EdgePoint > | edge_points (const DHCellSide &cell_side) const |
Return EdgePoint range of appropriate dimension. More... | |
Range< CouplingPoint > | coupling_points (const DHCellSide &cell_side) const |
Return CouplingPoint range of appropriate dimension. More... | |
Range< BoundaryPoint > | boundary_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... | |
Static Public Member Functions | |
static constexpr const char * | name () |
Static Public Member Functions inherited from MHMatrixAssemblyLMH< dim > | |
static constexpr const char * | name () |
Protected Member Functions | |
void | asm_source_term_richards (const DHCellAccessor &cell, BulkPoint &p) |
Part of cell_integral method, specialized in Richards equation. More... | |
bool | reset_soil_model (const DHCellAccessor &cell, BulkPoint &p) |
void | update_water_content (const DHCellAccessor &cell, BulkPoint &p) |
double | compute_conductivity (const DHCellAccessor &cell, BulkPoint &p) |
Precompute conductivity on bulk point. More... | |
void | postprocess_velocity_richards (const DHCellAccessor &dh_cell, BulkPoint &p, arma::vec &solution) |
Postprocess velocity after calculating of cell integral. More... | |
Protected Member Functions inherited from MHMatrixAssemblyLMH< dim > | |
void | begin_mh_matrix () |
Common code of begin method of MH matrix assembly (Darcy and Richards) More... | |
void | end_mh_matrix () |
Common code of end method of MH matrix assembly (Darcy and Richards) More... | |
void | begin_reconstruct_schur () |
Common code of begin method of Reconstruct Schur assembly (Darcy and Richards) More... | |
void | end_reconstruct_schur () |
Common code of end method of Reconstruct Schur assembly (Darcy and Richards) More... | |
void | asm_sides (const DHCellAccessor &cell, BulkPoint &p, double conductivity) |
Part of cell_integral method, common in all descendants. More... | |
void | asm_element () |
Part of cell_integral method, common in all descendants. More... | |
void | asm_source_term_darcy (const DHCellAccessor &cell, BulkPoint &p) |
Part of cell_integral method, specialized in Darcy equation. More... | |
void | precompute_boundary_side (DHCellSide &cell_side, BoundaryPoint &p_side, BulkPoint &p_bdr) |
Precompute values used in boundary side integral on given DHCellSide. More... | |
void | use_dirichlet_switch (DHCellSide &cell_side, const ElementAccessor< 3 > &b_ele, BulkPoint &p_bdr) |
Update BC switch dirichlet in MH matrix assembly if BC type is seepage. More... | |
void | boundary_side_integral_in (DHCellSide cell_side, const ElementAccessor< 3 > &b_ele, BulkPoint &p_bdr) |
void | set_dofs () |
Precompute loc_system and loc_schur data members. More... | |
void | set_loc_schur (const DHCellAccessor dh_cr_cell) |
Precompute loc_schur data member of given cell. More... | |
unsigned int | ngh_idx (DHCellAccessor &dh_cell, DHCellSide &neighb_side) |
Temporary method find neighbour index in higher-dim cell. More... | |
arma::vec | load_local_system (const DHCellAccessor &dh_cell) |
void | postprocess_velocity (const DHCellAccessor &dh_cell, BulkPoint &p) |
void | postprocess_velocity_darcy (const DHCellAccessor &dh_cell, BulkPoint &p, arma::vec &solution) |
Postprocess velocity during loading of local system and after calculating of cell integral. More... | |
Protected Member Functions inherited from AssemblyBase< dim > | |
AssemblyBase () | |
std::string | print_update_flags (UpdateFlags u) const |
Print update flags to string format. More... | |
Protected Attributes | |
EqFields * | eq_fields_ |
Data objects shared with ConvectionTransport. More... | |
EqData * | eq_data_ |
LocDofVec | cr_disc_dofs_ |
Vector of local DOF indices pre-computed on different DOF handlers. More... | |
LocDofVec | edge_indices_ |
Dofs of discontinuous fields on element edges. More... | |
double | storativity_ |
double | capacity |
double | phead |
double | water_content |
double | water_content_previous_time |
double | diagonal_coef_ |
double | source_diagonal_ |
double | water_content_diff_ |
double | mass_diagonal_ |
double | mass_rhs_ |
Protected Attributes inherited from MHMatrixAssemblyLMH< dim > | |
FieldSet | used_fields_ |
Sub field set contains fields used in calculation. More... | |
EqFields * | eq_fields_ |
Data objects shared with DarcyFlow. More... | |
EqData * | eq_data_ |
FE_RT0< dim > | fe_rt_ |
Assembly volume integrals. More... | |
QGauss | quad_rt_ |
FEValues< 3 > | fe_values_ |
shared_ptr< FiniteElement< dim > > | fe_ |
Finite element for the solution of the advection-diffusion equation. More... | |
FEValues< 3 > | fe_values_side_ |
FEValues of object (of P disc finite element type) More... | |
arma::vec | reconstructed_solution_ |
Vector for reconstructed solution (velocity and pressure on element) from Schur complement. More... | |
double | coef_ |
double | source_term_ |
Variables used in compute lumped source. More... | |
double | time_term_diag_ |
double | time_term_ |
double | time_term_rhs_ |
Variables used in compute time term (unsteady) More... | |
double | cross_section_ |
Precomputed cross-section value. More... | |
unsigned int | bulk_local_idx_ |
Local idx of bulk element. More... | |
unsigned int | sidx_ |
unsigned int | side_row_ |
unsigned int | edge_row_ |
Helper indices in boundary assembly. More... | |
DarcyLMH::EqFields::BC_Type | type_ |
Type of boundary condition. More... | |
arma::vec3 | nv_ |
Normal vector. More... | |
double | ngh_value_ |
Precomputed ngh value. More... | |
double | edge_scale_ |
double | edge_source_term_ |
Precomputed values in postprocess_velocity. More... | |
LocalSystem | loc_schur_ |
Protected Attributes inherited from AssemblyBase< dim > | |
Quadrature * | quad_ |
Quadrature used in assembling methods. More... | |
Quadrature * | quad_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... | |
ElementCacheMap * | element_cache_map_ |
ElementCacheMap shared with GenericAssembly object. More... | |
Friends | |
template<template< IntDim... > class DimAssembly> | |
class | GenericAssembly |
Definition at line 145 of file assembly_richards.hh.
typedef RichardsLMH::EqData MHMatrixAssemblyRichards< dim >::EqData |
Definition at line 149 of file assembly_richards.hh.
typedef RichardsLMH::EqFields MHMatrixAssemblyRichards< dim >::EqFields |
Definition at line 148 of file assembly_richards.hh.
|
inline |
Definition at line 153 of file assembly_richards.hh.
|
inline |
Destructor.
Definition at line 177 of file assembly_richards.hh.
|
inlineprotected |
Part of cell_integral method, specialized in Richards equation.
Definition at line 237 of file assembly_richards.hh.
|
inlineoverridevirtual |
Implements AssemblyBase::begin
.
Reimplemented from MHMatrixAssemblyLMH< dim >.
Reimplemented in ReconstructSchurAssemblyRichards< dim >.
Definition at line 222 of file assembly_richards.hh.
|
inline |
Assembles between boundary element and corresponding side on bulk element.
Definition at line 202 of file assembly_richards.hh.
|
inline |
Integral over element.
Definition at line 187 of file assembly_richards.hh.
|
inlineprotected |
Precompute conductivity on bulk point.
Definition at line 338 of file assembly_richards.hh.
|
inlineoverridevirtual |
Implements AssemblyBase::end
.
Reimplemented from MHMatrixAssemblyLMH< dim >.
Reimplemented in ReconstructSchurAssemblyRichards< dim >.
Definition at line 229 of file assembly_richards.hh.
|
inline |
Initialize auxiliary vectors and other data members.
Definition at line 180 of file assembly_richards.hh.
|
inlinestaticconstexpr |
Definition at line 151 of file assembly_richards.hh.
|
inlineprotected |
Postprocess velocity after calculating of cell integral.
Definition at line 362 of file assembly_richards.hh.
|
inlineprotected |
Definition at line 294 of file assembly_richards.hh.
|
inlineprotected |
|
friend |
Definition at line 396 of file assembly_richards.hh.
|
protected |
Definition at line 390 of file assembly_richards.hh.
|
protected |
Vector of local DOF indices pre-computed on different DOF handlers.
Definition at line 387 of file assembly_richards.hh.
|
protected |
Definition at line 392 of file assembly_richards.hh.
|
protected |
Dofs of discontinuous fields on element edges.
Definition at line 388 of file assembly_richards.hh.
|
protected |
Definition at line 385 of file assembly_richards.hh.
|
protected |
Data objects shared with ConvectionTransport.
Definition at line 384 of file assembly_richards.hh.
|
protected |
Definition at line 393 of file assembly_richards.hh.
|
protected |
Definition at line 393 of file assembly_richards.hh.
|
protected |
Definition at line 390 of file assembly_richards.hh.
|
protected |
Definition at line 392 of file assembly_richards.hh.
|
protected |
Definition at line 389 of file assembly_richards.hh.
|
protected |
Definition at line 391 of file assembly_richards.hh.
|
protected |
Definition at line 393 of file assembly_richards.hh.
|
protected |
Definition at line 391 of file assembly_richards.hh.