ExternalProblem
Intermediate class that should be used as an extension point (inheritance) for externally coupled codes (MOOSE-Wrapped Apps). The external coupling interface should override the "solve" method along with a method for testing convergence of the last solve.
More information on using the ExternalProblem
for wrapping applications may be found in the application development documentation.
Examples
External Petsc Application
The ExternalPetscProblem inherits from the ExternalProblem
to run a pure PETSc solver. It is also able to sync the PETSc solutions to MOOSE variables.
Cardinal
Cardinal is an open source coupling of MOOSE with the Monte Carlo code OpenMC and the spectral element CFD code NekRS, which are both external solvers and not MOOSE-based applications. The ExternalProblem
is used to order the solves and custom transfers were implemented to pass fields between each application.