Flow123d
jenkins-Flow123d-linux-release-multijob-198
|
Edge lumped mixed-hybrid solution of unsteady Darcy flow. More...
#include <darcy_flow_mh.hh>
Public Member Functions | |
DarcyFlowLMH_Unsteady (Mesh &mesh, const Input::Record in_rec) | |
DarcyFlowLMH_Unsteady () | |
Public Member Functions inherited from DarcyFlowMH_Steady | |
DarcyFlowMH_Steady (Mesh &mesh, const Input::Record in_rec, bool make_tg=true) | |
CREATE AND FILL GLOBAL MH MATRIX OF THE WATER MODEL. More... | |
virtual void | update_solution () |
virtual void | get_solution_vector (double *&vec, unsigned int &vec_size) |
virtual void | get_parallel_solution_vector (Vec &vector) |
virtual void | output_data () override |
Write computed fields. More... | |
~DarcyFlowMH_Steady () | |
Public Member Functions inherited from DarcyFlowMH | |
DarcyFlowMH (Mesh &mesh, const Input::Record in_rec) | |
void | get_velocity_seq_vector (Vec &velocity_vec) |
const MH_DofHandler & | get_mh_dofhandler () |
virtual void | set_concentration_vector (Vec &vc) |
Public Member Functions inherited from EquationBase | |
EquationBase () | |
EquationBase (Mesh &mesh, const Input::Record in_rec) | |
virtual | ~EquationBase () |
virtual void | zero_time_step () |
virtual void | initialize () |
Initialize fields. More... | |
virtual void | choose_next_time () |
virtual void | set_time_upper_constraint (double dt) |
virtual void | set_time_lower_constraint (double dt) |
TimeGovernor const & | time () |
virtual void | set_time_governor (TimeGovernor &time) |
double | planned_time () |
double | solved_time () |
Mesh & | mesh () |
TimeMark::Type | mark_type () |
FieldSet & | data () |
Static Public Attributes | |
static Input::Type::Record | input_type |
Static Public Attributes inherited from DarcyFlowMH_Steady | |
static Input::Type::Record | input_type |
Static Public Attributes inherited from DarcyFlowMH | |
static Input::Type::Selection | mh_mortar_selection |
static Input::Type::AbstractRecord | input_type |
static Input::Type::Record | bc_segment_rec |
static Input::Type::AbstractRecord | bc_input_type |
static std::vector < Input::Type::Record > | bc_input_types |
Protected Member Functions | |
void | read_init_condition () override |
void | modify_system () override |
void | assembly_source_term () override |
Source term is implemented differently in LMH version. More... | |
void | setup_time_term () |
virtual void | postprocess () |
postprocess velocity field (add sources) More... | |
Protected Member Functions inherited from DarcyFlowMH_Steady | |
void | make_serial_scatter () |
void | prepare_parallel (const Input::AbstractRecord in_rec) |
void | make_row_numberings () |
void | create_linear_system () |
void | assembly_steady_mh_matrix () |
void | assembly_linear_system () |
void | set_mesh_data_for_bddc (LinSys_BDDC *bddc_ls) |
double | solution_precision () const |
Protected Member Functions inherited from DarcyFlowMH | |
void | setup_velocity_vector () |
Private Attributes | |
Vec | steady_diagonal |
Vec | steady_rhs |
Vec | new_diagonal |
Vec | previous_solution |
Edge lumped mixed-hybrid solution of unsteady Darcy flow.
The time term and sources are evenly distributed form an element to its edges. This applies directly to the second Schur complement. After this system for pressure traces is solved we reconstruct pressures and side flows as follows:
This lumping technique preserves discrete maximum principle for any time step provided one use acute mesh. But in practice even worse meshes are tractable.
Definition at line 470 of file darcy_flow_mh.hh.
DarcyFlowLMH_Unsteady::DarcyFlowLMH_Unsteady | ( | Mesh & | mesh, |
const Input::Record | in_rec | ||
) |
Definition at line 1581 of file darcy_flow_mh.cc.
DarcyFlowLMH_Unsteady::DarcyFlowLMH_Unsteady | ( | ) |
|
overrideprotectedvirtual |
Source term is implemented differently in LMH version.
Reimplemented from DarcyFlowMH_Steady.
Definition at line 1712 of file darcy_flow_mh.cc.
|
overrideprotectedvirtual |
Reimplemented from DarcyFlowMH_Steady.
Definition at line 1683 of file darcy_flow_mh.cc.
|
protectedvirtual |
postprocess velocity field (add sources)
Reimplemented from DarcyFlowMH_Steady.
Definition at line 1743 of file darcy_flow_mh.cc.
|
overrideprotectedvirtual |
Read initial condition into solution vector. Must be called after create_linear_system.
Reimplemented from DarcyFlowMH_Steady.
Definition at line 1606 of file darcy_flow_mh.cc.
|
protectedvirtual |
Reimplemented from DarcyFlowMH_Steady.
Definition at line 1634 of file darcy_flow_mh.cc.
|
static |
Definition at line 477 of file darcy_flow_mh.hh.
|
private |
Definition at line 487 of file darcy_flow_mh.hh.
|
private |
Definition at line 488 of file darcy_flow_mh.hh.
|
private |
Definition at line 485 of file darcy_flow_mh.hh.
|
private |
Definition at line 486 of file darcy_flow_mh.hh.