https://mooseframework.inl.gov
Loading...
Searching...
No Matches
FullSolveMultiApp.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12#include "MultiApp.h"
13
14class Executioner;
15
20{
21public:
23
25
26 virtual void initialSetup() override;
27
28 virtual bool solveStep(Real dt, Real target_time, bool auto_advance = true) override;
29
30 virtual void finalize() override
31 {
32 // executioner output on final has been called and we do not need to call it again
33 }
34 virtual void postExecute() override
35 {
36 // executioner postExecute has been called and we do not need to call it again
37 }
38
39 virtual void restore(bool force = true) override;
40
41protected:
46 bool propagateRecoverToSubApps() const override { return false; }
47
55 virtual void showStatusMessage(unsigned int i) const;
56
57private:
59 const bool _ignore_diverge;
62
63 std::vector<Executioner *> _executioners;
64};
Executioners are objects that do the actual work of solving your problem.
Definition Executioner.h:37
This type of MultiApp will do a full solve when it is asked to take a step.
const bool _update_old_state_when_keeping_solution_during_restore
Switch to tell the systems or not to update the old solution using the unrestored solution (the one w...
const bool _ignore_diverge
Switch to tell executioner to keep going despite app solve not converging.
virtual void postExecute() override
Method called at the end of the simulation (after finalize).
virtual void initialSetup() override
Method to be called in main-app initial setup for create sub-apps if using positions is false.
virtual void restore(bool force=true) override
Restore the state of every Sub App.
static InputParameters validParams()
virtual void finalize() override
Method called towards the end of the simulation to execute on final.
virtual void showStatusMessage(unsigned int i) const
This function is called after each sub-application solve and is meant to display information about th...
std::vector< Executioner * > _executioners
virtual bool solveStep(Real dt, Real target_time, bool auto_advance=true) override
Re-solve all of the Apps.
bool propagateRecoverToSubApps() const override
FullSolveMultiApp always performs a complete fresh solve on every execution, so the parent's recovery...
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
A MultiApp represents one or more MOOSE applications that are running simultaneously.
Definition MultiApp.h:116