|
Flow123d
DF_patch_fe_darcy_complete-579fe1e
|
#include <assembly_lmh.hh>


Public Types | |
| typedef TEqData::EqFields | EqFields |
| typedef TEqData | EqData |
Public Member Functions | |
| DECLARE_EXCEPTION (ExcBCNotSupported,<< "BC type not supported.\n") | |
| MHMatrixAssemblyLMH (EqData *eq_data, AssemblyInternals *asm_internals) | |
| Constructor. More... | |
| virtual | ~MHMatrixAssemblyLMH () |
| Destructor. More... | |
| void | initialize () |
| 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) |
| void | begin () override |
Implements AssemblyBase::begin. More... | |
| void | end () override |
Implements AssemblyBase::end. More... | |
Public Member Functions inherited from AssemblyBasePatch< dim > | |
| AssemblyBasePatch (unsigned int quad_order, AssemblyInternals *asm_internals) | |
| unsigned int | n_dofs () |
| Return number of DOFs. More... | |
| unsigned int | n_dofs_high () |
| Return number of DOFs of higher dim element. More... | |
Public Member Functions inherited from AssemblyBase< dim > | |
| AssemblyBase (unsigned int quad_order, AssemblyInternals *asm_internals) | |
| virtual | ~AssemblyBase () |
| 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) |
| 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... | |
| const IntegralData & | integral_data () const |
| Getter of integral_data_. More... | |
Static Public Member Functions | |
| static constexpr const char * | name () |
Protected Member Functions | |
| 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 (BulkPoint &p, double conductivity, unsigned int element_patch_idx) |
| 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 () | |
| 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) |
| std::string | print_update_flags (UpdateFlags u) const |
| Print update flags to string format. More... | |
Protected Attributes | |
| FieldSet | used_fields_ |
| Sub field set contains fields used in calculation. More... | |
| EqFields * | eq_fields_ |
| Data objects shared with DarcyFlow. More... | |
| EqData * | eq_data_ |
| QGauss | quad_rt_ |
| Assembly volume integrals. 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_ |
| unsigned int | n_dofs_ |
| Number of DOFs of fe_rt component. More... | |
| std::shared_ptr< BulkIntegralAcc< dim > > | bulk_integral_ |
| Bulk integral of assembly class. More... | |
| std::shared_ptr< BulkIntegralAcc< dim > > | asm_sides_integral_ |
| Bulk integral defined on quadrature of higher order. More... | |
| std::shared_ptr< BoundaryIntegralAcc< dim > > | bdr_integral_ |
| Boundary integral of assembly class. More... | |
| std::shared_ptr< CouplingIntegralAcc< dim > > | coupling_integral_ |
| Coupling integral of assembly class. More... | |
| FeQ< Scalar > | JxW_ |
| Following data members represent Element quantities and FE quantities. More... | |
| FeQArray< Vector > | velocity_ |
| ElQ< Vector > | normal_join_ |
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... | |
| DimIntegrals< dim > | integrals_ |
| Set of used integrals. More... | |
| AssemblyInternals * | asm_internals_ |
| Holds shared internals data with GeneriAssembly. More... | |
| unsigned int | min_edge_sides_ |
| IntegralData | integral_data_ |
| Holds patch data for computing different types of integrals. More... | |
Friends | |
| template<template< IntDim... > class DimAssembly> | |
| class | GenericAssembly |
Definition at line 117 of file assembly_lmh.hh.
| typedef TEqData MHMatrixAssemblyLMH< dim, TEqData >::EqData |
Definition at line 121 of file assembly_lmh.hh.
| typedef TEqData::EqFields MHMatrixAssemblyLMH< dim, TEqData >::EqFields |
Definition at line 120 of file assembly_lmh.hh.
|
inline |
Constructor.
Definition at line 128 of file assembly_lmh.hh.
|
inlinevirtual |
Destructor.
Definition at line 153 of file assembly_lmh.hh.
|
inlineprotected |
Part of cell_integral method, common in all descendants.
Definition at line 409 of file assembly_lmh.hh.

|
inlineprotected |
Part of cell_integral method, common in all descendants.
Definition at line 363 of file assembly_lmh.hh.

|
inlineprotected |
Part of cell_integral method, specialized in Darcy equation.
Definition at line 426 of file assembly_lmh.hh.

|
inlineoverridevirtual |
Implements AssemblyBase::begin.
Reimplemented from AssemblyBase< dim >.
Reimplemented in ReconstructSchurAssemblyRichards< dim, TEqData >, MHMatrixAssemblyRichards< dim, TEqData >, and ReconstructSchurAssemblyLMH< dim, TEqData >.
Definition at line 263 of file assembly_lmh.hh.
|
inlineprotected |
Common code of begin method of MH matrix assembly (Darcy and Richards)
Definition at line 277 of file assembly_lmh.hh.

|
inlineprotected |
Common code of begin method of Reconstruct Schur assembly (Darcy and Richards)
Definition at line 329 of file assembly_lmh.hh.

|
inline |
Assembles between boundary element and corresponding side on bulk element.
Override in descendants.
Definition at line 202 of file assembly_lmh.hh.
|
inlineprotected |
Common code of boundary_side_integral.
Definition at line 529 of file assembly_lmh.hh.

