www.mooseframework.org
CavityPressurePPAction.C
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 #include "CavityPressurePPAction.h"
11 #include "Factory.h"
12 #include "FEProblem.h"
13 
14 registerMooseAction("SolidMechanicsApp", CavityPressurePPAction, "add_postprocessor");
15 
18 {
20  params.addClassDescription("This Action creates a CavityPressurePostprocessor.");
21  params.addParam<std::string>("output", "The name to use for the cavity pressure value");
22  params.addParam<std::string>("output_initial_moles",
23  "The name to use when reporting the initial moles of gas");
24  return params;
25 }
26 
28 
29 void
31 {
32  InputParameters params = _factory.getValidParams("CavityPressurePostprocessor");
33 
34  params.set<ExecFlagEnum>("execute_on") = {EXEC_INITIAL, EXEC_LINEAR};
35  params.set<UserObjectName>("cavity_pressure_uo") = _name + "UserObject";
36  params.set<MooseEnum>("quantity") = "cavity_pressure";
37 
38  _problem->addPostprocessor("CavityPressurePostprocessor",
39  isParamValid("output") ? getParam<std::string>("output") : _name,
40  params);
41 
42  if (isParamValid("output_initial_moles"))
43  {
44  params.set<MooseEnum>("quantity") = "initial_moles";
45  _problem->addPostprocessor(
46  "CavityPressurePostprocessor", getParam<std::string>("output_initial_moles"), params);
47  }
48 }
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
bool isParamValid(const std::string &name) const
Factory & _factory
static InputParameters validParams()
CavityPressurePPAction(const InputParameters &params)
const ExecFlagType EXEC_LINEAR
const std::string _name
registerMooseAction("SolidMechanicsApp", CavityPressurePPAction, "add_postprocessor")
void addClassDescription(const std::string &doc_string)
std::shared_ptr< FEProblemBase > & _problem
static InputParameters validParams()
const ExecFlagType EXEC_INITIAL