A Simple Fixed Step Master Algorithm Clause Samples
A Simple Fixed Step Master Algorithm. We start by defining the set of events that cause the algorithm to terminate on some FMU i. This includes the step outcomes fail and discard (the algorithm is fixed step-size so it terminates when a FMU rejects the given step-size), and the cancelling of FMU simulation steps (event stepCancel ). fsmaTermEvs(i) = {|▇▇▇▇▇▇▇▇▇▇▇▇▇.▇.▇▇▇▇ , doStepOutcome.i.discard, stepCancel.i|} Process fixed step master algorithm (FSMA), follows the MA structure out- lined in Fig. 4, takes an indexed collection of FMUs to simulate ifmus, a co-simulation interval cint , the simulation’s fixed step stp and the pending timeout duration to. FSMA(ifmus, cint, stp, to) = let TriggerTerminate = terminateMA SKIP Terminate = MATerminate(ifmus) Startup = StartupFMUs(ifmus, cint ) termEvs = consFMIEvs(ifmus, fsmaTermEvs) Execute = startMA Startup; Simulate within Execute Δ Terminate Above, MA execution is interrupted when the MA terminates. Process Execute starts upon event startMA, which triggers the configuration of the FMUs (Setup) and does the simulation (Simulate).
