ValueRangeMarker

Mark elements for adaptivity based on the supplied upper and lower bounds and the specified variable.

Description

The ValueRangeMarker utilizes an Indicator as en estimate of error. Elements with error estimates inside and outside of an allowable range can then be marked for coarsening or refinement.

By default values inside the range are marked for refinement, but this may be reversed using the "invert" parameter.

Additionally, a third state buffer region exists outside of the define range bounds. Elements in this region may be marked to a different state. Typically, this buffer region is used to define a region of elements that are marked with "DO_NOTHING" to avoid having elements marked for refinement directly adjacent to elements marked for refinement.

Example Input Syntax

[Adaptivity]
  [./Markers]
    [./marker]
      type = ValueRangeMarker
      lower_bound = 0.3
      upper_bound = 0.6
      buffer_size = 0.1
      variable = u
      third_state = DO_NOTHING
    [../]
    [./inverted_marker]
      type = ValueRangeMarker
      invert = true
      lower_bound = 0.3
      upper_bound = 0.6
      buffer_size = 0.1
      variable = u
      third_state = DO_NOTHING
    [../]
  [../]
[]
(test/tests/markers/value_range_marker/value_range_marker_test.i)

Input Parameters

  • lower_boundThe lower bound value for the range.

    C++ Type:double

    Controllable:No

    Description:The lower bound value for the range.

  • upper_boundThe upper bound value for the range.

    C++ Type:double

    Controllable:No

    Description:The upper bound value for the range.

  • variableThe values of this variable will be compared to 'refine' and 'coarsen' to see what should be done with the element

    C++ Type:VariableName

    Controllable:No

    Description:The values of this variable will be compared to 'refine' and 'coarsen' to see what should be done with the element

Required Parameters

  • 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

  • buffer_size0A buffer zone value added to both ends of the range where a third_state marker can be returned.

    Default:0

    C++ Type:double

    Controllable:No

    Description:A buffer zone value added to both ends of the range where a third_state marker can be returned.

  • invertFalseIf this is true then values _below_ 'refine' will be refined and _above_ 'coarsen' will be coarsened.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:If this is true then values _below_ 'refine' will be refined and _above_ 'coarsen' will be coarsened.

  • prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

    C++ Type:MaterialPropertyName

    Controllable:No

    Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

  • third_stateDONT_MARKThe Marker state to apply to values falling in-between the coarsen and refine thresholds.

    Default:DONT_MARK

    C++ Type:MooseEnum

    Options:DONT_MARK, COARSEN, DO_NOTHING, REFINE

    Controllable:No

    Description:The Marker state to apply to values falling in-between the coarsen and refine thresholds.

  • use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

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.

  • 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

Advanced Parameters

Input Files