Flow123d
jenkins-Flow123d-windows32-release-multijob-51
|
Mixed-hybrid solution of unsteady Darcy flow. More...
#include <darcy_flow_mh.hh>
Public Member Functions | |
DarcyFlowMH_Unsteady (Mesh &mesh, const Input::Record in_rec) | |
DarcyFlowMH_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 | postprocess () |
postprocess velocity field (add sources) More... | |
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 | setup_time_term () |
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 |
Additional Inherited Members | |
Public Types inherited from DarcyFlowMH | |
enum | MortarMethod { NoMortar = 0, MortarP0 = 1, MortarP1 = 2 } |
Protected Attributes inherited from DarcyFlowMH_Steady | |
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_ |
Protected Attributes inherited from DarcyFlowMH | |
bool | solution_changed_for_scatter |
Vec | velocity_vector |
MH_DofHandler | mh_dh |
MortarMethod | mortar_method_ |
Protected Attributes inherited from EquationBase | |
bool | equation_empty_ |
flag is true if only default constructor was called More... | |
Mesh * | mesh_ |
TimeGovernor * | time_ |
Input::Record | input_record_ |
FieldSet * | eq_data_ |
Mixed-hybrid solution of unsteady Darcy flow.
Standard discretization with time term and sources picewise constant on the element. This leads to violation of the discrete maximum principle for non-acute meshes or to too small timesteps. For simplicial meshes this can be solved by lumping to the edges. See DarcyFlowLMH_Unsteady.
Definition at line 444 of file darcy_flow_mh.hh.
DarcyFlowMH_Unsteady::DarcyFlowMH_Unsteady | ( | Mesh & | mesh, |
const Input::Record | in_rec | ||
) |
Definition at line 1391 of file darcy_flow_mh.cc.
DarcyFlowMH_Unsteady::DarcyFlowMH_Unsteady | ( | ) |
|
overrideprotectedvirtual |
Reimplemented from DarcyFlowMH_Steady.
Definition at line 1467 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 1416 of file darcy_flow_mh.cc.
|
protectedvirtual |
Reimplemented from DarcyFlowMH_Steady.
Definition at line 1440 of file darcy_flow_mh.cc.
|
static |
Definition at line 451 of file darcy_flow_mh.hh.
|
private |
Definition at line 460 of file darcy_flow_mh.hh.
|
private |
Definition at line 461 of file darcy_flow_mh.hh.
|
private |
Definition at line 458 of file darcy_flow_mh.hh.
|
private |
Definition at line 459 of file darcy_flow_mh.hh.