www.mooseframework.org
FullSolveMultiApp.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 #ifndef FULLSOLVEMULTIAPP_H
15 #define FULLSOLVEMULTIAPP_H
16 
17 #include "MultiApp.h"
18 
19 // Forward declarations
20 class FullSolveMultiApp;
21 class Executioner;
22 
23 template <>
25 
32 {
33 public:
35 
36  virtual void initialSetup() override;
37 
38  virtual bool solveStep(Real dt, Real target_time, bool auto_advance = true) override;
39 
40  virtual void advanceStep() override {}
41 
42  virtual bool isSolved() const override { return _solved; }
43 
44 private:
45  std::vector<Executioner *> _executioners;
46 
48  bool _solved;
49 };
50 
51 #endif // FULLSOLVEMULTIAPP_H
virtual void initialSetup() override
Gets called at the beginning of the simulation before this object is asked to do its job...
virtual void advanceStep() override
Actually advances time and causes output.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual bool isSolved() const override
Method that reports whether the application has been fully solved or not.
bool _solved
Whether or not this MultiApp has already been solved.
FullSolveMultiApp(const InputParameters &parameters)
std::vector< Executioner * > _executioners
Executioners are objects that do the actual work of solving your problem.
Definition: Executioner.h:41
InputParameters validParams< FullSolveMultiApp >()
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:53
A MultiApp represents one or more MOOSE applications that are running simultaneously.
Definition: MultiApp.h:59
virtual bool solveStep(Real dt, Real target_time, bool auto_advance=true) override
Re-solve all of the Apps.
This type of MultiApp will completely solve itself the first time it is asked to take a step...