Flow123d  DF_patch_fe_data_tables-522f93f
Classes | Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
ConcentrationTransportModel Class Referenceabstract

#include <concentration_model.hh>

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

Classes

class  ModelEqData
 
class  ModelEqFields
 

Public Types

typedef ConcentrationTransportBase FactoryBaseType
 
- Public Types inherited from AdvectionDiffusionModel
enum  Abstract_bc_types { abc_inflow , abc_dirichlet , abc_total_flux , abc_diffusive_flux }
 
- Public Types inherited from ConcentrationTransportBase
typedef std::vector< std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > > FieldFEScalarVec
 

Public Member Functions

 ConcentrationTransportModel (Mesh &mesh, const Input::Record &in_rec)
 
void init_from_input (const Input::Record &in_rec) override
 Read necessary data from input record. More...
 
 ~ConcentrationTransportModel () override
 
unsigned int n_substances () override
 Returns number of transported substances. More...
 
SubstanceListsubstances () override
 Returns reference to the vector of substance names. More...
 
void set_target_time (double) override
 
void set_balance_object (std::shared_ptr< Balance > balance) override
 
const vector< unsigned int > & get_subst_idx () override
 Return substance indices used in balance. More...
 
void set_output_stream (std::shared_ptr< OutputTime > stream)
 Setter for output stream. More...
 
virtual ModelEqFieldseq_fields ()=0
 Derived class should implement getter for ModelEqFields instance. More...
 
virtual ModelEqDataeq_data ()=0
 Derived class should implement getter for ModelEqData instance. More...
 
- Public Member Functions inherited from AdvectionDiffusionModel
virtual ~AdvectionDiffusionModel ()
 Destructor. More...
 
- Public Member Functions inherited from ConcentrationTransportBase
 ConcentrationTransportBase (Mesh &init_mesh, const Input::Record in_rec)
 
virtual bool evaluate_time_constraint (double &time_constraint)=0
 Computes a constraint for time step. 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 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...
 
- 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)
 

Protected Member Functions

void init_balance (const Input::Record &in_rec)
 

Static Protected Member Functions

static IT::Record get_input_type (const string &implementation, const string &description)
 

Protected Attributes

double solvent_density_
 Density of liquid (a global constant). More...
 
std::shared_ptr< OutputTimeoutput_stream_
 
- 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...
 

Additional Inherited Members

- Static Public Member Functions inherited from ConcentrationTransportBase
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...
 

Detailed Description

Definition at line 48 of file concentration_model.hh.

Member Typedef Documentation

◆ FactoryBaseType

Definition at line 155 of file concentration_model.hh.

Constructor & Destructor Documentation

◆ ConcentrationTransportModel()

ConcentrationTransportModel::ConcentrationTransportModel ( Mesh mesh,
const Input::Record in_rec 
)

Definition at line 334 of file concentration_model.cc.

◆ ~ConcentrationTransportModel()

ConcentrationTransportModel::~ConcentrationTransportModel ( )
override

Definition at line 345 of file concentration_model.cc.

Member Function Documentation

◆ eq_data()

virtual ModelEqData& ConcentrationTransportModel::eq_data ( )
pure virtual

Derived class should implement getter for ModelEqData instance.

Here is the caller graph for this function:

◆ eq_fields()

virtual ModelEqFields& ConcentrationTransportModel::eq_fields ( )
pure virtual

Derived class should implement getter for ModelEqFields instance.

◆ get_input_type()

IT::Record ConcentrationTransportModel::get_input_type ( const string &  implementation,
const string &  description 
)
staticprotected

Create input type that can be passed to the derived class.

Parameters
implementationString characterizing the numerical method, e.g. DG, FEM, FVM.
descriptionComment used to describe the record key.
Returns

Definition at line 323 of file concentration_model.cc.

◆ get_subst_idx()

const vector<unsigned int>& ConcentrationTransportModel::get_subst_idx ( )
inlineoverridevirtual

Return substance indices used in balance.

Implements ConcentrationTransportBase.

Definition at line 181 of file concentration_model.hh.

◆ init_balance()

void ConcentrationTransportModel::init_balance ( const Input::Record in_rec)
protected

Empty temporary method (must be implemented for continuity with HeatTransferModel)

Definition at line 356 of file concentration_model.cc.

◆ init_from_input()

void ConcentrationTransportModel::init_from_input ( const Input::Record in_rec)
overridevirtual

Read necessary data from input record.

Implements AdvectionDiffusionModel.

Definition at line 339 of file concentration_model.cc.

◆ n_substances()

unsigned int ConcentrationTransportModel::n_substances ( )
inlineoverridevirtual

Returns number of transported substances.

Implements ConcentrationTransportBase.

Definition at line 166 of file concentration_model.hh.

◆ set_balance_object()

void ConcentrationTransportModel::set_balance_object ( std::shared_ptr< Balance balance)
overridevirtual

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

Implements ConcentrationTransportBase.

Definition at line 349 of file concentration_model.cc.

◆ set_output_stream()

void ConcentrationTransportModel::set_output_stream ( std::shared_ptr< OutputTime stream)
inlinevirtual

Setter for output stream.

Implements ConcentrationTransportBase.

Definition at line 184 of file concentration_model.hh.

◆ set_target_time()

void ConcentrationTransportModel::set_target_time ( double  target_time)
inlineoverridevirtual

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

Implements ConcentrationTransportBase.

Definition at line 177 of file concentration_model.hh.

◆ substances()

SubstanceList& ConcentrationTransportModel::substances ( )
inlineoverridevirtual

Returns reference to the vector of substance names.

Implements ConcentrationTransportBase.

Definition at line 170 of file concentration_model.hh.

Member Data Documentation

◆ output_stream_

std::shared_ptr<OutputTime> ConcentrationTransportModel::output_stream_
protected

Definition at line 212 of file concentration_model.hh.

◆ solvent_density_

double ConcentrationTransportModel::solvent_density_
protected

Density of liquid (a global constant).

Definition at line 210 of file concentration_model.hh.


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