Flow123d  jenkins-Flow123d-linux-release-multijob-282
radioactive_decay.hh
Go to the documentation of this file.
1 #ifndef RADIOACTIVE_DECAY_H_
2 #define RADIOACTIVE_DECAY_H_
3 
4 #include <vector>
5 
7 #include "input/accessors.hh"
8 
9 class Mesh;
10 
11 /** @brief Class implements the radioactive decay chain.
12  *
13  * This class implements the user interface for radioactive decay chain and prepares the reaction matrix,
14  * The decay behaves like the linear reaction thus everything else is inherited from
15  * the @p FirstOrderReactionBase class.
16  *
17  * TODO: fix the mass balance - we do not take in account the emitted particles.
18  */
20 {
21 public:
22  static Input::Type::Record input_type; ///< Input record for class RadioactiveDecay.
23  static Input::Type::Record input_type_single_decay; ///< Input record which defines particular decay step.
24  static Input::Type::Record input_type_product; ///< Input record for a product of a radioactive decay.
25 
26  /// Constructor.
28 
29  /// Destructor.
30  ~RadioactiveDecay(void);
31 
32 
33 protected:
34  /// Initializes private members of sorption from the input record.
35  void initialize_from_input() override;
36 
37  /// Implements the assembly of the system matrix of the ODEs.
38  void assemble_ode_matrix(void) override;
39 
40  std::vector<double> half_lives_; ///< Half-lives of the substances.
41 };
42 
43 #endif // RADIOACTIVE_DECAY_H_
void assemble_ode_matrix(void) override
Implements the assembly of the system matrix of the ODEs.
~RadioactiveDecay(void)
Destructor.
Definition: mesh.h:109
Base class for linear reactions and decay chain.
void initialize_from_input() override
Initializes private members of sorption from the input record.
Mesh & mesh()
Definition: equation.hh:171
static Input::Type::Record input_type_single_decay
Input record which defines particular decay step.
Class implements the radioactive decay chain.
Accessor to the data with type Type::Record.
Definition: accessors.hh:327
static Input::Type::Record input_type_product
Input record for a product of a radioactive decay.
std::vector< double > half_lives_
Half-lives of the substances.
static Input::Type::Record input_type
Input record for class RadioactiveDecay.
Record type proxy class.
Definition: type_record.hh:169
RadioactiveDecay(Mesh &mesh, Input::Record in_rec)
Constructor.