10#ifdef MOOSE_MFEM_ENABLED
21 "Function object that declares MFEM coordinate-dependent coefficients.");
23 "coord_type",
MooseEnum(
"RZ"),
"Coordinate system type. Currently only RZ is supported.");
25 "inv_r_eps", 1e-12,
"Regularization parameter for the inverse radial coefficient.");
33 _coord_type(getParam<
MooseEnum>(
"coord_type")),
34 _inv_r_eps(getParam<
mfem::real_t>(
"inv_r_eps"))
44 auto & r = coeffs.
declareScalar<mfem::CylindricalRadialCoefficient>(
name() +
"_r");
47 coeffs.
declareScalar<mfem::ProductCoefficient>(
name() +
"_two_pi_r", 8 * atan(1), r);
51 {
return 1. / std::sqrt(r * r + eps * eps); });
Base class for function objects.
static InputParameters validParams()
Class constructor.
Moose::MFEM::CoefficientManager & getCoefficients()
Method to get the PropertyManager object for storing material properties and converting them to MFEM ...
const std::string & name() const
Get the name of the class.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Front-end class for creating and storing MFEM coefficients.
mfem::Coefficient & declareScalar(const std::string &name, const std::string &existing_or_literal)
Declare an alias to an existing scalar coefficient or, if it does not exist, try interpreting the nam...
Generic class for solving transient nonlinear problems.