Flow123d  master-f44eb46
Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
HC_ExplicitSequential Class Reference

Class for solution of steady or unsteady flow with sequentially coupled explicit transport. More...

#include <hc_explicit_sequential.hh>

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

Classes

struct  AdvectionData
 

Public Member Functions

 HC_ExplicitSequential (Input::Record in_record)
 
void run_simulation ()
 
 ~HC_ExplicitSequential ()
 
- Public Member Functions inherited from EquationBase
 EquationBase ()
 
 EquationBase (Mesh &mesh, const Input::Record in_rec)
 
virtual void initialize ()
 
virtual void zero_time_step ()
 
virtual ~EquationBase ()
 
virtual void update_solution ()
 
virtual void choose_next_time ()
 
virtual void set_time_upper_constraint (double dt, std::string message)
 
virtual void set_time_lower_constraint (double dt, std::string message)
 
TimeGovernortime ()
 
virtual void set_time_governor (TimeGovernor &time)
 
double planned_time ()
 
virtual double solved_time ()
 
Meshmesh ()
 
std::shared_ptr< Balancebalance () const
 
TimeMark::Type mark_type ()
 
FieldSeteq_fieldset ()
 
std::shared_ptr< FieldSeteq_fieldset_ptr ()
 
virtual void output_data ()
 Write computed fields. More...
 
void init_user_fields (Input::Array user_fields, FieldSet &output_fields)
 

Static Public Member Functions

static const Input::Type::Recordget_input_type ()
 
- Static Public Member Functions inherited from CouplingBase
static Input::Type::Abstractget_input_type ()
 
- Static Public Member Functions inherited from EquationBase
static Input::Type::Recordrecord_template ()
 Template Record with common keys for derived equations. More...
 
static Input::Type::Recorduser_fields_template (std::string equation_name)
 Template Record with common key user_fields for derived equations. More...
 

Private Types

typedef std::shared_ptr< AdvectionProcessBaseAdvectionPtr
 

Private Member Functions

AdvectionPtr make_advection_process (std::string process_key)
 
void advection_process_step (AdvectionData &pdata)
 
void flow_step (double requested_time)
 

Private Attributes

Input::Record in_record_
 
Meshmesh
 mesh common to darcy flow and transport More...
 
std::shared_ptr< DarcyFlowInterfacewater
 steady or unsteady water flow simulator based on MH scheme More...
 
std::vector< AdvectionDataprocesses_
 solute transport with chemistry through operator splitting More...
 
double min_velocity_time
 
bool is_end_all_
 
FieldCommonwater_content_saturated_
 
FieldCommonwater_content_p0_
 

Static Private Attributes

static const int registrar = HC_ExplicitSequential::get_input_type().size()
 

Additional Inherited Members

- Protected Attributes inherited from EquationBase
bool equation_empty_
 flag is true if only default constructor was called More...
 
Meshmesh_
 
TimeGovernortime_
 
Input::Record input_record_
 
std::shared_ptr< FieldSeteq_fieldset_
 
std::shared_ptr< Balancebalance_
 object for calculation and writing the mass balance to file. More...
 

Detailed Description

Class for solution of steady or unsteady flow with sequentially coupled explicit transport.

Definition at line 49 of file hc_explicit_sequential.hh.

Member Typedef Documentation

◆ AdvectionPtr

Definition at line 58 of file hc_explicit_sequential.hh.

Constructor & Destructor Documentation

◆ HC_ExplicitSequential()

HC_ExplicitSequential::HC_ExplicitSequential ( Input::Record  in_record)

FUNCTION "MAIN" FOR COMPUTING MIXED-HYBRID PROBLEM FOR UNSTEADY SATURATED FLOW

Definition at line 118 of file hc_explicit_sequential.cc.

◆ ~HC_ExplicitSequential()

HC_ExplicitSequential::~HC_ExplicitSequential ( )

Definition at line 293 of file hc_explicit_sequential.cc.

Member Function Documentation

◆ advection_process_step()

void HC_ExplicitSequential::advection_process_step ( AdvectionData pdata)
private

Perform a single time step of given advection process.

Definition at line 163 of file hc_explicit_sequential.cc.

Here is the caller graph for this function:

◆ flow_step()

void HC_ExplicitSequential::flow_step ( double  requested_time)
private

Perform a single time step of flow model. Test if flow solution at requested_time is already available.

Definition at line 188 of file hc_explicit_sequential.cc.

Here is the caller graph for this function:

◆ get_input_type()

const it::Record & HC_ExplicitSequential::get_input_type ( )
static

Definition at line 57 of file hc_explicit_sequential.cc.

Here is the caller graph for this function:

◆ make_advection_process()

std::shared_ptr< AdvectionProcessBase > HC_ExplicitSequential::make_advection_process ( std::string  process_key)
private

Create an advection process for given input key.

Definition at line 82 of file hc_explicit_sequential.cc.

Here is the caller graph for this function:

◆ run_simulation()

void HC_ExplicitSequential::run_simulation ( )

TODO:

  • have support for steady problems in TimeGovernor, make Noting problems steady
  • apply splitting of compute_one_step to particular models
  • how to set output time marks for steady problems (we need solved time == infinity) but add no time marks
  • allow create steady time governor without time marks (at least in nothing models)
  • pass refference to time marks in time governor constructor?

Definition at line 215 of file hc_explicit_sequential.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ in_record_

Input::Record HC_ExplicitSequential::in_record_
private

Definition at line 89 of file hc_explicit_sequential.hh.

◆ is_end_all_

bool HC_ExplicitSequential::is_end_all_
private

Definition at line 103 of file hc_explicit_sequential.hh.

◆ mesh

Mesh* HC_ExplicitSequential::mesh
private

mesh common to darcy flow and transport

Definition at line 92 of file hc_explicit_sequential.hh.

◆ min_velocity_time

double HC_ExplicitSequential::min_velocity_time
private

Definition at line 101 of file hc_explicit_sequential.hh.

◆ processes_

std::vector<AdvectionData> HC_ExplicitSequential::processes_
private

solute transport with chemistry through operator splitting

Definition at line 98 of file hc_explicit_sequential.hh.

◆ registrar

const int HC_ExplicitSequential::registrar = HC_ExplicitSequential::get_input_type().size()
staticprivate

Definition at line 86 of file hc_explicit_sequential.hh.

◆ water

std::shared_ptr<DarcyFlowInterface> HC_ExplicitSequential::water
private

steady or unsteady water flow simulator based on MH scheme

Definition at line 95 of file hc_explicit_sequential.hh.

◆ water_content_p0_

FieldCommon* HC_ExplicitSequential::water_content_p0_
private

Definition at line 106 of file hc_explicit_sequential.hh.

◆ water_content_saturated_

FieldCommon* HC_ExplicitSequential::water_content_saturated_
private

Definition at line 105 of file hc_explicit_sequential.hh.


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