Flow123d  build_with_4.0.3-01443f6
Public Types | 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 Types

typedef std::vector< std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > > FieldFEScalarVec
 

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 compute_p0_interpolation ()=0
 Compute P0 interpolation of the solution (used in reaction term). 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 FieldFEScalarVecget_p0_interpolation ()=0
 Getter for P0 interpolation by FieldFE. More...
 
virtual Vec get_component_vec (unsigned int sbi)=0
 Return PETSc vector with solution for sbi-th substance. 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 ()
 
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 Input::Type::Abstractget_input_type ()
 Common specification of the input record for secondary equations. More...
 
- 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...
 

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

Abstract interface class for implementations of transport equation within TransportOperatorSplitting.

Definition at line 61 of file transport_operator_splitting.hh.

Member Typedef Documentation

◆ FieldFEScalarVec

typedef std::vector<std::shared_ptr<FieldFE< 3, FieldValue<3>::Scalar> > > ConcentrationTransportBase::FieldFEScalarVec

Definition at line 64 of file transport_operator_splitting.hh.

Constructor & Destructor Documentation

◆ ConcentrationTransportBase()

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

Constructor.

Definition at line 69 of file transport_operator_splitting.hh.

Member Function Documentation

◆ compute_p0_interpolation()

virtual void ConcentrationTransportBase::compute_p0_interpolation ( )
pure virtual

Compute P0 interpolation of the solution (used in reaction term).

Implemented in ConvectionTransport.

◆ evaluate_time_constraint()

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

Computes a constraint for time step.

Implemented in ConvectionTransport.

◆ get_component_vec()

virtual Vec ConcentrationTransportBase::get_component_vec ( unsigned int  sbi)
pure virtual

Return PETSc vector with solution for sbi-th substance.

Implemented in ConvectionTransport.

◆ get_input_type()

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:

◆ get_p0_interpolation()

virtual FieldFEScalarVec& ConcentrationTransportBase::get_p0_interpolation ( )
pure virtual

Getter for P0 interpolation by FieldFE.

Implemented in ConvectionTransport.

◆ get_subst_idx()

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

Return substance indices used in balance.

Implemented in ConvectionTransport, and ConcentrationTransportModel.

◆ n_substances()

virtual unsigned int ConcentrationTransportBase::n_substances ( )
pure virtual

Returns number of trnasported substances.

Implemented in ConvectionTransport, and ConcentrationTransportModel.

◆ set_balance_object()

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 ConvectionTransport, and ConcentrationTransportModel.

◆ set_output_stream()

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

Setter for output stream.

Implemented in ConvectionTransport, and ConcentrationTransportModel.

◆ set_target_time()

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.

◆ substances()

virtual SubstanceList& ConcentrationTransportBase::substances ( )
pure virtual

Returns reference to the vector of substnace names.

Implemented in ConvectionTransport, and ConcentrationTransportModel.

◆ update_after_reactions()

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: