Flow123d  release_3.0.0-1166-g21aa698
Public Member Functions | Static Public Member Functions | List of all members
ConcentrationTransportBase Class Referenceabstract

#include <transport_operator_splitting.hh>

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

Public Member Functions

 ConcentrationTransportBase (Mesh &init_mesh, const Input::Record in_rec)
 
virtual void set_target_time (double target_time)=0
 
virtual void set_balance_object (std::shared_ptr< Balance > balance)=0
 
virtual bool evaluate_time_constraint (double &time_constraint)=0
 Computes a constraint for time step. More...
 
virtual const vector< unsigned int > & get_subst_idx ()=0
 Return substance indices used in balance. More...
 
virtual void calculate_concentration_matrix ()=0
 Calculate the array of concentrations per element (for reactions). More...
 
virtual void update_after_reactions (bool solution_changed)=0
 Perform changes to transport solution after reaction step. More...
 
virtual void set_output_stream (std::shared_ptr< OutputTime > stream)=0
 Setter for output stream. More...
 
virtual std::shared_ptr< OutputTimeoutput_stream ()=0
 Getter for output stream. More...
 
virtual double ** get_concentration_matrix ()=0
 Getter for array of concentrations per element. More...
 
virtual const Vec & get_solution (unsigned int sbi)=0
 Return PETSc vector with solution for sbi-th substance. More...
 
virtual void get_par_info (LongIdx *&el_4_loc, Distribution *&el_ds)=0
 Return array of indices of local elements and parallel distribution of elements. More...
 
virtual LongIdxget_row_4_el ()=0
 Return global array of order of elements within parallel vector. More...
 
virtual void set_velocity_field (const MH_DofHandler &dh)=0
 Pass velocity from flow to transport. More...
 
virtual unsigned int n_substances ()=0
 Returns number of trnasported substances. More...
 
virtual SubstanceListsubstances ()=0
 Returns reference to the vector of substnace names. More...
 
- 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 ()
 
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 Member Functions

static Input::Type::Abstractget_input_type ()
 Common specification of the input record for secondary equations. More...
 

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_
 
FieldSeteq_data_
 
std::shared_ptr< Balancebalance_
 object for calculation and writing the mass balance to file. More...
 

Detailed Description

Abstract interface class for implementations of transport equation within TransportOperatorSplitting.

Definition at line 61 of file transport_operator_splitting.hh.

Constructor & Destructor Documentation

ConcentrationTransportBase::ConcentrationTransportBase ( Mesh init_mesh,
const Input::Record  in_rec 
)
inline

Constructor.

Definition at line 67 of file transport_operator_splitting.hh.

Member Function Documentation

virtual void ConcentrationTransportBase::calculate_concentration_matrix ( )
pure virtual

Calculate the array of concentrations per element (for reactions).

Implemented in ConvectionTransport.

virtual bool ConcentrationTransportBase::evaluate_time_constraint ( double &  time_constraint)
pure virtual

Computes a constraint for time step.

Implemented in ConvectionTransport.

virtual double** ConcentrationTransportBase::get_concentration_matrix ( )
pure virtual

Getter for array of concentrations per element.

Implemented in ConvectionTransport.

Abstract & ConcentrationTransportBase::get_input_type ( )
static

Common specification of the input record for secondary equations.

Definition at line 62 of file transport_operator_splitting.cc.

Here is the caller graph for this function:

virtual void ConcentrationTransportBase::get_par_info ( LongIdx *&  el_4_loc,
Distribution *&  el_ds 
)
pure virtual

Return array of indices of local elements and parallel distribution of elements.

Implemented in ConvectionTransport.

virtual LongIdx* ConcentrationTransportBase::get_row_4_el ( )
pure virtual

Return global array of order of elements within parallel vector.

Implemented in ConvectionTransport.

virtual const Vec& ConcentrationTransportBase::get_solution ( unsigned int  sbi)
pure virtual

Return PETSc vector with solution for sbi-th substance.

Implemented in ConvectionTransport.

virtual const vector<unsigned int>& ConcentrationTransportBase::get_subst_idx ( )
pure virtual

Return substance indices used in balance.

Implemented in ConcentrationTransportModel, and ConvectionTransport.

virtual unsigned int ConcentrationTransportBase::n_substances ( )
pure virtual

Returns number of trnasported substances.

Implemented in ConvectionTransport, and ConcentrationTransportModel.

virtual std::shared_ptr<OutputTime> ConcentrationTransportBase::output_stream ( )
pure virtual

Getter for output stream.

Implemented in ConcentrationTransportModel, and ConvectionTransport.

virtual void ConcentrationTransportBase::set_balance_object ( std::shared_ptr< Balance balance)
pure virtual

Use Balance object from upstream equation (e.g. in various couplings) instead of own instance.

Implemented in ConcentrationTransportModel, and ConvectionTransport.

virtual void ConcentrationTransportBase::set_output_stream ( std::shared_ptr< OutputTime stream)
pure virtual

Setter for output stream.

Implemented in ConcentrationTransportModel, and ConvectionTransport.

virtual void ConcentrationTransportBase::set_target_time ( double  target_time)
pure virtual

Set time interval which is considered as one time step by TransportOperatorSplitting. In particular the velocity field dosn't change over this interval.

Dependencies:

velocity, porosity -> matrix, source_vector matrix -> time_step

data_read_times -> time_step (not necessary if we won't stick to jump times) data -> source_vector time_step -> scaling

Implemented in ConcentrationTransportModel, and ConvectionTransport.

virtual void ConcentrationTransportBase::set_velocity_field ( const MH_DofHandler dh)
pure virtual

Pass velocity from flow to transport.

Implemented in ConvectionTransport, and ConcentrationTransportModel.

virtual SubstanceList& ConcentrationTransportBase::substances ( )
pure virtual

Returns reference to the vector of substnace names.

Implemented in ConvectionTransport, and ConcentrationTransportModel.

virtual void ConcentrationTransportBase::update_after_reactions ( bool  solution_changed)
pure virtual

Perform changes to transport solution after reaction step.

Implemented in ConvectionTransport.


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