headmyshoulder / odeint-v2

odeint - solving ordinary differential equations in c++ v2
http://headmyshoulder.github.com/odeint-v2/
Other
337 stars 102 forks source link

stiff system solver example - unknown arguments #229

Open aa0111 opened 6 years ago

aa0111 commented 6 years ago

Hi,

I am using odeint to solve a stiff ODE system. I wrote my code by modifying the stiff system example in odieint documentation which used the following code:

size_t num_of_steps = integrate_const( make_dense_output< rosenbrock4< double > >( 1.0e-6 , 1.0e-6) , make_pair( stiff_system() , stiff_system_jacobi() ) ,x , 0.0 , run_time ,0.5,cout << phoenix::arg_names::arg2 << " " << phoenix::arg_names::arg1[0] << " " << phoenix::arg_names::arg1[1] << " " << phoenix::arg_names::arg1[2] << " " << phoenix::arg_names::arg1[3] << "\n");

However, I am having trouble figuring out what the numbers ( 1.0e-6 , 1.0e-6) stand for. I couldn't find an answer after looking at the documentation(or maybe I saw it but didn't understand it) so I looked into the library code and figured that they were absolute error and relative errors respectively. Can you please confirm it?

Also, my system has four states. I just noticed that I was using (1.0e-6, 1.0e-6, 1.0e-6). What does the third number stand for in this case?

Thanks.