Flow123d  jenkins-Flow123d-linux-release-multijob-282
first_order_reaction.hh
Go to the documentation of this file.
1 #ifndef FIRST_ORDER_REACTION_H_
2 #define FIRST_ORDER_REACTION_H_
3 
4 #include <vector>
5 
7 #include "input/accessors.hh"
8 
9 class Mesh;
10 
11 /** @brief Class implements the linear reactions.
12  *
13  * This class implements the user interface for linear reactions and prepares the reaction matrix.
14  * Common features are inherited from the @p FirstOrderReactionBase class.
15  */
17 {
18 public:
19  static Input::Type::Record input_type; ///< Input record for class FirstOrderReaction.
20  static Input::Type::Record input_type_single_reaction; ///< Input record which defines particular reaction.
21  static Input::Type::Record input_type_reactant; ///< Input record for a reactant of a reaction.
22  static Input::Type::Record input_type_product; ///< Input record for a product of a reaction.
23 
24  /// Constructor.
25  FirstOrderReaction(Mesh &init_mesh, Input::Record in_rec);
26 
27  /// Destructor.
28  ~FirstOrderReaction(void);
29 
30 protected:
31 
32  /// Implements the assembly of the system matrix of the ODEs.
33  void assemble_ode_matrix(void) override;
34 
35  /// Initializes private members of sorption from the input record.
36  void initialize_from_input() override;
37 
38  std::vector<double> reaction_rates_; ///< Vector of reaction rates of the transported substances.
39 };
40 
41 #endif // FIRST_ORDER_REACTION_H_
static Input::Type::Record input_type_reactant
Input record for a reactant of a reaction.
Definition: mesh.h:109
Base class for linear reactions and decay chain.
static Input::Type::Record input_type
Input record for class FirstOrderReaction.
~FirstOrderReaction(void)
Destructor.
static Input::Type::Record input_type_single_reaction
Input record which defines particular reaction.
static Input::Type::Record input_type_product
Input record for a product of a reaction.
Accessor to the data with type Type::Record.
Definition: accessors.hh:327
void initialize_from_input() override
Initializes private members of sorption from the input record.
FirstOrderReaction(Mesh &init_mesh, Input::Record in_rec)
Constructor.
Record type proxy class.
Definition: type_record.hh:169
Class implements the linear reactions.
std::vector< double > reaction_rates_
Vector of reaction rates of the transported substances.
void assemble_ode_matrix(void) override
Implements the assembly of the system matrix of the ODEs.