Skip to content

Conversation

@frankfeifan
Copy link
Contributor

@frankfeifan frankfeifan commented Jan 23, 2026

If a multiphysics solver sequentially couples the subsolver A and subsolver B, the current architecture of CoupledSolver doesn't allow the subsolver A or B to be sequentially coupled. It is mainly because of limitations in two places:

  1. setupSystem for subsolver(s). Now, there is no setupSystem well defined for the sequentially coupled (sub)solver.

The fix is to check if the subsolver is sequentially coupled as well. If so, we loop on the sub-subsolvers (if it is fully implicit) to set up the system.

  1. nonlinearImplicitStep for subsolver(s). Now, there is no nonlinearImplicitStep well defined for the sequentially coupled (sub)solver.

The fix is re-format the sequentiallyCoupledSolverStep and add a method called sequentiallyNonlinearImplicitStep, which stores the original sequential loop codes. Also, we re-define the nonlinearImplicitStep for the coupled solver, and check if the subsolver is sequentially coupled. If so, we loop on the sub-subsolvers (if it is fully implicit) to perform nonlinearImplicitStep.

@frankfeifan frankfeifan changed the title refactor: refactor: Enable the subsolver(s) in a sequentially coupled solver to be sequentially coupled too Jan 23, 2026
@frankfeifan frankfeifan added type: cleanup / refactor Non-functional change (NFC) flag: ready for review ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: no rebaseline Does not require rebaseline labels Jan 23, 2026
@frankfeifan frankfeifan self-assigned this Jan 23, 2026
@frankfeifan frankfeifan marked this pull request as ready for review January 23, 2026 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: no rebaseline Does not require rebaseline flag: ready for review type: cleanup / refactor Non-functional change (NFC)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants