BicrystalBoundingBoxICAction

Constructs a bicrystal, where one grain is on the inside of the box and the other grain is the outside of the box

Overview

This action creates the initial conditions (ICs) for the two order parameters used to represent a bicrystal. It creates a grain structure with the first grain represented by a rectangle (2D) or rectangular prism (3D) embedded in the second grain. One common use is to create a bicrystal with a single straight grain boundary between the two grains.

The action creates two ICs with the BoundingBoxIC, one for each order parameter. Each are defined with the same bounding box coordinates, but for the first order parameter inside = 1.0 and outside = 0.0 and for the second inside = 0.0 and outside = 1.0.

Example Input File Syntax

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

[ICs]
  [./PolycrystalICs]
    [./BicrystalBoundingBoxIC]
      x1 = 0
      y1 = 0
      x2 = 500
      y2 = 1000
    [../]
  [../]
[]
(moose/modules/phase_field/test/tests/grain_growth/boundingbox.i)

Input Parameters

  • op_numNumber of grains, should be 2

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of grains, should be 2

  • 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

  • x1The x coordinate of the lower left-hand corner of the box

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The x coordinate of the lower left-hand corner of the box

  • x2The x coordinate of the upper right-hand corner of the box

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The x coordinate of the upper right-hand corner of the box

  • y1The y coordinate of the lower left-hand corner of the box

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The y coordinate of the lower left-hand corner of the box

  • y2The y coordinate of the upper right-hand corner of the box

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The y coordinate of the upper right-hand corner of the box

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.

  • z10The z coordinate of the lower left-hand corner of the box

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The z coordinate of the lower left-hand corner of the box

  • z20The z coordinate of the upper right-hand corner of the box

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The z coordinate of the upper right-hand corner of the box

Optional 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