www.mooseframework.org
NaNInterface.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 "NaNInterface.h"
11 #include "Conversion.h"
12 #include "MooseEnum.h"
13 
14 template <>
15 InputParameters
17 {
18 #ifdef NDEBUG
19  // in opt mode, getNaN() emits neither a warning nor an error by default
20  MooseEnum emit_on_nan("none warning error", "none");
21 #else
22  // in dbg mode, getNaN() raises an error by default
23  MooseEnum emit_on_nan("none warning error", "error");
24 #endif
25 
26  InputParameters params = emptyInputParameters();
27 
28  params.addParam<MooseEnum>("emit_on_nan", emit_on_nan, "Raise mooseWarning or mooseError?");
29 
30  return params;
31 }
32 
33 NaNInterface::NaNInterface(const MooseObject * moose_object)
34  : _emit_on_nan(
35  moose_object->getParamTempl<MooseEnum>("emit_on_nan").getEnum<NaNInterface::NaNMessage>())
36 {
37  _moose_object = moose_object;
38 }
NaNInterface::_moose_object
const MooseObject * _moose_object
Definition: NaNInterface.h:40
NaNInterface::NaNMessage
NaNMessage
Definition: NaNInterface.h:33
validParams< NaNInterface >
InputParameters validParams< NaNInterface >()
Definition: NaNInterface.C:16
NaNInterface
Interface class for producing errors, warnings, or just quiet NaNs.
Definition: NaNInterface.h:27
NaNInterface.h
NaNInterface::NaNInterface
NaNInterface(const MooseObject *moose_object)
Definition: NaNInterface.C:33