idaholab / moose

Multiphysics Object Oriented Simulation Environment
https://www.mooseframework.org
GNU Lesser General Public License v2.1
1.77k stars 1.05k forks source link

Enhance fixed-point iteration acceleration capabilities #20100

Open vincentlaboure opened 2 years ago

vincentlaboure commented 2 years ago

Reason

Currently the fixed point iteration is limited to using postprocessors or nonlinear variables. To make it useful for large problems, it should be extended to auxiliary variables as well as userobjects, such as (NearestPoint)LayeredAverages.

In addition, adding the Anderson acceleration could be very beneficial (typical acceleration method for large, multiphysics problems).

Lastly, @GiudGiud mentioned that there are some issues with the current implementation (expected convergence improvement not seen on large problems) so this would have to be addressed as well.

Design

  1. Support vectorpostprocessors and auxvariables as the transformed variables.
  2. Implement Anderson acceleration.
  3. Fix any outstanding issue with current implementation.

Impact

Accelerated convergence, especially important for large problems.

YaqiWang commented 2 years ago

We had an idea on accelerating layered average user object: converting it to a vector postprocessor. Proposed by @zachmprince

lindsayad commented 2 years ago

@GiudGiud is this a task that you might work on or should we look at assigning someone else?

GiudGiud commented 2 years ago

It d be more efficient to be done with the executor rework before working on this.

I m down to work on Anderson. I can see support for VPPs in this system too. A more general interface I don’t know yet.

loganharbour commented 2 years ago

Just please don't add any new APIs; less for me to work with when transitioning to executors

GiudGiud commented 2 years ago

Going to tackle this now as it came up again. The new APIs will be fairly modeled after the existing ones