PolycrystalVariablesAction

Set up order parameter variables for a polycrystal simulation

Overview

This action creates a series of variables with a common naming convention. The required input parameter op_num defines how many variables will be generated. Each variable is named based on the var_name_base parameter; e.g. for op_num = 3, var_name_base = gr, three nonlinear variables are created (gr0, gr1, and gr2).

This action can be used to create variables used for a phase field grain growth model, but can also be used anytime a series of numbered variables is desired.

Variables

  • Creates a total of op_num variables

    • Variables named var_name_base0, var_name_base1, , var_name_base+op_num.

Example Input File Syntax

The PolycrystalVariablesAction is accessed through the Variables block, as shown below:

[GlobalParams]
  op_num = 2
  var_name_base = gr
[]
(../moose/modules/phase_field/test/tests/grain_growth/test.i)
[Variables]
  [./PolycrystalVariables]
  [../]
[]
(../moose/modules/phase_field/test/tests/grain_growth/test.i)

Input Parameters

  • op_numspecifies the number of order parameters to create

    C++ Type:unsigned int

    Controllable:No

    Description:specifies the number of order parameters to create

  • 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 variables and kernels

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

    Controllable:No

    Description:Block restriction for the variables and kernels

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

  • familyLAGRANGESpecifies the family of FE shape function to use for the order parameters

    Default:LAGRANGE

    C++ Type:MooseEnum

    Options:LAGRANGE, MONOMIAL, HERMITE, SCALAR, HIERARCHIC, CLOUGH, XYZ, SZABAB, BERNSTEIN, L2_LAGRANGE, L2_HIERARCHIC, NEDELEC_ONE, LAGRANGE_VEC, MONOMIAL_VEC, RATIONAL_BERNSTEIN, SIDE_HIERARCHIC

    Controllable:No

    Description:Specifies the family of FE shape function to use for the order parameters

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

  • initial_from_fileFalseTake the initial condition of all polycrystal variables from the mesh file

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Take the initial condition of all polycrystal variables from the mesh file

  • orderFIRSTSpecifies the order of the FE shape function to use for the order parameters

    Default:FIRST

    C++ Type:MooseEnum

    Options:CONSTANT, FIRST, SECOND, THIRD, FOURTH

    Controllable:No

    Description:Specifies the order of the FE shape function to use for the order parameters

  • scaling1Specifies a scaling factor to apply to this variable

    Default:1

    C++ Type:double

    Controllable:No

    Description:Specifies a scaling factor to apply to this variable

Optional Parameters