www.mooseframework.org
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
SamplerReceiver Class Reference

A Control object for receiving data from a master application Sampler object. More...

#include <SamplerReceiver.h>

Inheritance diagram for SamplerReceiver:
[legend]

Public Types

typedef DataFileName DataFileParameterType
 

Public Member Functions

 SamplerReceiver (const InputParameters &parameters)
 
virtual void execute () override
 
std::vector< std::string > & getDependencies ()
 
virtual bool enabled () const
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
virtual const std::string & name () const
 
std::string typeAndName () const
 
std::string errorPrefix (const std::string &error_type) const
 
void callMooseError (std::string msg, const bool with_prefix) const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
const InputParametersparameters () const
 
MooseObjectName uniqueName () const
 
const T & getParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &nm) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramInfo (const std::string &param, Args... args) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void mooseError (Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
std::string getDataFileName (const std::string &param) const
 
std::string getDataFileNameByName (const std::string &name, const std::string *param=nullptr) const
 
bool isImplicit ()
 
virtual void initialSetup ()
 
virtual void timestepSetup ()
 
virtual void jacobianSetup ()
 
virtual void residualSetup ()
 
virtual void subdomainSetup ()
 
virtual void customSetup (const ExecFlagType &)
 
const ExecFlagEnumgetExecuteOnEnum () const
 
const FunctiongetFunction (const std::string &name) const
 
const FunctiongetFunctionByName (const FunctionName &name) const
 
bool hasFunction (const std::string &param_name) const
 
bool hasFunctionByName (const FunctionName &name) const
 
UserObjectName getUserObjectName (const std::string &param_name) const
 
const T & getUserObject (const std::string &param_name, bool is_dependency=true) const
 
const T & getUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBase (const std::string &param_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBaseByName (const UserObjectName &object_name, bool is_dependency=true) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool isDefaultPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessor (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessorByName (const PostprocessorName &name) const
 
std::size_t coupledPostprocessors (const std::string &param_name) const
 
const PostprocessorName & getPostprocessorName (const std::string &param_name, const unsigned int index=0) const
 
const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
bool hasVectorPostprocessor (const std::string &param_name, const std::string &vector_name) const
 
bool hasVectorPostprocessor (const std::string &param_name) const
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name) const
 
const VectorPostprocessorName & getVectorPostprocessorName (const std::string &param_name) const
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
bool isVectorPostprocessorDistributed (const std::string &param_name) const
 
bool isVectorPostprocessorDistributed (const std::string &param_name) const
 
bool isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const
 
bool isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 

Static Public Member Functions

static InputParameters validParams ()
 
static MultiMooseEnum getExecuteOptions ()
 

Public Attributes

const ConsoleStream _console
 

Protected Member Functions

void transfer (const std::map< std::string, std::vector< Real >> &param_values)
 Update the parameters and associated values via _parameters and _values. More...
 
Moose::StateArg determineState () const
 
virtual void addUserObjectDependencyHelper (const UserObject &) const
 
T & declareRestartableData (const std::string &data_name, Args &&... args)
 
ManagedValue< T > declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
const T & getRestartableData (const std::string &data_name) const
 
T & declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
T & declareRecoverableData (const std::string &data_name, Args &&... args)
 
T & declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 
T & declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args)
 
std::string restartableName (const std::string &data_name) const
 
virtual void addPostprocessorDependencyHelper (const PostprocessorName &) const
 
virtual void addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &) const
 
ControllableParameter getControllableParameter (const std::string &param_name)
 
ControllableParameter getControllableParameter (const std::string &param_name)
 
ControllableParameter getControllableParameterByName (const std::string &param_name)
 
ControllableParameter getControllableParameterByName (const std::string &tag, const std::string &object_name, const std::string &param_name)
 
ControllableParameter getControllableParameterByName (const MooseObjectName &object_name, const std::string &param_name)
 
ControllableParameter getControllableParameterByName (const MooseObjectParameterName &param_name)
 
ControllableParameter getControllableParameterByName (const std::string &param_name)
 
