PolycrystalColoringICAction

Action to create ICs for polycrystal variables from a UserObject

Overview

This simplifies the syntax for creating polycrystal ICs. It automatically creates an IC for each variable used in the grain growth model. It works for both the traditional phase field grain growth model and the linearized interface grain growth model. Depending on the value of linearized_interface, two different ICs are used for each variable:

Both of these ICs require a UserObject to define the actual polycrystal geometry. See Polycrystal ICs for more information and a full list of the options.

Example Input File Syntax

For linearized_interface = false

[GlobalParams]
  # Parameters used by several kernels that are defined globally to simplify input file
  op_num = '8' # Number of order parameters used
  var_name_base = 'gr' # Base name of grains
  order = 'CONSTANT'
  family = 'MONOMIAL'
[]
(moose/modules/phase_field/test/tests/grain_tracker_test/distributed_poly_ic.i)
[ICs]
  [PolycrystalICs]
    [PolycrystalColoringIC]
      polycrystal_ic_uo = voronoi
    []
  []
[]
(moose/modules/phase_field/test/tests/grain_tracker_test/distributed_poly_ic.i)

For linearized_interface = true

[GlobalParams]
  bound_value = 5.0
  op_num = 5
  var_name_base = phi
[]
(moose/modules/phase_field/test/tests/grain_growth_w_linearized_interface/voronoi_linearized_interface.i)
[ICs]
  [PolycrystalICs]
    [PolycrystalColoringIC]
      polycrystal_ic_uo = RandomVoronoi
      linearized_interface = true
    []
  []
[]
(moose/modules/phase_field/test/tests/grain_growth_w_linearized_interface/voronoi_linearized_interface.i)

Input Parameters

  • op_numnumber of order parameters to create

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:number of order parameters to create

  • polycrystal_ic_uoOptional: TODO

    C++ Type:UserObjectName

    Unit:(no unit assumed)

    Controllable:No

    Description:Optional: TODO

  • var_name_basespecifies the base name of the variables

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:specifies the base name of the variables

Required Parameters

  • active__all__ If specified only the blocks named will be visited and made active

    Default:__all__

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

    Unit:(no unit assumed)

    Controllable:No

    Description:If specified only the blocks named will be visited and made active

  • blockBlock restriction for the initial condition

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Block restriction for the initial condition

  • inactiveIf specified blocks matching these identifiers will be skipped.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:If specified blocks matching these identifiers will be skipped.

Optional Parameters

  • bound_value5Bound value used to keep variable between +/-bound. Must be positive.

    Default:5

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Bound value used to keep variable between +/-bound. Must be positive.

  • linearized_interfaceFalseWhether to use linearized interface or the standard model

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether to use linearized interface or the standard model

Linearizedinterface 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.

Advanced Parameters