Line data Source code
1 : //* This file is part of the RACCOON application 2 : //* being developed at Dolbow lab at Duke University 3 : //* http://dolbow.pratt.duke.edu 4 : 5 : #include "CustomParsedFunctionBase.h" 6 : 7 : InputParameters 8 1004 : CustomParsedFunctionBase::validParams() 9 : { 10 1004 : InputParameters params = DerivativeParsedMaterialHelperTempl<true>::validParams(); 11 2008 : params.addRequiredParam<std::string>("expression", "Function to parse"); 12 1004 : params.addParam<std::vector<std::string>>("parameter_names", 13 1004 : std::vector<std::string>(), 14 : "Vector of parameters used in the parsed function"); 15 1004 : params.addParam<std::vector<std::string>>( 16 1004 : "parameter_values", std::vector<std::string>(), "Vector of values for the parameters"); 17 1004 : params.addParam<std::vector<std::string>>( 18 : "material_property_names", 19 1004 : std::vector<std::string>(), 20 : "Vector of material properties used in the degradation function"); 21 1004 : return params; 22 0 : } 23 : 24 345 : CustomParsedFunctionBase::CustomParsedFunctionBase(const InputParameters & parameters) 25 : : DerivativeParsedMaterialHelperTempl<true>(parameters, VariableNameMappingMode::USE_MOOSE_NAMES), 26 345 : _function(getParam<std::string>("expression")), 27 690 : _param_names(getParam<std::vector<std::string>>("parameter_names")), 28 690 : _param_values(getParam<std::vector<std::string>>("parameter_values")), 29 1035 : _mat_props(getParam<std::vector<std::string>>("material_property_names")) 30 : { 31 : // Build function, take derivatives, optimize 32 345 : functionParse(_function, 33 : _param_names, 34 : _param_values, 35 : _mat_props, 36 345 : std::vector<std::string>(), 37 345 : std::vector<Real>()); 38 345 : }