www.mooseframework.org
SamplerFullSolveMultiApp.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 "FullSolveMultiApp.h"
14 #include "SamplerInterface.h"
15 
16 #include "StochasticToolsTypes.h"
17 
19 class Sampler;
21 
22 template <>
24 
25 class SamplerFullSolveMultiApp : public FullSolveMultiApp, public SamplerInterface
26 {
27 public:
28  static InputParameters validParams();
29 
30  SamplerFullSolveMultiApp(const InputParameters & parameters);
31 
32  virtual bool solveStep(Real dt, Real target_time, bool auto_advance = true) override;
33 
34 protected:
36  Sampler & _sampler;
37 
40 
43 
45  virtual std::string getCommandLineArgsParamHelper(unsigned int local_app) override;
46 
47 private:
51  bool solveStepBatch(Real dt, Real target_time, bool auto_advance = true);
52 
56  std::vector<std::shared_ptr<StochasticToolsTransfer>>
57  getActiveStochasticToolsTransfers(Transfer::DIRECTION direction);
58 };
StochasticToolsTransfer
The class creates an additional API to allow Transfers to work when running the StochasticTools<FullS...
Definition: StochasticToolsTransfer.h:24
SamplerFullSolveMultiApp
Definition: SamplerFullSolveMultiApp.h:25
SamplerFullSolveMultiApp::solveStep
virtual bool solveStep(Real dt, Real target_time, bool auto_advance=true) override
Definition: SamplerFullSolveMultiApp.C:61
SamplerFullSolveMultiApp::solveStepBatch
bool solveStepBatch(Real dt, Real target_time, bool auto_advance=true)
Helper method for running in mode='batch'.
Definition: SamplerFullSolveMultiApp.C:75
SamplerFullSolveMultiApp::getCommandLineArgsParamHelper
virtual std::string getCommandLineArgsParamHelper(unsigned int local_app) override
Override to allow for batch mode to get correct cli_args.
Definition: SamplerFullSolveMultiApp.C:153
SamplerFullSolveMultiApp::_sampler
Sampler & _sampler
Sampler to utilize for creating MultiApps.
Definition: SamplerFullSolveMultiApp.h:36
SamplerFullSolveMultiApp::_mode
const StochasticTools::MultiAppMode _mode
The Sup-application solve mode.
Definition: SamplerFullSolveMultiApp.h:39
SamplerFullSolveMultiApp::validParams
static InputParameters validParams()
Definition: SamplerFullSolveMultiApp.C:20
SamplerFullSolveMultiApp::_local_batch_app_index
dof_id_type _local_batch_app_index
Counter for extracting command line arguments in batch mode.
Definition: SamplerFullSolveMultiApp.h:42
StochasticTools::MultiAppMode
MultiAppMode
Definition: StochasticToolsApp.h:37
SamplerFullSolveMultiApp::SamplerFullSolveMultiApp
SamplerFullSolveMultiApp(const InputParameters &parameters)
Definition: SamplerFullSolveMultiApp.C:45
validParams< SamplerFullSolveMultiApp >
InputParameters validParams< SamplerFullSolveMultiApp >()
StochasticToolsTypes.h
SamplerFullSolveMultiApp::getActiveStochasticToolsTransfers
std::vector< std::shared_ptr< StochasticToolsTransfer > > getActiveStochasticToolsTransfers(Transfer::DIRECTION direction)
Helper for getting StochasticToolsTransfer objects.
Definition: SamplerFullSolveMultiApp.C:138