www.mooseframework.org
FullSolveMultiApp.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 backup() override;
40  virtual void restore(bool force = true) override;
41 
42 protected:
50  virtual void showStatusMessage(unsigned int i) const;
51 
52 private:
54  const bool _ignore_diverge;
55 
56  std::vector<Executioner *> _executioners;
57 };
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 backup() override
Save off the state of every Sub App.
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.