-
Notifications
You must be signed in to change notification settings - Fork 61
[ModelicaSystem] split simulate() into two methods #311
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
base: master
Are you sure you want to change the base?
Conversation
b57bd0c
to
3ee7f7d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't understand what this change is doing. Maybe you can add a simple usage as test.
@adeas31 splitting simulate into two parts allows to define the command to run the executable without running it. Thus, several runs can be defined and later be executed using the same executable. See PR #312; it also contains an example as unittest where this is used. The example runs a DoE including structural and non-structural parameters. While any combination of non-structural parameters can be run using the same executable, any change of a structural parameter needs a rebuild of the executable. The new class - ModelicaSystemDoE - prepares all runs of the DoE (builing the model executable if needed) and then executes them in parallel. This also relates to issue #230 |
3ee7f7d
to
b57c7e3
Compare
(1) create ModelicasystemCmd instance - simulate_cmd() (2) run it - simulate()
b57c7e3
to
f108094
Compare
Still confused. I see that
The above pseudo code will not set |
@adeas31 your analyses is completly correct!
(1) prepare all such that a simulation can be run => In the current state, nothing changes; however, if you would like to run a bigger DoE, this allows to define one model within ModelicaSystem (define & build the executable) and then use The result file is not fixed within Additional to the result file, it must also be ensured that the csv file used as input for the executable does not use the same filename. This is done by PR #313 - here, the csv filename can also be provided. Within ModelicaSystemDoE, it is defined based on the used name for the result file. Regarding the pyseudo code, you have to define the result file to use:
|
[ModelicaSystem] split simulate() into two methods
(1) create ModelicasystemCmd instance - simulate_cmd()
(2) run it - simulate()
reason: