BoundaryMarker

Marks all elements with sides on a given boundary for refinement/coarsening

Description

The BoundaryMarker is a stand-alone marker that marks all elements either directly or within a given "distance" to a boundary.

warningwarning:Distributed Mesh

Currently this Marker may give inaccurate results when using distributed meshes while also supplying the "distance" parameter. Parts of the boundary on different processors will not affect the distance calculation. Marking elements directly adjacent to a boundary will always work.

commentnote:Performance

This marker is not yet optimized for scalability when using the "distance" parameter and will have a complexity of order O(N*M), where N is the total number of elements in the mesh, and M is the number of elements adjacent to the boundary.

Example Input Syntax

[Adaptivity]
  [Markers]
    [boundary]
      type = BoundaryMarker
      next_to = right
      mark = refine
    []
  []
  initial_marker = boundary
  initial_steps = 2
[]
(moose/test/tests/markers/boundary_marker/adjacent.i)
[Adaptivity]
  [Markers]
    [boundary]
      type = BoundaryMarker
      next_to = right
      distance = 0.35
      mark = refine
    []
  []
  initial_marker = boundary
  initial_steps = 1
[]
(moose/test/tests/markers/boundary_marker/distance.i)

Input Parameters

  • markHow to mark elements adjacent to the boundary.

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:DONT_MARK, COARSEN, DO_NOTHING, REFINE

    Controllable:No

    Description:How to mark elements adjacent to the boundary.

  • next_toBoundaries to refine elements along

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Boundaries to refine elements along

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

  • distance0Distance from the boundary to refine within

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Distance from the boundary to refine within

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