- coarsen_markersA list of the marker names to be used for coasening.
C++ Type:std::vector<MarkerName>
Controllable:No
Description:A list of the marker names to be used for coasening.
- refine_markersA list of the marker names to be used for refinement.
C++ Type:std::vector<MarkerName>
Controllable:No
Description:A list of the marker names to be used for refinement.
BooleanComboMarker
Description
The BooleanComboMarker
class combines multiple other markers together using boolean operations. The markers provided in refine_markers
are responsible for determining if an element should be refined, while the markers provided in coarsen_markers
are responsible for determining if an element should be coarsened. Setting boolean_operator
to and
will require all refine_markers
to return MarkerValue::REFINE
before BooleanComboMarker
marks an element for refinement. Setting`boolean_operator` to or
will require a single marker to return MarkerValue::REFINE
before an element is marked for refinement. The same holds true for coarsen_markers
with MarkerValue::COARSEN
. In the event both the refinement and coarsening expressions are true, the preferred refinement operation (priority
) is used to determine if the element is marked for refinement or coarsening.
Example Input File Syntax
[Adaptivity<<<{"href": "../../syntax/Adaptivity/index.html"}>>>]
[Markers<<<{"href": "../../syntax/Adaptivity/Markers/index.html"}>>>]
[combo]
type = BooleanComboMarker<<<{"description": "A class which takes multiple markers and ANDs / ORs them together to determine if an element should be refined or coarsened.", "href": "BooleanComboMarker.html"}>>>
refine_markers<<<{"description": "A list of the marker names to be used for refinement."}>>> = 'box box2'
coarsen_markers<<<{"description": "A list of the marker names to be used for coasening."}>>> = 'box2 box3'
boolean_operator<<<{"description": "How the different markers should be combined. Options are to AND each marker together or to OR them together."}>>> = and
priority<<<{"description": "The operator to be prioritized when marking elements."}>>> = refinement
[]
[box]
type = BoxMarker<<<{"description": "Marks the region inside and outside of a 'box' domain for refinement or coarsening.", "href": "BoxMarker.html"}>>>
bottom_left<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '0.3 0.3 0'
top_right<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '0.6 0.6 0'
inside<<<{"description": "How to mark elements inside the box."}>>> = refine
outside<<<{"description": "How to mark elements outside the box."}>>> = do_nothing
[]
[box2]
type = BoxMarker<<<{"description": "Marks the region inside and outside of a 'box' domain for refinement or coarsening.", "href": "BoxMarker.html"}>>>
bottom_left<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '0.5 0.5 0'
top_right<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '0.8 0.8 0'
inside<<<{"description": "How to mark elements inside the box."}>>> = refine
outside<<<{"description": "How to mark elements outside the box."}>>> = coarsen
[]
[box3]
type = BoxMarker<<<{"description": "Marks the region inside and outside of a 'box' domain for refinement or coarsening.", "href": "BoxMarker.html"}>>>
bottom_left<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '0.7 0.7 0'
top_right<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '1.0 1.0 0'
inside<<<{"description": "How to mark elements inside the box."}>>> = coarsen
outside<<<{"description": "How to mark elements outside the box."}>>> = do_nothing
[]
[]
[]
(cardinal/test/tests/markers/boolean_combo/prioritize_refine_and.i)Input 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
- boolean_operatorandHow the different markers should be combined. Options are to AND each marker together or to OR them together.
Default:and
C++ Type:MooseEnum
Controllable:No
Description:How the different markers should be combined. Options are to AND each marker together or to OR them together.
- priorityrefinementThe operator to be prioritized when marking elements.
Default:refinement
C++ Type:MooseEnum
Controllable:No
Description:The operator to be prioritized when marking elements.
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