Flow123d
jenkins-Flow123d-windows32-release-multijob-51
|
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 () | |
![]() | |
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 () | |
![]() | |
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) |
![]() | |
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 Input::Type::Record | input_type |
![]() | |
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 | setup_time_term () |
virtual void | postprocess () |
postprocess velocity field (add sources) More... | |
![]() | |
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 |
![]() | |
void | setup_velocity_vector () |
Private Attributes | |
Vec | steady_diagonal |
Vec | steady_rhs |
Vec | new_diagonal |
Vec | previous_solution |
Additional Inherited Members | |
![]() | |
enum | MortarMethod { NoMortar = 0, MortarP0 = 1, MortarP1 = 2 } |
![]() | |
DarcyFlowMHOutput * | output_object |
int | size |
int | n_schur_compls |
double * | solution |
LinSys * | schur0 |
Distribution * | edge_ds |
Distribution * | el_ds |
Distribution * | side_ds |
boost::shared_ptr< Distribution > | rows_ds |
int * | el_4_loc |
int * | row_4_el |
int * | side_id_4_loc |
int * | side_row_4_id |
int * | edge_4_loc |
int * | row_4_edge |
boost::shared_ptr < LocalToGlobalMap > | global_row_4_sub_row |
Vec | sol_vec |
VecScatter | par_to_all |
EqData | data_ |
![]() | |
bool | solution_changed_for_scatter |
Vec | velocity_vector |
MH_DofHandler | mh_dh |
MortarMethod | mortar_method_ |
![]() | |
bool | equation_empty_ |
flag is true if only default constructor was called More... | |
Mesh * | mesh_ |
TimeGovernor * | time_ |
Input::Record | input_record_ |
FieldSet * | eq_data_ |
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 478 of file darcy_flow_mh.hh.
DarcyFlowLMH_Unsteady::DarcyFlowLMH_Unsteady | ( | Mesh & | mesh, |
const Input::Record | in_rec | ||
) |
Definition at line 1490 of file darcy_flow_mh.cc.
DarcyFlowLMH_Unsteady::DarcyFlowLMH_Unsteady | ( | ) |
|
overrideprotectedvirtual |
Reimplemented from DarcyFlowMH_Steady.
Definition at line 1578 of file darcy_flow_mh.cc.
|
protectedvirtual |
postprocess velocity field (add sources)
Reimplemented from DarcyFlowMH_Steady.
Definition at line 1600 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 1514 of file darcy_flow_mh.cc.
|
protectedvirtual |
Reimplemented from DarcyFlowMH_Steady.
Definition at line 1542 of file darcy_flow_mh.cc.
|
static |
Definition at line 485 of file darcy_flow_mh.hh.
|
private |
Definition at line 494 of file darcy_flow_mh.hh.
|
private |
Definition at line 495 of file darcy_flow_mh.hh.
|
private |
Definition at line 492 of file darcy_flow_mh.hh.
|
private |
Definition at line 493 of file darcy_flow_mh.hh.