Priyanka
Priyanka

Reputation: 581

Documentation for less often used Dymola flags

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?

Dymola flag GUI

Upvotes: 1

Views: 177

Answers (1)

Hans Olsson
Hans Olsson

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

Related Questions