Co-simulation is generally considered to occur when two or more different simulation solvers are run simultaneously and coupled together to solve a multi-physics problem such as fluid flow over a deformable structure.
Often this may be considered a ‘Big Company’ solution with the opinion that it could be cumbersome and tricky to set up, require custom MPI software and permissions on the OS, and then require huge amounts of runtime.
But it doesn’t have to be. A possible application at a client site caught our attention and our experienced CAE Consultant, Andy Woodward, took on the challenge.
Let’s look into this in more detail.
We’re particularly interested in the MSC CoSim application that has been released to allow you to set up jobs running between some of the MSC/Hexagon solvers.
It is able to couple the Cradle CFD codes to Adams, Marc, and Nastran, including a three-way solution for fluid flow with mechanisms and nonlinear FEA by coupling Adams, Marc and scFLOW in a single run.
The client’s application was simulating a quite complex rigid body mechanism but where one aspect was a component that was actually quite non-linear in its deflection behaviour.
In order to understand what was involved, we decided to work through a fabricated example to understand the steps and to pick up some experience.
The model chosen for this simulation is a mechanism for press fitting bushings into a hole in a housing.
The hand crank ultimately exerts a downward force on the plunger which presses the bearing into the housing.
The mechanism itself is simple to model in Adams - a four-bar linkage, effectively - and the bushing insertion was fairly straightforward in Marc too.
MSC Adams Mechanism
MSC Marc Press Fit
How do we couple these two simulations together so that a force applied to the handle in the Adams model is pushing against the reaction force of the copper bushing being press fit into the steel housing in the Marc simulation?
Quite easily as it turns out.
Co-simulation between Marc and Adams is done by pairing a node in Marc with a marker in Adams. During the co-simulation the displacement of these is held the same, passing the motion between the alternating steps of the two solvers.
Our Marc model uses a rigid surface to represent the end of the plunger that interfaces with the bushing. We used a load-controlled rigid surface which has a reference node that controls its behaviour – if the node moves down 2mm using a displacement boundary condition, then the rigid moves down 2mm.
From a model using this simple control we have just two steps to prepare the model for co-simulation.
Firstly, we change the type of the displacement boundary condition from ‘Entered Values’ to ‘Co-Simulation Interface’.
Then export the .dat input file, using the setting to specify that it will be used in a Marc/Adams co-simulation.
The resulting deck is ready to go.
In Adams we have a couple of extra steps to do also. The CoSim plugin is used to specify an interface marker as a GForce entity. We simply name it and pick the correct marker.
We then use the same menu to export the interactions for a Marc co-sim.
We then write out the Adams Analysis Dataset and the Simulation Script from Adams View and we’re ready to set up the co-simulation.
The MSC Cosim interface allows us to quickly import the Adams dataset and the Marc input deck.
It identifies from the files which nodes and markers have been defined as interfaces and allows us to quickly pair them up.
Once they’re paired, we can execute the solve.
MSC Cosim orchestrates the Marc and Adams runs that take it in turn. Adams advances the mechanism a fraction, the displacement of the interface marker is passed to Marc which moves the paired node, passing the forces back to Adams, which then advances another increment.
We can monitor the progress of both solves from CoSim, or by looking at the output files generated by each solver.
Once the analysis has completed, we can post-process the two sets of output in their respective post-processors. Alternatively, we can merge the two sets of data in the Cradle Post application to visualise them together.
Setting up the co-simulation is straightforward once you’ve built models with the marker and nodes at the same position. Cosim will even take care of scaling if your models are in different unit systems.
All the tools shown are available within the MSC One unified token licensing system, meaning that you can use the same resources for your day-to-day simulation on the odd occasion where you need to do something more complex.
If this is of interest, or you want to talk in more detail about MSC One, please get in touch and we can discuss your specific requirements in more detail.
Take the Next Steps...
If you’d like to learn more, please get in touch to find out how we can help you get the most out of your company’s simulation.