-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow directly setting presimulation and preequilibration parameters in model #931
Comments
What about just giving |
I see your point. My Primary issue is that interactive simulations are quite cumbersome at the moment. ExpData doesnt have any |
Yeah, could be more comfortable, agreed.
Let's add them? Pull the ids/names and some of the dimensions out of Having names and IDs in a separate object would also be quite convenient for tying that info onto |
Maybe off-topic with respect to setting parameters, but regarding convenient interactive use of |
Hmm adding them to ExpData is also duplicating code. How about we permanently add an ExpData instance to model where all parameters/fixpars are set and remove respective members from Model. This makes the
Yes, ReturnData will have to be refactored at some point ... |
Wait, I though that should already be possible. I may need to set timepoints first before you are able to set new observables. With different dimensions. |
Exactly what I meant. So 👍 .
I may have missed it. I know that I can change timepoints and the other members will grow / shrink accordingly, but I thought I need to re-set all data. So appending is afaik not possible. |
Oh didn't read the appending part, should be straightforward to implement though. |
Hmm, I think I wasn't specfic enough. I thought about keeping the setter/getter routines as model method that edit the value in the attached Should we enforce passing a model instance when instantiating |
Okay, then it's not what I meant. I would avoid having those getters/setters twice. So if we want to keep them directly on the Model instance (which would be convenient in terms of compatibility), then I would implement them in ExpData and have Model inherit from ExpData instead of owning one. Not great design, but maybe a compromise.
Maybe not enforce, but establish Model::createExpData() as default way of creating new instances. Yes, would be good to also check the IDs. For most models, that shouldn't get crazily expensive. May rather safe some time by preventing some mistakes... |
What about creating a seperate class SimData that carries parameter scale, parameters, timepoints and fixedParameters for preequilibration/presimulation/simulation that has all the getter/setter methods including the byName/byId + regex variants. Both model and ExpData would inherit from that class. |
Sounds good. Maybe something like SimulationParameters? Sounds less like model outputs. But I can also go with SimData. |
…1407) This allows using Model without ExpData unless there really are measurements. Also avoids having to add any new member of ExpData also to Model and slims down Model a bit. Getters and setters for SimulationParameters members are still in Model, which is to preserve backwards compatibility for ExpData, which allowed unchecked access to the respective members. Further refactoring to follow. Partially addresses #931 (moving ID / name functions is still missing).
Having to create and
Expdata
instance for is often a bit cumbersome and this may also ease the programmatic creation of ExpData using the model constructor.The text was updated successfully, but these errors were encountered: