ElementQualityChecker

Class to check the quality of each element using different metrics from libmesh.

Description

UserObject based on available libmesh quality metrics to check the quality of each element. It works for both uniform or mixed element types.

Example Input Syntax


[UserObjects]
  [./elem_quality_check]
    type = ElementQualityChecker
    metric_type = STRETCH
    failure_type = ERROR
    upper_bound = 1.0
    lower_bound = 0.5
  [../]
[]
(moose/test/tests/userobjects/element_quality_check/failure_error.i)

Input Parameters

  • metric_typeType of quality metric to be checked

    C++ Type:MooseEnum

    Description:Type of quality metric to be checked

Required Parameters

  • execute_onINITIALThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.

    Default:INITIAL

    C++ Type:ExecFlagEnum

    Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.

  • lower_boundThe lower bound for provided metric type

    C++ Type:double

    Description:The lower bound for provided metric type

  • upper_boundthe upper bound for provided metric type

    C++ Type:double

    Description:the upper bound for provided metric type

  • blockThe list of block ids (SubdomainID) that this object will be applied

    C++ Type:std::vector

    Description:The list of block ids (SubdomainID) that this object will be applied

  • failure_typeWARNINGThe way how the failure of quality metric check should respond

    Default:WARNING

    C++ Type:MooseEnum

    Description:The way how the failure of quality metric check should respond

Optional Parameters

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Description:Set the enabled status of the MooseObject.

  • use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

    Default:False

    C++ Type:bool

    Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

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

    C++ Type:std::vector

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

  • allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

    Default:False

    C++ Type:bool

    Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

  • seed0The seed for the master random number generator

    Default:0

    C++ Type:unsigned int

    Description:The seed for the master random number generator

  • implicitTrueDetermines whether this object is calculated using an implicit or explicit form

    Default:True

    C++ Type:bool

    Description:Determines whether this object is calculated using an implicit or explicit form

Advanced Parameters