GamR  0.0.0
GammaROOT
Loading...
Searching...
No Matches
Solver.cc
Go to the documentation of this file.
1#include "Nucleus.hh"
2#include "Scheme.hh"
3#include "Solver.hh"
4
5namespace GamR {
6namespace Bateman {
7
8 void Solver::solve(Scheme &scheme) {
9 std::vector<double> x;
10 for (int i=0; i<scheme.nuclei.size(); ++i) {
11 x.push_back(N0 * scheme.nuclei[i]->N0);
12 }
13
14 double time = 0.0;
15 int step = 0;
16 while (time < max_time) {
17 rk.do_step(scheme, x, time, stepsize);
18 for (int i=0; i<scheme.nuclei.size(); ++i) {
19 scheme.nuclei[i]->population[step] = x[i];
20 }
21 ++step;
22 time += stepsize;
23 }
24 }
25 }
26}
27
std::vector< Nucleus * > nuclei
Definition Scheme.hh:15
boost::numeric::odeint::runge_kutta4< std::vector< double > > rk
Definition Solver.hh:13
void solve(Scheme &scheme)
Definition Solver.cc:8
Definition Gain.cc:19