Reputation: 581
Is there a comprehensive documentation of Dymola flags anywhere?
For example, today I found the flag Advanced.ParallelizeAnalyticJacobian
and I do not know what it does. I opened the full Dymola documentation pdf (1A...2C merged into one document) and searched for the flag, but no results.
Is there another place to look for this information? Or should I just try and set it to true and do a benchmark of my simulation time?
Upvotes: 1
Views: 177
Reputation: 12507
In general less documented flags are for less common cases.
For the flag Advanced.Translation.ParallelizeAnalyticJacobian it is as described: "Parallelize calculations of possible analytic Jacobian for the ODE problem" which means that if you don't have and use an analytic Jacobian it doesn't help.
First you should check if the Jacobian computation are actually time-consuming for the problem, otherwise it doesn't make sense to try to speed them.
Since it parallelize the analytic Jacobian the first step would be to activate them:
Advanced.Translation.Generate.AnalyticJacobian=true;
and hope that the analytic Jacobian can be generated (most methods will then use the Jacobian). See "Using analytic ODE Jacobians" in the Dymola manual.
And then Advanced.Translation.ParallelizeAnalyticJacobian=true
just runs those Jacobian computation in parallel.
Note that it will not provide any significant benefit if you are already running simulations in parallel, e.g., by running parameter sweeps in Dymola.
(An alternative is Advanced.Translation.SparseActivate=true
- which uses sparse computations instead.)
Oh, and a final hint: the flags in Dymola has been "renamed" - search for the last part of the name e.g., SparseActivate
in the manual. Both variants will work in scripts.
Upvotes: 1