Flow123d  jenkins-Flow123d-linux-release-multijob-198
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
DarcyFlowMH Class Referenceabstract

Mixed-hybrid model of linear Darcy flow, possibly unsteady. More...

#include <darcy_flow_mh.hh>

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

Classes

class  EqData
 Data for Darcy flow equation. More...
 

Public Types

enum  MortarMethod { NoMortar = 0, MortarP0 = 1, MortarP1 = 2 }
 

Public Member Functions

 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 update_solution ()
 
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 ()
 
virtual void get_solution_vector (double *&vector, unsigned int &size)
 
virtual void get_parallel_solution_vector (Vec &vector)
 
virtual void output_data ()
 Write computed fields. More...
 

Static Public Attributes

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 setup_velocity_vector ()
 
virtual double solution_precision () const =0
 

Protected Attributes

bool solution_changed_for_scatter
 
Vec velocity_vector
 
MH_DofHandler mh_dh
 
MortarMethod mortar_method_
 
boost::shared_ptr< Balancebalance_
 object for calculation and writing the water balance to file. More...
 
unsigned int water_balance_idx_
 index of water balance within the Balance object. More...
 
- 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 model of linear Darcy flow, possibly unsteady.

Abstract class for various implementations of Darcy flow. In future there should be one further level of abstraction for general time dependent problem.

maybe TODO: split compute_one_step to : 1) prepare_next_timestep 2) actualize_solution - this is for iterative nonlinear solvers

Definition at line 94 of file darcy_flow_mh.hh.

Member Enumeration Documentation

Enumerator
NoMortar 
MortarP0 
MortarP1 

Definition at line 96 of file darcy_flow_mh.hh.

Constructor & Destructor Documentation

DarcyFlowMH::DarcyFlowMH ( Mesh mesh,
const Input::Record  in_rec 
)
inline

Model for transition coefficients due to Martin, Jaffre, Roberts (see manual for full reference)

TODO:

  • how we can reuse values computed during assembly we want to make this class see values in

Definition at line 160 of file darcy_flow_mh.hh.

Member Function Documentation

const MH_DofHandler& DarcyFlowMH::get_mh_dofhandler ( )
inline

Definition at line 173 of file darcy_flow_mh.hh.

Here is the caller graph for this function:

void DarcyFlowMH::get_velocity_seq_vector ( Vec &  velocity_vec)
inline

Definition at line 170 of file darcy_flow_mh.hh.

virtual void DarcyFlowMH::set_concentration_vector ( Vec &  vc)
inlinevirtual

Definition at line 190 of file darcy_flow_mh.hh.

void DarcyFlowMH::setup_velocity_vector ( )
inlineprotected

Definition at line 194 of file darcy_flow_mh.hh.

virtual double DarcyFlowMH::solution_precision ( ) const
protectedpure virtual

Implemented in DarcyFlowMH_Steady.

Here is the caller graph for this function:

Member Data Documentation

boost::shared_ptr<Balance> DarcyFlowMH::balance_
protected

object for calculation and writing the water balance to file.

Definition at line 212 of file darcy_flow_mh.hh.

Input::Type::AbstractRecord DarcyFlowMH::bc_input_type
static

Definition at line 167 of file darcy_flow_mh.hh.

std::vector<Input::Type::Record> DarcyFlowMH::bc_input_types
static

Definition at line 168 of file darcy_flow_mh.hh.

Input::Type::Record DarcyFlowMH::bc_segment_rec
static

Definition at line 166 of file darcy_flow_mh.hh.

it::AbstractRecord DarcyFlowMH::input_type
static
Initial value:
=
it::AbstractRecord("DarcyFlowMH", "Mixed-Hybrid solver for saturated Darcy flow.")
.declare_key("n_schurs", it::Integer(0,2), it::Default("2"),
"Number of Schur complements to perform when solving MH sytem.")
"Linear solver for MH problem.")
"Parameters of output form MH module.")
.declare_key("mortar_method", mh_mortar_selection, it::Default("None"),
"Method for coupling Darcy flow between dimensions." )
"Settings for computing mass balance.")

Definition at line 165 of file darcy_flow_mh.hh.

MH_DofHandler DarcyFlowMH::mh_dh
protected

Definition at line 207 of file darcy_flow_mh.hh.

it::Selection DarcyFlowMH::mh_mortar_selection
static
Initial value:
= it::Selection("MH_MortarMethod")
.add_value(NoMortar, "None", "Mortar space: P0 on elements of lower dimension.")
.add_value(MortarP0, "P0", "Mortar space: P0 on elements of lower dimension.")
.add_value(MortarP1, "P1", "Mortar space: P1 on intersections, using non-conforming pressures.")

Definition at line 164 of file darcy_flow_mh.hh.

MortarMethod DarcyFlowMH::mortar_method_
protected

Definition at line 209 of file darcy_flow_mh.hh.

bool DarcyFlowMH::solution_changed_for_scatter
protected

Definition at line 205 of file darcy_flow_mh.hh.

Vec DarcyFlowMH::velocity_vector
protected

Definition at line 206 of file darcy_flow_mh.hh.

unsigned int DarcyFlowMH::water_balance_idx_
protected

index of water balance within the Balance object.

Definition at line 214 of file darcy_flow_mh.hh.


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