MFEMRefinementMarker

Summary

Wrapper around mfem::ThresholdRefiner. Input file needs to have the name of an estimator to construct correctly.

Overview

Currently contains one method for h-refinement (hRefine) and another for p-refinement (pRefine). Both advance an internal counter which determines how many refinement steps have been taken.

Example Input File Syntax

[Adaptivity<<<{"href": "../../../syntax/Adaptivity/index.html"}>>>]
  [Indicators<<<{"href": "../../../syntax/Adaptivity/Indicators/index.html"}>>>]
    [l2zz]
      type = MFEML2ZienkiewiczZhuIndicator<<<{"description": "Base class for MFEM objects backed directly by MooseObject.", "href": "../indicators/MFEML2ZienkiewiczZhuIndicator.html"}>>>
      variable<<<{"description": "Variable to perform amr with"}>>> = concentration
      kernel<<<{"description": "Kernel to perform amr with"}>>> = diff
    []
  []
  [Markers<<<{"href": "../../../syntax/Adaptivity/Markers/index.html"}>>>]
    [ref]
      type = MFEMRefinementMarker<<<{"description": "Base class for MFEM objects backed directly by MooseObject.", "href": "MFEMRefinementMarker.html"}>>>
      threshold<<<{"description": "Elements above this percentage of the max error will be refined. Must be between 0 and 1!"}>>> = 0.7
      indicator<<<{"description": "Estimator to use"}>>> = l2zz
      max_h_level<<<{"description": "Max number of h-refinement steps"}>>> = 1
    []
  []
[]
(test/tests/mfem/kernels/diffusion_amr.i)

Input Parameters

  • indicatorEstimator to use

    C++ Type:std::string

    Controllable:No

    Description:Estimator to use

Required Parameters

  • max_h_level0Max number of h-refinement steps

    Default:0

    C++ Type:unsigned int

    Range:max_h_level>=0 & max_h_level<=10

    Controllable:No

    Description:Max number of h-refinement steps

  • max_p_level0Max number of p-refinement steps

    Default:0

    C++ Type:unsigned int

    Range:max_p_level>=0 & max_p_level<=10

    Controllable:No

    Description:Max number of p-refinement steps

  • rebalanceFalseWhether to rebalance the mesh after h-refinement

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to rebalance the mesh after h-refinement

  • threshold0Elements above this percentage of the max error will be refined. Must be between 0 and 1!

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Range:threshold>=0 & threshold<=1

    Controllable:No

    Description:Elements above this percentage of the max error will be refined. Must be between 0 and 1!

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.

Advanced Parameters

Input Files