https://mooseframework.inl.gov
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 
14 class Executioner;
15 
20 {
21 public:
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 
41 protected:
49  virtual void showStatusMessage(unsigned int i) const;
50 
51 private:
53  const bool _ignore_diverge;
54 
55  std::vector<Executioner *> _executioners;
56 };
virtual void initialSetup() override
Method to be called in main-app initial setup for create sub-apps if using positions is false...
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const bool _ignore_diverge
Switch to tell executioner to keep going despite app solve not converging.
FullSolveMultiApp(const InputParameters &parameters)
std::vector< Executioner * > _executioners
virtual void postExecute() override
Method called at the end of the simulation (after finalize).
Executioners are objects that do the actual work of solving your problem.
Definition: Executioner.h:30
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void restore(bool force=true) override
Restore the state of every Sub App.
virtual void showStatusMessage(unsigned int i) const
This function is called after each sub-application solve and is meant to display information about th...
const InputParameters & parameters() const
Get the parameters of the object.
A MultiApp represents one or more MOOSE applications that are running simultaneously.
Definition: MultiApp.h:112
virtual bool solveStep(Real dt, Real target_time, bool auto_advance=true) override
Re-solve all of the Apps.
virtual void finalize() override
Method called towards the end of the simulation to execute on final.
This type of MultiApp will do a full solve when it is asked to take a step.