I’m trying to simulate an FSI problem using openfoam-calculix adapter. The hydraulic pressure is quite large at first, compared to the structure’s feature. This usually leads to a diverse of the simulation. Is there a way to make it run smoothly?
My idea is to scale the received force with a ratio, for example: force=force0*k, k is gradually approaching 1.0 with time increasing and equals 1.0 after a given time. Does anyone know how to do it? Or if you have other solutions, please give me some suggestions.
If you have preCICE installed with support for Python Actions (Python callback interface) you could use this to implement ramping up the force. There is an example in the documentation where this is done for the exchanged pressure. Does this help you?
Maybe you can use the *AMPLITUDE card in CalculiX. It is, by default, a linear function which is multiplied with the forces to ramp up external pressure, or even coupling forces. Is this what you’re looking for?
For example, to ramp up the force over one second in CalucliX, you first define the ramp with the *AMPLITUDE card, and later use it on a *CLOAD or *DLOAD card. The syntax is: time1, value1, time2, value2.
If it works, this may be the easiest way to go. I know how to ramp a force using amplitude card in calculix, but how can I ramp a coupling force? This force doesn’t appear in the .inp file.
Well I think it does appear, in the *CLOAD card. The *CLOAD force gets overridden by the precice adapter, and I’m not sure if the amplitude will be applied afterwards. Might be worth a test, since it’s easy.