MFEMGradAux

Overview

AuxKernel for calculating the gradient of a scalar conforming source variable and storing it in a result variable defined on an conforming Nédélec finite element space.

The result may be scaled by an optional (global) scalar factor.

where , and is a scalar constant.

Example Input File Syntax

[AuxKernels<<<{"href": "../../../syntax/AuxKernels/index.html"}>>>]
  [grad]
    type = MFEMGradAux<<<{"description": "Calculates the gradient of an H1 conforming source variable and stores the result on an H(curl) conforming ND result auxvariable", "href": "MFEMGradAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = concentration_gradient
    source<<<{"description": "Scalar H1 MFEMVariable to take the gradient of."}>>> = concentration
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = TIMESTEP_END
  []
[]
(test/tests/mfem/kernels/diffusion.i)
[AuxKernels<<<{"href": "../../../syntax/AuxKernels/index.html"}>>>]
  [grad]
    type = MFEMGradAux<<<{"description": "Calculates the gradient of an H1 conforming source variable and stores the result on an H(curl) conforming ND result auxvariable", "href": "MFEMGradAux.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = velocity
    source<<<{"description": "Scalar H1 MFEMVariable to take the gradient of."}>>> = velocity_potential
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = TIMESTEP_END
  []
[]
(test/tests/mfem/kernels/irrotational.i)

Input Parameters

  • sourceScalar H1 MFEMVariable to take the gradient of.

    C++ Type:VariableName

    Unit:(no unit assumed)

    Controllable:No

    Description:Scalar H1 MFEMVariable to take the gradient of.

  • variableThe name of the variable that this object applies to

    C++ Type:AuxVariableName

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the variable that this object applies to

Required Parameters

  • execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

    Default:TIMESTEP_END

    C++ Type:ExecFlagEnum

    Options:XFEM_MARK, FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, LINEAR_CONVERGENCE, NONLINEAR, NONLINEAR_CONVERGENCE, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, MULTIAPP_FIXED_POINT_CONVERGENCE, FINAL, CUSTOM

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

  • scale_factor1Factor to scale result auxvariable by.

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Factor to scale result auxvariable by.

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