Multiple convergence criteria

Hi There,

I am coupling 2 physics at once, think one physics is defined by phi_1 (primary variable) and q_1 (flux), and the second physics is defined by phi_2 (primary variable) and q_2 (flux). The two physics are coupled but not very strongly.

I want to have separate convergence criteria for phi_1 and phi_2, and I would like to have both absolute and relative tolerances for both, because during the solution interval there may be times where either phi_1 or phi_2 doesn’t change much. So the convergence criteria I would like to have can be logically defined as

(phi_1_rel < rel_tol_1 .OR. phi_1_abs < abs_tol_1 ) .AND. (phi_2_rel < rel_tol_2 .OR. phi_2_abs , abs_tol_2 )

I cannot figure out how to achieve this within the available options in the precice_config file.

Hi @jms,

preCICE offers three types of convergence measures:

  • absolute-convergence-measure
  • relative-convergence-measure
  • residual-relative-convergence-measure

You can find their configuration details here: XML reference | preCICE - The Coupling Library

You can specify multiple convergence measures in a coupling scheme, but I think preCICE always combines them with AND: all of them need to be fulfilled.

You can also mark a convergence criteria as suffices="true". Let’s say you have two criteria and both have suffices="true", then this behaves like a “OR”.

But I am afraid you currently cannot create the combination above.

If somebody ever wants to implement this, one could do a absolute-releative-convergence-measure. Should not be tooo compliated to do.

@jms we implemented an absolute-or-relative convergence measure. It is available on develop and will be released with version 3.0.0.

1 Like

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