Closed ingablundell closed 5 years ago
@ingablundell You are right in principle. Unfortunately, the GSL documentation does not provide any information about the reasons for and consequences of the change in the interface. My understanding is that it is purely a change in the interface with no consequences for the actual integration. Some stepping algorithms, though, are available only for the new interface.
Re-writing everything manually would be a lot of work with limited benefit. I would suggest that we keep the old interface in existing code, but generate code for the new interface with NESTML.
@heplesser My problem was that everything in the reference manual refers to the new version, so it is a bit annoying if you want to look up what the old version does.
But I would also say that this should be changed in the context of NESTML.
This is addressed by NESTML code generation.
In all models that use GSL solvers for ODEs the functions have not been updated.
The functions are declared in the header file gsl_odeiv.h. But should be gsl_odeiv2.h according to the new version. Then the prefix gsl_odeiv will have to be changed to gsl_odeiv2 for all functions.
In the reference manual for GSL solvers it is
but
See:
https://www.gnu.org/software/gsl/manual/html_node/Ordinary-Differential-Equations.html
This is relevant for the following models:
aeif_cond_alpha.cpp aeif_cond_alpha.h aeif_cond_beta_multisynapse.cpp aeif_cond_beta_multisynapse.h aeif_cond_exp.cpp aeif_cond_exp.h aeif_psc_alpha.cpp aeif_psc_alpha.h aeif_psc_exp.cpp aeif_psc_exp.h gif_cond_exp.cpp gif_cond_exp.h gif_cond_exp_multisynapse.cpp gif_cond_exp_multisynapse.h hh_cond_exp_traub.cpp hh_cond_exp_traub.h hh_psc_alpha.cpp hh_psc_alpha_gap.cpp hh_psc_alpha_gap.h hh_psc_alpha.h ht_neuron.cpp ht_neuron.h iaf_chxk_2008.cpp iaf_chxk_2008.h iaf_cond_alpha.cpp iaf_cond_alpha.h iaf_cond_alpha_mc.cpp iaf_cond_alpha_mc.h iaf_cond_exp.cpp iaf_cond_exp.h iaf_cond_exp_sfa_rr.cpp iaf_cond_exp_sfa_rr.h