PolycrystalRandomICAction

Overview

This action creates the initial conditions (ICs) for the op_num order parameters used to represent a polycrystal with a random initial condition.

The action creates the IC for each of the variables with PolycrystalRandomIC.

Example Input File Syntax

The PolycrystalRandomICAction is accessed through the ICs/PolycrystalICs block, as shown below.

[GlobalParams]
  # Parameters used by several kernels that are defined globally to simplify input file
  op_num = 10 # Number of grains
  var_name_base = gr # Base name of grains
[]
(../moose/modules/phase_field/examples/grain_growth/grain_growth_2D_random.i)
[ICs]
  [PolycrystalICs]
    [PolycrystalRandomIC]
      random_type = discrete
    []
  []
[]
(../moose/modules/phase_field/examples/grain_growth/grain_growth_2D_random.i)

Input Parameters

  • op_numnumber of order parameters to create

    C++ Type:unsigned int

    Controllable:No

    Description:number of order parameters to create

  • random_typeThe type of random polycrystal initial condition. Whether one order parameter is chosen to be 1 at each node or if each other parameter continuously varies from 0 to 1

    C++ Type:MooseEnum

    Options:continuous, discrete

    Controllable:No

    Description:The type of random polycrystal initial condition. Whether one order parameter is chosen to be 1 at each node or if each other parameter continuously varies from 0 to 1

  • var_name_basespecifies the base name of the variables

    C++ Type:std::string

    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>

    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>

    Controllable:No

    Description:Block restriction for the initial condition

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

  • inactiveIf specified blocks matching these identifiers will be skipped.

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

    Controllable:No

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

Optional Parameters