PolycrystalVoronoiVoidIC

The PolycrystalVoronoiVoidIC generates a Voronoi tessellation to produce a grain structure with voids randomly distributed along the grain boundaries. The centroids of grains can be either generated from a set of random points or assigned from a file. It requires the number of voids to be greater than zero. In general, you should use PolycrystalVoronoi to represent Voronoi grain structures without voids.

Typical usage in an input file:

[./c_IC]
  variable = c
  type = PolycrystalVoronoiVoidIC
  structure_type = voids
  polycrystal_ic_uo = voronoi
[../]
(modules/phase_field/test/tests/initial_conditions/PolycrystalVoronoiVoidIC_periodic.i)

Description and Syntax

Random distribution of smooth circles with given minimum spacing

Input Parameters

  • bubspacminimum spacing of bubbles, measured from center to center

    C++ Type:double

    Controllable:No

    Description:minimum spacing of bubbles, measured from center to center

  • invalueThe variable value inside the circle

    C++ Type:double

    Controllable:No

    Description:The variable value inside the circle

  • numbubThe number of bubbles to place

    C++ Type:unsigned int

    Controllable:No

    Description:The number of bubbles to place

  • op_numNumber of order parameters

    C++ Type:unsigned int

    Controllable:No

    Description:Number of order parameters

  • outvalueThe variable value outside the circle

    C++ Type:double

    Controllable:No

    Description:The variable value outside the circle

  • polycrystal_ic_uoUserObject for obtaining the polycrystal grain structure.

    C++ Type:UserObjectName

    Controllable:No

    Description:UserObject for obtaining the polycrystal grain structure.

  • radiusMean radius value for the circles

    C++ Type:double

    Controllable:No

    Description:Mean radius value for the circles

  • structure_typeWhich structure type is being initialized, grains or voids

    C++ Type:MooseEnum

    Options:grains, voids

    Controllable:No

    Description:Which structure type is being initialized, grains or voids

  • variableThe variable this initial condition is supposed to provide values for.

    C++ Type:VariableName

    Controllable:No

    Description:The variable this initial condition is supposed to provide values for.

Required Parameters

  • 3D_spheresTruein 3D, whether the objects are spheres or columns

    Default:True

    C++ Type:bool

    Controllable:No

    Description:in 3D, whether the objects are spheres or columns

  • blockThe list of blocks (ids or names) that this object will be applied

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

    Controllable:No

    Description:The list of blocks (ids or names) that this object will be applied

  • boundaryThe list of boundaries (ids or names) from the mesh where this object applies

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

    Controllable:No

    Description:The list of boundaries (ids or names) from the mesh where this object applies

  • columnar_3DFalse3D microstructure will be columnar in the z-direction?

    Default:False

    C++ Type:bool

    Controllable:No

    Description:3D microstructure will be columnar in the z-direction?

  • file_nameFile containing grain centroids, if file_name is provided, the centroids from the file will be used.

    C++ Type:FileName

    Controllable:No

    Description:File containing grain centroids, if file_name is provided, the centroids from the file will be used.

  • int_width0The interfacial width of the void surface. Defaults to sharp interface

    Default:0

    C++ Type:double

    Controllable:No

    Description:The interfacial width of the void surface. Defaults to sharp interface

  • numtries1000The number of tries

    Default:1000

    C++ Type:unsigned int

    Controllable:No

    Description:The number of tries

  • op_index0The index for the current order parameter, not needed if structure_type = voids

    Default:0

    C++ Type:unsigned int

    Controllable:No

    Description:The index for the current order parameter, not needed if structure_type = voids

  • profileCOSFunctional dependence for the interface profile

    Default:COS

    C++ Type:MooseEnum

    Options:COS, TANH

    Controllable:No

    Description:Functional dependence for the interface profile

  • prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

    C++ Type:MaterialPropertyName

    Controllable:No

    Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

  • radius_variation0Plus or minus fraction of random variation in the bubble radius for uniform, standard deviation for normal

    Default:0

    C++ Type:double

    Controllable:No

    Description:Plus or minus fraction of random variation in the bubble radius for uniform, standard deviation for normal

  • radius_variation_typenoneType of distribution that random circle radii will follow

    Default:none

    C++ Type:MooseEnum

    Options:uniform, normal, none

    Controllable:No

    Description:Type of distribution that random circle radii will follow

  • rand_seed12345Seed value for the random number generator

    Default:12345

    C++ Type:unsigned int

    Controllable:No

    Description:Seed value for the random number generator

  • use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

  • zero_gradientFalseSet the gradient DOFs to zero. This can avoid numerical problems with higher order shape functions and overlapping circles.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Set the gradient DOFs to zero. This can avoid numerical problems with higher order shape functions and overlapping circles.

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.

  • ignore_uo_dependencyFalseWhen set to true, a UserObject retrieved by this IC will not be executed before the this IC

    Default:False

    C++ Type:bool

    Controllable:No

    Description:When set to true, a UserObject retrieved by this IC will not be executed before the this IC

Advanced Parameters

Input Files