Running quasi-static and static co-simulations

This section is related to co-simulations with Marc only. The EDEM Coupling Interface fully controls the simulation of EDEM. No changes are required in the EDEM deck for static and quasi-static simulations.
Running dynamic co-simulations does not pose a need for special setup procedures; the sole requirement is that the end simulation time in all co-simulating models match. There is no need for the models to match the size of the step or the number of time steps (Adams) nor the number of increments (Marc).
However, running quasi-static and static simulations call for extra setup steps.

Quasi-static co-simulations

When running quasi-static simulation in Adams, the communication between Adams and the Glue code is done at the end of every output -step taken by Adams (in dynamic co-simulations the communication is done at the end of each integration step). For example, consider the simulation command:
SIMULATE/STATICS, END=2, STEPS=120
In this case Adams will communicate 120 times with the Glue code passing kinematic data and requesting force and stiffness values from Marc/EDEM at the end of each output step. This is in contrast with dynamic co-simulations. For example, given the following dynamic simulation command:
SIMULATE/DYNAMIC, END=2, STEPS=120
For this case, the communication between Adams with the Glue code is undetermined and usually much bigger than 120 times. The reason is that the STEPS option in dynamic simulations stands for the frequency of the output results blocks, not the number of simulation steps. On the contrary, in static simulations the option STEPS defines both the frequency of the output results block and the number of static steps to be taken by Adams.
In conclusion, when running quasi-static simulations, we recommend increasing the number of quasi-static STEPS in Adams in order to have a more frequent communication with the Glue code. Given that 95% or more of the total co-simulation time is usually spent by Marc/EDEM, increasing the number of STEPS in Adams does not make an impact in the total wall time to finish the co-simulation.

Static co-simulations

Running pure static simulations poses a particular problem. Here we define pure statics as a static simulation in which the time does not increase. The current ACSI version has an approximate algorithm to run pure static simulations. The algorithm works around a limitation regarding running pure static simulations in Marc. Marc can't run a pure static simulation; static simulations in Marc must always increase the time.
To overcome this limitation, the ACSI has a special algorithm and users need to provide extra increments in the Marc model. The special algorithm consists of Adams communicating to the Glue code at each iteration. In the pure static case, the Glue code sets a flag when Adams is in pure statics mode and tells Marc to take a tiny time step per each Adams iteration. Hence, after the static simulation in Adams is finished, Marc will be ahead in time an amount equal to the number of iterations taken by Adams times the size of a tiny time step. (The size of that tiny step is 1.e-6 by default but it can be modified by using the statics_step_size option in the Marc process block.)
Hence, (a) users need to set the end time in the Marc models later than the end time in Adams and (b) users must make sure there are plenty of increments to be taken by Marc.
For example, given the following simulation commands in Adams:
SIMULATE/STATICS
SIMULATE/DYNAMICS, END=1, STEP=100
users need to estimate how many iterations will be taken by Adams and set the end time in Marc larger than the end time in Adams and set the time steps in Marc accordingly. Setting a later end time in Marc models poses no problem in the quality of results; Adams will terminate the simulation first and will notify the Marc models not to proceed any further.
Figure 13 below describes the process. Figure 13 (a) shows Adams and Marc simulation times before the co-simulation starts. Figure 13 (b) shows the location in time after the pure statics simulation has completed. Notice Adams time is still at time t=0 while Marc took some number of small simulation steps. Figure 13 (c) shows the simulation time during the dynamic co-simulation.
Notice that Marc consumed a number of increments during the pure statics simulation. Hence, in this example, you need to set the end time in Marc larger than 1.0 (Adams' end time) to account for the consumed increments. Given that running pure static co-simulations is a trial-and-error process, users should ignore error messages related to a premature end of the co-simulation, and focus on the results up to the final Adams simulation time.
Figure 13 Running pure static co-simulations