In the MOOSE view of things there are three types of coupling:


MOOSE was originally created to tackle the "Fully Coupled" types of problems... but last year we added MultiApps and Transfers to enable "Loosely Coupled Systems of Fully Coupled Equations" basically adding "Loose Coupling" to MOOSE.

While doing "Tight Coupling" also known as "Picard" iteration with MOOSE has been possible for a very long time (since David Andrs rewrote the MOOSE internals way back in March 2011) it has always had quite a few restrictions (most notably you had to be utilizing the same mesh for each piece of the decoupled physics).

Now, you can easily enable "Picard" iteration while using MultiApps! Even better, it's extremely easy to do in your master App input file:

  type = Transient
  picard_max_its = 10     # Anything above "1" turns on Picard iteration
  picard_rel_tol = 1e-7   # Relative residual drop in the master for convergence
  picard_abs_tol = 1e-10  # Absolute residual to reach for convergence.

That's all there is to it. Every time step MOOSE will now iterate between your "master" application and your "sub" apps in your MultiApps until it hits one of those three convergence criteria - then it will move on to the next time step.

Since this is brand new the best place to look for documentation is at the tests: https://github.com/idaholab/moose/tree/devel/test/tests/multiapps/picard

The three master input files show using the different convergence criteria. The fully_coupled.i input file solves the same problem in the normal MOOSE way with everything fully coupled together on the same mesh (for comparison).

As usual - hit up the mailing list if something isn't making sense.

Happy solving!


Currently unrated


worldstar hiphop 6 months ago

nice and great post to read

Link | Reply
Currently unrated

Pennsylvania Lottery 6 months ago

wow what a post!!!!!

Link | Reply
Currently unrated

New Comment


required (not published)


R&D 100

Recent Blog Posts

Using our new clang-format Style

8 months, 2 weeks ago

Steady State Algorithm Change

1 year, 5 months ago

Making an App inherit from an App

1 year, 5 months ago

Changing a published API (Deprecation)

1 year, 6 months ago

DiscreteMaterial Objects

1 year, 8 months ago

Recent Posts






RSS / Atom