I (somewhat) understand how distribution works in parallelization. I would like to run WSMLink on multiple kernels, but I suspect that WSMLink makes calls to WSM and not to the Mathematica kernel. Is there a way to parallelize WSM? I tried DistributedContexts->“WSMLink`” but that didn’t do it either.
If I explain my goal, someone will probably have a better idea of how to accomplish it. I know there is sensitive analysis in WSM, but I want to vary specific parameters in a well defined way. I’d like to run this parameter study by scripting instead of using a GUI. So in Mathematica I tried
That will run simulations in parallel and return a list of simulation results.
Using the parallel Mathematica kernels (Parallelize, ParallelTable, ParallelEvaluate…) with WSMLink is not recommended. For starters, it would require every Mathematica slave kernel establishing a connection to SystemModeler.
The SystemModeler kernel cannot handle more than one request at the time, so the speedups are not likely to be significant. Also, a normal license only allows for one connection at a time between Mathematica/WSMLink ↔ SystemModeler.
With this information, can I confirm a couple things with you?
Presumably I can set multiple parameters with Lists of the same length parsList={"component.parameter"->{1,2,3,4},"component.parameter1"->{2,3,4,5}}
And hopefully I can mix scalars and lists parsList={"component.parameter"->{1,2,3,4},"component.parameter1"->2}
And finally, what happens if my lists are unequal lengths? Will I get an error? parsList={"component.parameter"->{1,2,3,4},"component.parameter1"->{2,3}}