|
inline |
| MHMatrixAssemblyLMH< dim, TEqData >::DECLARE_EXCEPTION | ( | ExcBCNotSupported | , |
| << "BC type not supported.\n" | |||
| ) |
|
inline |
Assembles the fluxes between elements of different dimensions.
Common in all descendants.
Definition at line 226 of file assembly_lmh.hh.
|
inlineoverridevirtual |
Implements AssemblyBase::end.
Reimplemented from AssemblyBase< dim >.
Reimplemented in ReconstructSchurAssemblyRichards< dim, TEqData >, MHMatrixAssemblyRichards< dim, TEqData >, and ReconstructSchurAssemblyLMH< dim, TEqData >.
Definition at line 270 of file assembly_lmh.hh.
|
inlineprotected |
Common code of end method of MH matrix assembly (Darcy and Richards)
Definition at line 294 of file assembly_lmh.hh.

|
inlineprotected |
Common code of end method of Reconstruct Schur assembly (Darcy and Richards)
Definition at line 338 of file assembly_lmh.hh.

|
inline |
Initialize auxiliary vectors and other data members.
Definition at line 156 of file assembly_lmh.hh.

|
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 694 of file assembly_lmh.hh.
|
inlinestaticconstexpr |
Definition at line 125 of file assembly_lmh.hh.
|
inlineprotected |
Temporary method find neighbour index in higher-dim cell.
Definition at line 679 of file assembly_lmh.hh.

|
inlineprotected |
Precompute edge_scale and edge_source_term.
This method must be calls in methods postprocess_velocity_darcy and postprocess_velocity_richards
Definition at line 722 of file assembly_lmh.hh.
|
inlineprotected |
Postprocess velocity during loading of local system and after calculating of cell integral.
Definition at line 735 of file assembly_lmh.hh.

|
inlineprotected |
Precompute values used in boundary side integral on given DHCellSide.
Definition at line 474 of file assembly_lmh.hh.

|
inlineprotected |
Precompute loc_system and loc_schur data members.
Definition at line 596 of file assembly_lmh.hh.

|
inlineprotected |
Precompute loc_schur data member of given cell.
Definition at line 646 of file assembly_lmh.hh.

|
inlineprotected |
Update BC switch dirichlet in MH matrix assembly if BC type is seepage.
Definition at line 487 of file assembly_lmh.hh.

|
friend |
Definition at line 794 of file assembly_lmh.hh.
|
protected |
Bulk integral defined on quadrature of higher order.
Definition at line 784 of file assembly_lmh.hh.
|
protected |
Boundary integral of assembly class.
Definition at line 785 of file assembly_lmh.hh.
|
protected |
Bulk integral of assembly class.
Definition at line 783 of file assembly_lmh.hh.
|
protected |
Local idx of bulk element.
Definition at line 773 of file assembly_lmh.hh.
|
protected |
Definition at line 770 of file assembly_lmh.hh.
|
protected |
Coupling integral of assembly class.
Definition at line 786 of file assembly_lmh.hh.
|
protected |
Precomputed cross-section value.
Definition at line 772 of file assembly_lmh.hh.
|
protected |
Helper indices in boundary assembly.
Definition at line 774 of file assembly_lmh.hh.
|
protected |
Definition at line 778 of file assembly_lmh.hh.
|
protected |
Precomputed values in postprocess_velocity.
Definition at line 778 of file assembly_lmh.hh.
|
protected |
Definition at line 762 of file assembly_lmh.hh.
|
protected |
Data objects shared with DarcyFlow.
Definition at line 761 of file assembly_lmh.hh.
|
protected |
Following data members represent Element quantities and FE quantities.
Definition at line 789 of file assembly_lmh.hh.
|
protected |
Definition at line 780 of file assembly_lmh.hh.
|
protected |
Number of DOFs of fe_rt component.
Definition at line 781 of file assembly_lmh.hh.
|
protected |
Precomputed ngh value.
Definition at line 777 of file assembly_lmh.hh.
|
protected |
Definition at line 791 of file assembly_lmh.hh.
|
protected |
Normal vector.
Definition at line 776 of file assembly_lmh.hh.
|
protected |
Assembly volume integrals.
Definition at line 765 of file assembly_lmh.hh.
|
protected |
Vector for reconstructed solution (velocity and pressure on element) from Schur complement.
Definition at line 768 of file assembly_lmh.hh.
|
protected |
Definition at line 774 of file assembly_lmh.hh.
|
protected |
Definition at line 774 of file assembly_lmh.hh.
|
protected |
Variables used in compute lumped source.
Definition at line 770 of file assembly_lmh.hh.
|
protected |
Definition at line 771 of file assembly_lmh.hh.
|
protected |
Definition at line 771 of file assembly_lmh.hh.
|
protected |
Variables used in compute time term (unsteady)
Definition at line 771 of file assembly_lmh.hh.
|
protected |
Type of boundary condition.
Definition at line 775 of file assembly_lmh.hh.
|
protected |
Sub field set contains fields used in calculation.
Definition at line 758 of file assembly_lmh.hh.
|
protected |
Definition at line 790 of file assembly_lmh.hh.