ControllableParameter getControllableParameterByName (const std::string &tag, const std::string &object_name, const std::string &param_name)
 
ControllableParameter getControllableParameterByName (const MooseObjectName &object_name, const std::string &param_name)
 
ControllableParameter getControllableParameterByName (const MooseObjectParameterName &param_name)
 
getControllableValue (const std::string &name, bool warn_when_values_differ=true)
 
getControllableValue (const std::string &name, bool warn_when_values_differ=true)
 
getControllableValueByName (const std::string &name, bool warn_when_values_differ=true)
 
getControllableValueByName (const std::string &object_name, const std::string &param_name, bool warn_when_values_differ=true)
 
getControllableValueByName (const MooseObjectName &object_name, const std::string &param_name, bool warn_when_values_differ=true)
 
getControllableValueByName (const std::string &tag, const std::string &object_name, const std::string &param_name, bool warn_when_values_differ=true)
 
getControllableValueByName (const MooseObjectParameterName &desired, bool warn_when_values_differ=true)
 
getControllableValueByName (const std::string &name, bool warn_when_values_differ=true)
 
getControllableValueByName (const std::string &object_name, const std::string &param_name, bool warn_when_values_differ=true)
 
getControllableValueByName (const MooseObjectName &object_name, const std::string &param_name, bool warn_when_values_differ=true)
 
getControllableValueByName (const std::string &tag, const std::string &object_name, const std::string &param_name, bool warn_when_values_differ=true)
 
getControllableValueByName (const MooseObjectParameterName &desired, bool warn_when_values_differ=true)
 
void setControllableValue (const std::string &name, const T &value)
 
void setControllableValue (const std::string &name, const T &value)
 
void setControllableValueByName (const std::string &name, const T &value)
 
void setControllableValueByName (const std::string &object_name, const std::string &param_name, const T &value)
 
void setControllableValueByName (const MooseObjectName &object_name, const std::string &param_name, const T &value)
 
void setControllableValueByName (const std::string &tag, const std::string &object_name, const std::string &param_name, const T &value)
 
void setControllableValueByName (const MooseObjectParameterName &name, const T &value)
 
void setControllableValueByName (const std::string &name, const T &value)
 
void setControllableValueByName (const std::string &object_name, const std::string &param_name, const T &value)
 
void setControllableValueByName (const MooseObjectName &object_name, const std::string &param_name, const T &value)
 
void setControllableValueByName (const std::string &tag, const std::string &object_name, const std::string &param_name, const T &value)
 
void setControllableValueByName (const MooseObjectParameterName &name, const T &value)
 

Protected Attributes

std::vector< std::string > _parameters
 Parameter names to modify. More...
 
std::vector< std::vector< Real > > _values
 Values to use when modifying parameters. More...
 
FEProblemBase_fe_problem
 
std::vector< std::string > _depends_on
 
const bool & _enabled
 
MooseApp_app
 
const std::string _type
 
const std::string _name
 
const InputParameters_pars
 
Factory_factory
 
ActionFactory_action_factory
 
const InputParameters_ti_params
 
FEProblemBase_ti_feproblem
 
bool _is_implicit
 
Real_t
 
int_t_step
 
Real_dt
 
Real_dt_old
 
bool _is_transient
 
const ExecFlagEnum_execute_enum
 
const ExecFlagType_current_execute_flag
 
MooseApp_restartable_app
 
const std::string _restartable_system_name
 
const THREAD_ID _restartable_tid
 
const bool _restartable_read_only
 
const Parallel::Communicator & _communicator
 

Friends

class SamplerParameterTransfer
 Allows the SamplerParameterTransfer to call the transfer method, which should only be called by that object so making it public is dangerous. More...
 

Detailed Description

A Control object for receiving data from a master application Sampler object.

Definition at line 21 of file SamplerReceiver.h.

Constructor & Destructor Documentation

◆ SamplerReceiver()

SamplerReceiver::SamplerReceiver ( const InputParameters parameters)

