BoundaryPreservedMarker

Description

This is the same as ErrorFractionMarker, which marks elements for refinement or coarsening based on the fraction of the min/max error from the supplied indicator while preserving the given boundary.

The motivation is to preserve the boundary geometry during the mesh coarsening. Any elements that connect with the boundary will be maintained during coarsening. These elements might be coarsened later if the boundary moves to a different location.

Example Input File Syntax

[Adaptivity]
  steps = 1
  marker = 'marker'
  initial_marker = 'marker'
  max_h_level = 1
  [Indicators]
    [indicator]
      type = GradientJumpIndicator
      variable = 'phi'
    []
  []
  [Markers]
    [efm]
      type = ErrorFractionMarker
      indicator = 'indicator'
      coarsen = 0.2
      refine = 0.5
    []
    [marker]
      type = BoundaryPreservedMarker
      preserved_boundary = 'moving_boundary'
      marker = 'efm'
    []
  []
[]

Input Parameters

  • markerThe marker name to decide whether to carsen or refine elements.

    C++ Type:MarkerName

    Unit:(no unit assumed)

    Controllable:No

    Description:The marker name to decide whether to carsen or refine elements.

  • preserved_boundaryThe name of the boundary to be preserved. Will try to preserve the boundary during AMR

    C++ Type:BoundaryName

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the boundary to be preserved. Will try to preserve the boundary during AMR

Required Parameters

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

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

    Unit:(no unit assumed)

    Controllable:No

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

Optional Parameters

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

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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    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>

    Unit:(no unit assumed)

    Controllable:No

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

Advanced Parameters