QR filtering in precice

I have trying to simulate FSI using overset mesh in openFoam for fluid and calculiX for solid. Since, the pressure fluctuation and interface force can generate noisy data due to overset; I have seen that the simulation is successfully running and suddenly diverges for QR1 filter. The divergence does not make sense as simulation was running smoothly through more dynamic phase. Although, QR3 filter seems to overcome that sudden divergence, i have following question to discuss. (1) running simulation with QR1 and restarting with QR3 never works but works for QR2. (2) What should be the limit of the various QR filters. (3) Which is better for stability in highly complex FSI simulation. Further, anyone who has simulated FSI using precice with overSet mesh in openFoam, any suggestion and insights are welcomed. Thank you.

I am using parallel implicit scheme with nearest neighbor mapping as i have made a conforming mesh. Can, the RBF with global interpolation help with stability.

Hello Abhishek, your observation is interesting!

The divergence does not make sense as simulation was running smoothly through more dynamic phase.

I suspect that after the dynamic phase, QR1 has filtered out too many new columns which actually has information needed for converging. QR2 and QR3 don’t have the tendency of deleting new columns, which may be better for your case.

(1) running simulation with QR1 and restarting with QR3 never works but works for QR2.

How does your complete configuration for acceleration look like?

(2) What should be the limit of the various QR filters.

Some hints are given here, but the final answer is case-dependent.

(3) Which is better for stability in highly complex FSI simulation.

QR2 is recommended over QR3 in this case. QR1 is also good when the filter limit is tuned.

Thanks for your quick Response @Fujikawas . It is really helpful.

Please see the coupling scheme and acceleration parameters below. Thanks in advance for your insightful suggestion.

coupling-scheme:parallel-implicit

<!--   <time-window-size value="2" method="fixed"/> -->

<!--   <max-time-windows value="6" />  -->

<participants first="Fluid" second="Solid" />
<exchange data="Force" mesh="Fluid-Mesh-Centers" from="Fluid" to="Solid" initialize="yes"/>
<exchange data="Displacement" mesh="Solid-Mesh" from="Solid" to="Fluid" initialize="yes"/>
<max-iterations value="100" />
<relative-convergence-measure limit="1e-3" data="Force" mesh="Fluid-Mesh-Centers" />
<relative-convergence-measure limit="1e-5" data="Displacement" mesh="Solid-Mesh" />

<!-- <acceleration:aitken>
   <data name="Displacement" mesh="Solid-Mesh" />
      <data name="Force" mesh="Fluid-Mesh-Centers" />
  <initial-relaxation value="0.1"/>
</acceleration:aitken> -->

<acceleration:IQN-ILS>
  <data name="Displacement" mesh="Solid-Mesh" />
  <data name="Force" mesh="Fluid-Mesh-Centers" />
 <!--  <preconditioner type="residual-sum" /> -->
  <preconditioner type="residual-sum" update-on-threshold="true" freeze-after="-1"/>

<filter type="QR2" limit="1.0e-2" />  
<!--  <filter type="QR3" limit="1e-3"/>   -->
<!--  <filter type="QR1" limit="1e-6"/> -->
     <!--  <initial-relaxation value="0.1" />-->
      <initial-relaxation value="0.1" enforce="false"/>
      <max-used-iterations value="100" />
      <time-windows-reused value="10" />
    </acceleration:IQN-ILS>

</coupling-scheme:parallel-implicit>

Further, for my overSet FSI simulation, everything seems to be converging well, as shown below.

TimeWindow  Iteration  ResRel(Fluid-Mesh-Centers:Force)  ResRel(Solid-Mesh:Displacement)

229       1   1.00719625e+00   3.86424803e-03
229       2   8.59955906e+00   7.21605269e-05
229       3   5.50341029e-02   9.18914640e-06
229       4   3.21356809e-02   4.86619186e-06
229       5   2.55743796e-03   8.35068105e-07
229       6   6.53103546e-03   5.24640137e-07
229       7   1.05651589e-03   2.06280952e-07
229       8   6.20841624e-04   2.95841510e-08
230       1   1.00646506e+00   3.83947266e-03
230       2   6.78746262e-01   2.84015244e-05
230       3   4.85845346e-02   9.18849076e-06
230       4   6.45700360e-03   2.60155518e-06
230       5   4.52420899e-03   9.01555776e-07
230       6   8.15323493e-04   2.36423536e-07
231       1   1.00522306e+00   3.80907931e-03
231       2   1.65129108e+00   4.81597245e-05
231       3   5.78079058e-01   1.17662813e-05
231       4   7.84559200e-02   6.15591083e-06
231       5   7.48040099e-03   1.67361158e-06
231       6   2.21601866e-03   3.37799753e-07
231       7   1.41239270e-03   1.06266343e-07
231       8   4.36852327e-04   3.04850463e-08
232       1   1.00398143e+00   3.78358766e-03
232       2   5.16680298e-01   6.31310925e-05
232       3   1.44385245e-01   1.99228173e-05
232       4   2.78509854e-03   4.76884172e-06
232       5   5.65706990e-03   4.86420323e-07
232       6   2.04264669e-03   1.35381279e-07
232       7   5.09263533e-04   4.09507501e-08
233       1   1.00000000e+00   3.75254236e-03

But suddenly diverging at time-wndow 233. This sudden divergence is due to crash of overSet mesh interpolation on OF2306. Any suggestion on this are welcomed. I have also attached the lift, tip displacement, and faceSkewness of my case.

Hi, just for completeness, what version of preCICE are you using? The QR3 filter had a bug in 3.2.0 which was fixed in 3.3.0.

I am using 3.2.0. Thanks for the heads up.

Actually sudden blow up was caused by oversolving the fluid while the mesh deformation (displacementLaplacian) is undersolved. I resolved my problem by maintaining the balance. Further, overset is very sensitive to the parallel simulation setup.

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.