7 UMLSequenceAllInOne 175 0 1001 1309 obj=Integrated model~a obj=Lifeline Iterative1D2dCoupler~b obj=Lifeline DFlow1d~c obj=Lifeline DFlowFM~d a->>>b : Oninitialize(); on=b b->>>c : ModelInitialize() b->>>c : ModelInitialize() off=b on=b a->>>b : OnExecute() b->b + : newTime += userTimeStep on=b off=b b->>>c : InitializeUserTimeStep() b->>>d : InitializeUserTimeStep() combinedFragment=loop~loop1 a d; b: currentTime < newTime b->>>c : InitializeComputationalTimeStep();on=c c->b : Timestep1D;off=c b->>>d : InitializeComputationalTimeStep();on=d d->b : Timestep1D;off=d c->d : Timestep1D combinedFragment=loop~loop2 a d; b: not converged b->>>c b->b + :timeStep = min (timeStep1D, timeStep2D) on=b off=b; b->>>c : GetVar(water_level) b->>>d : SetVar(water_level) b->>>d : RunComputaionalTimeStep(); on=d d->d + : compute 1d2d coefficients on=d off=d d->b : success, timeStep2D;off=d b->>>d : GetVar(qzeta1d2d) b->>>d : GetVar(qlat1d2d) b->>>c : SetVar(qzeta1d2d) b->>>c : SetVar(qlat1d2d) b->>>c : RunComputaionalTimeStep(); on=c c->b : success, timeStep1D;off=c b->b + :Check convergence on=b off=b; --=loop2 b->b + :CurrentTime += timeStep on=b off=b; b->>>c : FinalizeComputationalTimeStep() b->>>d : FinalizeComputationalTimeStep() --=loop1 b->>>c : FinalizeUserTimeStep() b->>>d : FinalizeUserTimeStep() off=b;