In the implementation of the IDE model, some functions are public although they shouldn't be accessed from outside of the model without deeper knowledge of the numerical solver. This concerns functions such as compute_flow and set_transitiondistributions_support_max. However, they are needed for initialization based on reported data and are used in the file parameters_io.h which is why they have to be public.
One solution would be to rewrite the initialization as a class and define this class as well as the Simulation class as friend classes of Model. With this, functions from Model could be used in these classes but not anywhere else and errors could be prevented.
Functions can be declared as friend as well, such that it is not necessary to rewrite the initialization function. Therefore, this issue should not be very difficult.
In the implementation of the IDE model, some functions are public although they shouldn't be accessed from outside of the model without deeper knowledge of the numerical solver. This concerns functions such as
compute_flow
andset_transitiondistributions_support_max
. However, they are needed for initialization based on reported data and are used in the file parameters_io.h which is why they have to be public.One solution would be to rewrite the initialization as a class and define this class as well as the Simulation class as friend classes of Model. With this, functions from Model could be used in these classes but not anywhere else and errors could be prevented.