bench: Different results depending on values being changed via command line or hardcoded in model-file
Summary
I am running single cell simulations using both an ionic model (O’Hara-Rudy) as well as a plugin (Stress_Land17). While trying to optimize variables of the Plugin, I ran into an unexpected deviation in the results. Changing parameters of Stress_Land17 for optimization does not result in the expected results. Further investigation shows that deviations can be observed between changing values in the .model-file and passing the same values as parameters using the commandline/carputils.
What version of openCARP are you using?
v14.0
What operating system and processor architecture are you using?
macOS 13.3.1
Steps to reproduce
I ran simulations, using the O’Hara-Rudy (endo) and Land17 models, with a duration of 1ms, a time-step of 0.1ms, an output time-step of 0.1ms, a start of stimulus at 0.0ms and a basic cycle length of 1000ms. [bench --imp=OHara --imp-par=flags=ENDO --plug-in=Stress_Land17 --duration=1 --dt=0.1 --dt-out=0.1 --stim-start=0.0 --bcl=1000 --validate --bin]. I first ran one simulations without any changes as my reference. Afterwards I separately changed the values of multiple parameters, listed below. At first I used the available commands (—imp-par/—plug-par), followed by changing the value in the .model-file and building openCARP again. I then plotted the tension or action potential of all three variations (reference/hardcoded/parameter) to display any deviations.
The following values were than changed:
Plugin: Tref: 120 —> 150/nperm: 5.0 —> 9.099 (needs to be made a parameter by adding it to {}.param)/perm50: 0.35 —> 0.5
Imp: Nao: 140 —> 100
What is the current bug behavior?
When changing the value of nperm or perm50 of the Land model, different results are visible depending on if the value was hardcoded or passed via commandline/carputils.
What is the expected correct behavior?
No difference should be visible.
Relevant logs and/or screenshots
When changing a parameter via commandline/carputils the correct value is printed in the logs.