MFEMCoordinateTransformations

Overview

MFEMCoordinateTransformations is a function object created under the top-level [Functions] block. Rather than introducing a separate coordinate-system block, this object provides a lightweight way to declare coordinate-dependent MFEM scalar coefficients into the CoefficientManager, where they can then be used through the normal MFEM scalar coefficient path.

This allows the coordinate coefficients to be used in objects such as MFEMGenericFunctorMaterial property definitions or MFEM kernels.

Currently this object supports only the cylindrical/axisymmetric coordinate type

  • coord_type = RZ

Built-in Coefficients

coord_type = RZ

  • <name>_r, the radial coefficient, built from MFEM's mfem::CylindricalRadialCoefficient

  • <name>_inv_r, the inverse radial coefficient, regularized as , where is specified by the inv_r_eps input parameter, constructed from <name>_r using mfem::TransformedCoefficient

  • <name>_two_pi_r, the full cylindrical measure factor , constructed from <name>_r using mfem::ProductCoefficient

  • <name>_p, the azimuthal angle, built from MFEM's mfem::CylindricalAzimuthalCoefficient

  • <name>_z, the axial coordinate, equal to the cartesian coordinate, built from MFEM's mfem::CylindricalZCoefficient

Example Input File Syntax

[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
  [cylindrical]
    type = MFEMCoordinateTransformations<<<{"description": "Function object that declares MFEM coordinate-dependent coefficients.", "href": "MFEMCoordinateTransformations.html"}>>>
    coord_type<<<{"description": "Coordinate system type. Currently only RZ is supported."}>>> = RZ
    inv_r_eps<<<{"description": "Regularization parameter for the inverse radial coefficient."}>>> = 0
  []
[]

[FunctorMaterials<<<{"href": "../../../syntax/FunctorMaterials/index.html"}>>>]
  [material]
    type = MFEMGenericFunctorMaterial<<<{"description": "Declares material scalar properties based on names and coefficients prescribed by input parameters.", "href": "../functormaterials/MFEMGenericFunctorMaterial.html"}>>>
    prop_names<<<{"description": "The names of the properties this material will have"}>>> = 'diffCoef massCoef'
    prop_values<<<{"description": "The corresponding names of coefficients associated with the named properties. A functor is any of the following: a variable, an MFEM material property, a function, a postprocessor or a number."}>>> = 'cylindrical_r cylindrical_inv_r'
  []
[]
(test/tests/mfem/functions/cylindrical_coefficients.i)

Input Parameters

  • coord_typeCoordinate system type. Currently only RZ is supported.

    C++ Type:MooseEnum

    Options:RZ

    Controllable:No

    Description:Coordinate system type. Currently only RZ is supported.

Required Parameters

  • inv_r_eps1e-12Regularization parameter for the inverse radial coefficient.

    Default:1e-12

    C++ Type:Real

    Unit:(no unit assumed)

    Controllable:No

    Description:Regularization parameter for the inverse radial coefficient.

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

Input Files