PiecewiseConstantVariable

When this type of variable is used instead of a typical finite volume variable, faces for which the neighboring elements have different cell-center values will be treated as extrapolated boundary faces. E.g. when this variable is queried for a face value on the "element" side of the face, the element cell center value will be returned; when this variable is queried for a face value on the "neighbor" side of the face, the neighbor cell center value will be returned. This variable type can be used to ensure that interpolation is not performed between potentially sharply discontinuous values.

Input Parameters

  • arrayFalseTrue to make this variable a array variable regardless of number of components. If 'components' > 1, this will automatically be set to true.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:True to make this variable a array variable regardless of number of components. If 'components' > 1, this will automatically be set to true.

  • blockThe list of blocks (ids or names) that this object will be applied

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

    Controllable:No

    Description:The list of blocks (ids or names) that this object will be applied

  • cache_cell_gradientsTrueWhether to cache cell gradients or re-compute them.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether to cache cell gradients or re-compute them.

  • components1Number of components for an array variable

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:Number of components for an array variable

  • face_interp_methodaverageSwitch that can select between face interpoaltion methods.

    Default:average

    C++ Type:MooseEnum

    Options:average, skewness-corrected

    Controllable:No

    Description:Switch that can select between face interpoaltion methods.

  • familyMONOMIALSpecifies the family of FE shape functions to use for this variable.

    Default:MONOMIAL

    C++ Type:MooseEnum

    Options:LAGRANGE, MONOMIAL, HERMITE, SCALAR, HIERARCHIC, CLOUGH, XYZ, SZABAB, BERNSTEIN, L2_LAGRANGE, L2_HIERARCHIC, NEDELEC_ONE, LAGRANGE_VEC, MONOMIAL_VEC, RATIONAL_BERNSTEIN, SIDE_HIERARCHIC

    Controllable:No

    Description:Specifies the family of FE shape functions to use for this variable.

  • fvTrueTrue to make this variable a finite volume variable

    Default:True

    C++ Type:bool

    Controllable:No

    Description:True to make this variable a finite volume variable

  • nl_sysnl0If this variable is a nonlinear variable, this is the nonlinear system to which it should be added.

    Default:nl0

    C++ Type:NonlinearSystemName

    Controllable:No

    Description:If this variable is a nonlinear variable, this is the nonlinear system to which it should be added.

  • orderCONSTANTOrder of the FE shape function to use for this variable (additional orders not listed here are allowed, depending on the family).

    Default:CONSTANT

    C++ Type:MooseEnum

    Options:CONSTANT, FIRST, SECOND, THIRD, FOURTH, FIFTH, SIXTH, SEVENTH, EIGHTH, NINTH, TENTH, ELEVENTH, TWELFTH, THIRTEENTH, FOURTEENTH, FIFTEENTH, SIXTEENTH, SEVENTEENTH, EIGHTTEENTH, NINETEENTH, TWENTIETH, TWENTYFIRST, TWENTYSECOND, TWENTYTHIRD, TWENTYFOURTH, TWENTYFIFTH, TWENTYSIXTH, TWENTYSEVENTH, TWENTYEIGHTH, TWENTYNINTH, THIRTIETH, THIRTYFIRST, THIRTYSECOND, THIRTYTHIRD, THIRTYFOURTH, THIRTYFIFTH, THIRTYSIXTH, THIRTYSEVENTH, THIRTYEIGHTH, THIRTYNINTH, FORTIETH, FORTYFIRST, FORTYSECOND, FORTYTHIRD

    Controllable:No

    Description:Order of the FE shape function to use for this variable (additional orders not listed here are allowed, depending on the family).

  • two_term_boundary_expansionTrueWhether to use a two-term Taylor expansion to calculate boundary face values. If the two-term expansion is used, then the boundary face value depends on the adjoining cell center gradient, which itself depends on the boundary face value. Consequently an implicit solve is used to simultaneously solve for the adjoining cell center gradient and boundary face value(s).

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether to use a two-term Taylor expansion to calculate boundary face values. If the two-term expansion is used, then the boundary face value depends on the adjoining cell center gradient, which itself depends on the boundary face value. Consequently an implicit solve is used to simultaneously solve for the adjoining cell center gradient and boundary face value(s).

  • use_dualFalseTrue to use dual basis for Lagrange multipliers

    Default:False

    C++ Type:bool

    Controllable:No

    Description:True to use dual basis for Lagrange multipliers

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.

  • eigenFalseTrue to make this variable an eigen variable

    Default:False

    C++ Type:bool

    Controllable:No

    Description:True to make this variable an eigen variable

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

  • outputsVector of output names where you would like to restrict the output of variables(s) associated with this object

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

    Controllable:No

    Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object

  • scalingSpecifies a scaling factor to apply to this variable

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

    Controllable:No

    Description:Specifies a scaling factor to apply to this variable

Advanced Parameters