www.mooseframework.org
MultiAppCommandLineControl.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 "Control.h"
14 #include "SamplerInterface.h"
15 
16 // Forward declarations
18 
19 class Function;
20 class Sampler;
21 class MultiApp;
22 
23 template <>
25 
29 class MultiAppCommandLineControl : public Control, public SamplerInterface
30 {
31 public:
32  MultiAppCommandLineControl(const InputParameters & parameters);
33 
39  virtual void initialSetup() override final;
40 
41  virtual void execute() override;
42 
43 protected:
45  std::shared_ptr<MultiApp> _multi_app;
46 
48  Sampler & _sampler;
49 
51  const std::vector<std::string> & _param_names;
52 };
53 
virtual void initialSetup() override final
Do not allow the use of initialSetup, because this class is designed to operate on PRE_MULTIAPP_SETUP...
std::shared_ptr< MultiApp > _multi_app
The MultiApp this Transfer is transferring data to or from.
A Control object for receiving data from a master application Sampler object.
Sampler & _sampler
Sampler to utilize for creating MultiApps.
InputParameters validParams< MultiAppCommandLineControl >()
MultiAppCommandLineControl(const InputParameters &parameters)
const std::vector< std::string > & _param_names
Storage for the parameter names to be applied.