https://mooseframework.inl.gov
GlobalParamsAction.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 #include "Action.h"
13 
14 class GlobalParamsAction : public Action
15 {
16 public:
18 
19  GlobalParamsAction(const InputParameters & params);
20 
21  virtual void act() override;
22 
28  void remove(const std::string & name);
29 
34 
35  template <typename T>
36  T & setParam(const std::string & name)
37  {
38  return parameters().set<T>(name);
39  }
40 
41  template <typename T>
42  inline T & setScalarParam(const std::string & name)
43  {
44  return parameters().set<T>(name);
45  }
46 
47  template <typename T>
48  inline std::vector<T> & setVectorParam(const std::string & name)
49  {
50  return parameters().set<std::vector<T>>(name);
51  }
52 
53  template <typename T>
54  inline std::vector<std::vector<T>> & setDoubleIndexParam(const std::string & name)
55  {
56  return parameters().set<std::vector<std::vector<T>>>(name);
57  }
58 
59  template <typename T>
60  inline std::vector<std::vector<std::vector<T>>> & setTripleIndexParam(const std::string & name)
61  {
62  return parameters().set<std::vector<std::vector<std::vector<T>>>>(name);
63  }
64 };
GlobalParamsAction(const InputParameters &params)
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
InputParameters & parameters()
Obtain a non-const reference of the action parameters in the InputParameterWarehouse.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
std::vector< T > & setVectorParam(const std::string &name)
std::vector< std::vector< T > > & setDoubleIndexParam(const std::string &name)
Base class for actions.
Definition: Action.h:33
const std::string & name() const
Get the name of the class.
Definition: MooseBase.h:99
T & setScalarParam(const std::string &name)
std::vector< std::vector< std::vector< T > > > & setTripleIndexParam(const std::string &name)
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
T & setParam(const std::string &name)
static InputParameters validParams()