ParallelSimulationProvider

constructor(modelBuilder: ModelBuilderIfc, modelConfiguration: Map<String, String>? = null, baseRunParameters: ExperimentRunParametersIfc? = null, templateModel: Model? = null, simulationRunCache: SimulationRunCacheIfc? = null, shortCircuitSinglePoint: Boolean = true, dispatcher: CoroutineDispatcher = Dispatchers.IO.limitedParallelism(SimulationDispatcher.availableProcessors))(source)

Parameters

modelBuilder

builds a fresh model per point; must yield independent instances

modelConfiguration

opaque configuration forwarded to modelBuilder.build(...)

baseRunParameters

baseline run parameters shared by all points; if null, taken from the template model

templateModel

an already-built model to adopt as the template and single-point reuse model; if null, one is built

simulationRunCache

optional cache used only by the single-point (sequential) path

shortCircuitSinglePoint

when true (default), size-1 requests run on the reused model instead of the parallel path

dispatcher

the bounded dispatcher governing worker concurrency; defaults to a dedicated view sized to the processors