Question about the coupling of multiple solvers and the IQN-ILS filter

Hey!

I have a question about the IQN-ILS filter, since I am experiencing some trouble with it. In the figure, I have made a sketch of the situation. Case 1 works very well! However, when I increase the number of solvers, see Case 2. I cannot obtain well convergence. The arrows in the figure indicate the coupling variable. So for the Nutils solver, a temperature is put on the boundary and it gives a heat flux back to the OpenFOAM solver. For Nutils2, this is switched around.

The log files are posted here.

precice-OpenFOAM-convergence.log (63.8 KB)
precice-OpenFOAM-iterations.log (263 Bytes)

It starts of well, however then it sort of ‘freezes’ at values in the time steps where 120 iterations is reached. (this is the maximum amount of iterations it can do)
My precice config is posted here:

precice-config.xml (5.7 KB)

Note, that Nutils2 has variables called Temperature4 and Heatflux4 (this was a slight typing mistake). I am also not underrelaxaing the heat flux for solver 2. Is 5 variables too much for such an iterator scheme? or am I missing something to help convergence. I am confused, since for 2 solvers it worked perfectly fine.

Thank you in advance! If anything is unclear, let me know!

Kind regards,

Cars

questionprecice

It seems I might have found a solution. I am only applying under-relaxation for the Temperatures and the heat flux of Nutils (the first solver). It seems like this reduces iterations very much. I think this is due to the problem not being very strongly coupled. Under relaxing the temperature is automatically influencing the heat flux. Therefore optimizing for both in the iterator, might cause some trouble getting under a certain residual). For the Nutils (first solver) heat flux is very important and under relaxation is still applied. It seems to work. Will keep this post updated!

Hi Cars,

I have noticed that in either parallel-implicit or multi coupled problems, using a small under-relaxation can harm performance. Can you try using an under-relaxation of 0.5 or at minimum 0.1? And what exactly do you mean you are only applying an under-relaxation of Nutils? Do you mean inside of the solver or adapter?

It also seems like the residuals might be quite different between the solvers. Could you try the residual-sum preconditioner instead, and the QR2 filter with a filter limit of 0.01 or 0.001? Looking at the iterations log, in time step 4 to 6, almost all columns are deleted. This needs a change in the filter and the QR2 filter may be better suited.

<acceleration:IQN-ILS>
      <data mesh="OpenFOAM-Mesh" name="Temperature1" />
      <data mesh="OpenFOAM-Mesh" name="Heat-Flux1" />
      <data mesh="OpenFOAM-Mesh4" name="Temperature4" />
      <data mesh="OpenFOAM-Mesh3" name="Temperature3" />
      <data mesh="OpenFOAM-Mesh3" name="Heat-Flux3" />
      
      <preconditioner type="residual-sum"/>
      <filter type="QR2" limit="1e-2"/>
      <initial-relaxation value="0.5"/>
      <max-used-iterations value="120"/>
      <time-windows-reused value="10"/>
    </acceleration:IQN-ILS>

Alternatively, you could try the IQN-IMVJ method with a least squares restart:

<acceleration:IQN-IMVJ>
      <data mesh="OpenFOAM-Mesh" name="Temperature1" />
      <data mesh="OpenFOAM-Mesh" name="Heat-Flux1" />
      <data mesh="OpenFOAM-Mesh4" name="Temperature4" />
      <data mesh="OpenFOAM-Mesh3" name="Temperature3" />
      <data mesh="OpenFOAM-Mesh3" name="Heat-Flux3" />
      
      <preconditioner type="residual-sum"/>
      <filter type="QR2" limit="1e-2"/>
      <initial-relaxation value="0.5"/>
      <max-used-iterations value="100"/>
      <time-windows-reused value="2"/>
      <imvj-restart-mode type="RS-LS"  chunk-size="10" reused-time-windows-at-restart="20" />
    </acceleration:IQN-IMVJ>
1 Like

Hello,

Yes, the higher relaxation value seemed to help in reducing iterations! Also the under-relaxation of only temperature and not the heat flux seemed to work in my case. Thank you for your help!

Kind regards,

Cars

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