Definition at line 26 of file SamplerReceiver.C.

26 : Control(parameters) {}
Control(const InputParameters &parameters)
const InputParameters & parameters() const

Member Function Documentation

◆ execute()

void SamplerReceiver::execute ( )
overridevirtual

Implements Control.

Definition at line 29 of file SamplerReceiver.C.

30 {
31  // Send parameters from root
34  if (_parameters.size() != _values.size())
35  mooseError("Internal error: Number of parameters does not match number of values.");
36 
37  // Loop through all the parameters and set the controllable values for each parameter.
38  for (const auto & i : index_range(_parameters))
39  {
40  const std::string & param_name = _parameters[i];
41  const std::vector<Real> & value = _values[i];
42 
43  ControllableParameter control_param = getControllableParameterByName(param_name);
44 
45  // Real
46  if (control_param.check<Real>())
47  {
48  // There must be enough data to populate the controlled parameter
49  if (value.size() != 1)
50  mooseError("The Real parameter '",
51  param_name,
52  "' expects a single value, but the vector supplying its values has a size of ",
53  value.size(),
54  ".");
55  control_param.set<Real>(value[0]);
56  }
57  else if (control_param.check<std::vector<Real>>())
58  control_param.set<std::vector<Real>>(value);
59  else
60  // If the loop gets here it failed to find what it was looking for
61  mooseError("Unable to locate a Real or std::vector<Real> parameter with the name '",
62  param_name,
63  ".'");
64  }
65 }
void set(const T &value, bool type_check=true)
std::vector< std::vector< Real > > _values
Values to use when modifying parameters.
const Parallel::Communicator & _communicator
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
void broadcast(T &data, const unsigned int root_id=0, const bool identical_sizes=false) const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< std::string > _parameters
Parameter names to modify.
void mooseError(Args &&... args) const
ControllableParameter getControllableParameterByName(const std::string &param_name)
auto index_range(const T &sizable)

◆ transfer()

void SamplerReceiver::transfer ( const std::map< std::string, std::vector< Real >> &  param_values)
protected

Update the parameters and associated values via _parameters and _values.

Parameters
param_valuesMap between the parameter name and its value. Real-type parameters will have a single value.

Definition at line 68 of file SamplerReceiver.C.

69 {
70  // We'll only transfer on the root processor and gather later
71  if (processor_id() == 0)
72  {
73  _parameters.clear();
74  _values.clear();
75  for (const auto & pv : param_values)
76  {
77  _parameters.push_back(pv.first);
78  _values.push_back(pv.second);
79  }
80  }
81 }
std::vector< std::vector< Real > > _values
Values to use when modifying parameters.
std::vector< std::string > _parameters
Parameter names to modify.
processor_id_type processor_id() const

◆ validParams()

InputParameters SamplerReceiver::validParams ( )
static

Definition at line 17 of file SamplerReceiver.C.

18 {
20  params.addClassDescription(
21  "Control for receiving data from a Sampler via SamplerParameterTransfer.");
22  params.set<ExecFlagEnum>("execute_on") = EXEC_TIMESTEP_BEGIN;
23  return params;
24 }
static InputParameters validParams()
T & set(const std::string &name, bool quiet_mode=false)
void addClassDescription(const std::string &doc_string)

Friends And Related Function Documentation

◆ SamplerParameterTransfer

friend class SamplerParameterTransfer
friend

Allows the SamplerParameterTransfer to call the transfer method, which should only be called by that object so making it public is dangerous.

Definition at line 46 of file SamplerReceiver.h.

Member Data Documentation

◆ _parameters

std::vector<std::string> SamplerReceiver::_parameters
protected

Parameter names to modify.

Definition at line 39 of file SamplerReceiver.h.

Referenced by execute(), and transfer().

◆ _values

std::vector<std::vector<Real> > SamplerReceiver::_values
protected

Values to use when modifying parameters.

Definition at line 42 of file SamplerReceiver.h.

Referenced by execute(), and transfer().


The documentation for this class was generated from the following files: