Chi-Tech
point_reactor_kinetics.h
Go to the documentation of this file.
1#ifndef CHITECH_POINT_REACTOR_KINETICS_H
2#define CHITECH_POINT_REACTOR_KINETICS_H
3
5#include "math/chi_math.h"
8
9namespace prk
10{
11/**General transient solver for point kinetics.
12
13* */
15{
16private:
17 std::vector<double> lambdas_;
18 std::vector<double> betas_;
19 double gen_time_;
20 double rho_;
22 std::string time_integration_;
23
27 double beta_ = 1.0;
28 double period_tph_ = 0.0;
29
30public:
32 explicit TransientSolver(const chi::InputParameters& params);
33
34 void Initialize() override;
35 void Execute() override;
36 void Step() override;
37 void Advance() override;
38
39 chi::ParameterBlock GetInfo(const chi::ParameterBlock& params) const override;
40
41 // Getters and Setters
42 double PopulationPrev() const;
43 double PopulationNew() const;
44 double Period() const;
45 double TimePrev() const;
46 double TimeNew() const;
47 std::vector<double> SolutionPrev() const;
48 std::vector<double> SolutionNew() const;
49
50 void SetProperties(const chi::ParameterBlock& params) override;
51
52 void SetRho(double value);
53};
54} // namespace prk
55
56#endif // CHITECH_POINT_REACTOR_KINETICS_H
TransientSolver(const chi::InputParameters &params)
void SetProperties(const chi::ParameterBlock &params) override
chi_math::DynamicMatrix< double > A_
std::vector< double > lambdas_
std::vector< double > betas_
std::vector< double > SolutionNew() const
chi::ParameterBlock GetInfo(const chi::ParameterBlock &params) const override
chi_math::DynamicVector< double > q_
chi_math::DynamicVector< double > x_tp1_
chi_math::DynamicVector< double > x_t_
chi_math::DynamicMatrix< double > I_
static chi::InputParameters GetInputParameters()
std::vector< double > SolutionPrev() const