www.mooseframework.org
SamplerTransientMultiApp.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 // MOOSE includes
13 #include "TransientMultiApp.h"
14 #include "SamplerInterface.h"
15 
16 #include "StochasticToolsTypes.h"
17 
19 class Sampler;
21 
22 template <>
24 
25 class SamplerTransientMultiApp : public TransientMultiApp, public SamplerInterface
26 {
27 public:
28  static InputParameters validParams();
29 
30  SamplerTransientMultiApp(const InputParameters & parameters);
31 
35  virtual bool solveStep(Real dt, Real target_time, bool auto_advance = true) override;
36 
40  virtual void initialSetup() override;
41 
42 protected:
44  Sampler & _sampler;
45 
48 
49 private:
53  bool solveStepBatch(Real dt, Real target_time, bool auto_advance = true);
54 
62  std::vector<std::shared_ptr<StochasticToolsTransfer>>
63  getActiveStochasticToolsTransfers(Transfer::DIRECTION direction);
64 
68  std::vector<std::vector<std::shared_ptr<Backup>>> _batch_backup;
69 };
StochasticToolsTransfer
The class creates an additional API to allow Transfers to work when running the StochasticTools<FullS...
Definition: StochasticToolsTransfer.h:24
SamplerTransientMultiApp
Definition: SamplerTransientMultiApp.h:25
SamplerTransientMultiApp::_batch_backup
std::vector< std::vector< std::shared_ptr< Backup > > > _batch_backup
Storage for batch-restore mode; the outer vector if for the local stochastic data and the inner vecto...
Definition: SamplerTransientMultiApp.h:68
SamplerTransientMultiApp::SamplerTransientMultiApp
SamplerTransientMultiApp(const InputParameters &parameters)
Definition: SamplerTransientMultiApp.C:47
SamplerTransientMultiApp::solveStep
virtual bool solveStep(Real dt, Real target_time, bool auto_advance=true) override
Override solveStep to allow for batch execution.
Definition: SamplerTransientMultiApp.C:82
SamplerTransientMultiApp::_sampler
Sampler & _sampler
Sampler to utilize for creating MultiApps.
Definition: SamplerTransientMultiApp.h:44
SamplerTransientMultiApp::initialSetup
virtual void initialSetup() override
Override to initialize batch backups.
Definition: SamplerTransientMultiApp.C:66
SamplerTransientMultiApp::solveStepBatch
bool solveStepBatch(Real dt, Real target_time, bool auto_advance=true)
Helper method for running in mode='batch'.
Definition: SamplerTransientMultiApp.C:93
validParams< SamplerTransientMultiApp >
InputParameters validParams< SamplerTransientMultiApp >()
SamplerTransientMultiApp::_mode
const StochasticTools::MultiAppMode _mode
The Sup-application solve mode.
Definition: SamplerTransientMultiApp.h:47
StochasticTools::MultiAppMode
MultiAppMode
Definition: StochasticToolsApp.h:37
SamplerTransientMultiApp::validParams
static InputParameters validParams()
Definition: SamplerTransientMultiApp.C:20
StochasticToolsTypes.h
SamplerTransientMultiApp::getActiveStochasticToolsTransfers
std::vector< std::shared_ptr< StochasticToolsTransfer > > getActiveStochasticToolsTransfers(Transfer::DIRECTION direction)
Helper for getting StochasticToolsTransfer objects.
Definition: SamplerTransientMultiApp.C:141