Flow123d  jenkins-Flow123d-windows32-release-multijob-51
Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
DarcyFlowMH_Unsteady Class Reference

Mixed-hybrid solution of unsteady Darcy flow. More...

#include <darcy_flow_mh.hh>

Inheritance diagram for DarcyFlowMH_Unsteady:
Inheritance graph
[legend]
Collaboration diagram for DarcyFlowMH_Unsteady:
Collaboration graph
[legend]

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_DofHandlerget_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 ()
 
Meshmesh ()
 
TimeMark::Type mark_type ()
 
FieldSetdata ()
 

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
DarcyFlowMHOutputoutput_object
 
int size
 
int n_schur_compls
 
double * solution
 
LinSysschur0
 
Distributionedge_ds
 
Distributionel_ds
 
Distributionside_ds
 
boost::shared_ptr< Distributionrows_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...
 
Meshmesh_
 
TimeGovernortime_
 
Input::Record input_record_
 
FieldSeteq_data_
 

Detailed Description

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.

Constructor & Destructor Documentation

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 ( )

Member Function Documentation

void DarcyFlowMH_Unsteady::modify_system ( )
overrideprotectedvirtual

Reimplemented from DarcyFlowMH_Steady.

Definition at line 1467 of file darcy_flow_mh.cc.

void DarcyFlowMH_Unsteady::read_init_condition ( )
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.

Here is the caller graph for this function:

void DarcyFlowMH_Unsteady::setup_time_term ( )
protectedvirtual

Reimplemented from DarcyFlowMH_Steady.

Definition at line 1440 of file darcy_flow_mh.cc.

Member Data Documentation

it::Record DarcyFlowMH_Unsteady::input_type
static
Initial value:
= it::Record("Unsteady_MH", "Mixed-Hybrid solver for unsteady saturated Darcy flow.")
"Time governor setting for the unsteady Darcy flow model.")

Definition at line 451 of file darcy_flow_mh.hh.

Vec DarcyFlowMH_Unsteady::new_diagonal
private

Definition at line 460 of file darcy_flow_mh.hh.

Vec DarcyFlowMH_Unsteady::previous_solution
private

Definition at line 461 of file darcy_flow_mh.hh.

Vec DarcyFlowMH_Unsteady::steady_diagonal
private

Definition at line 458 of file darcy_flow_mh.hh.

Vec DarcyFlowMH_Unsteady::steady_rhs
private

Definition at line 459 of file darcy_flow_mh.hh.


The documentation for this class was generated from the following files: