(0 comments)

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

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:

[./Executioner]
  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!

Derek

Currently unrated

Comments

There are currently no comments

New Comment

required

required (not published)

optional

R&D 100

Recent Blog Posts

Using our new clang-format Style

1 month, 2 weeks ago

Steady State Algorithm Change

10 months, 3 weeks ago

Making an App inherit from an App

11 months ago

Changing a published API (Deprecation)

11 months, 1 week ago

DiscreteMaterial Objects

1 year, 1 month ago

Recent Posts

Archive

2017
2016
2015
2014

Tags

Authors

Feeds

RSS / Atom