idaholab / moose

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

Implement segregated/split solve schemes for TH #22356

Open lindsayad opened 1 year ago

lindsayad commented 1 year ago

Reason

There are canonical CFD solve techniques such as SIMPLE-class techniques that rely on splitting pressure and velocity solves.

Design

Implement various segregated/split schemes such as

Leverage completion of #20123 and the work in #22226 in order to implement these.

Impact

Make faster and/or more robust (non)linear solution techniques that make the TH experience better for users.

lindsayad commented 1 year ago

@GiudGiud @tanoret I would hope that knowledge gained in one of the below areas can be at least partially applied to all of the below areas

  1. field splitting at the linear solution level of a monolithic nonlinear system
  2. "user" splitting of the large nonlinear system into multiple sub-nonlinear systems with "user-defined" iteration methods between the sub-nonlinear systems and "user-defined" convergence. (This is what this ticket is about)
  3. field splitting at the nonlinear solution level into multiple sub-nonlinear systems with a Jacobian-free outer solve. This I've outlined in #22357
lindsayad commented 1 year ago

@tanoret I couldn't tell for sure but it sounded like 2. wasn't good enough for you for your python problem? You needed 1. Is that correct?