- op_indexIndex for the current grain order parameterC++ Type:unsigned int Controllable:No Description:Index for the current grain order parameter 
- op_numNumber of grain order parametersC++ Type:unsigned int Controllable:No Description:Number of grain order parameters 
- variableThe variable this initial condition is supposed to provide values for.C++ Type:VariableName Unit:(no unit assumed) Controllable:No Description:The variable this initial condition is supposed to provide values for. 
TricrystalTripleJunctionIC
Tricrystal with a triple junction
Overview
This initial condition (ICs) sets the variable values to represent a grain structure with three grains coming together at a triple junction. The initial triple junction angles are set by the user.
Note that the grains are created with sharp interfaces.
Example Input File Syntax
[GlobalParams<<<{"href": "../../syntax/GlobalParams/index.html"}>>>]
  # Parameters used by several kernels that are defined globally to simplify input file
  op_num = 3 # Number of order parameters used
  var_name_base = gr # base name of grains
  v = 'gr0 gr1 gr2' # Names of the grains
  theta1 = 135 # Angle the first grain makes at the triple junction
  theta2 = 100 # Angle the second grain makes at the triple junction
  length_scale = 1.0e-9 # Length scale in nm
  time_scale = 1.0e-9 # Time scale in ns
[][ICs<<<{"href": "../../syntax/Cardinal/ICs/index.html"}>>>]
  [gr0_IC]
    type = TricrystalTripleJunctionIC<<<{"description": "Tricrystal with a triple junction", "href": "TricrystalTripleJunctionIC.html"}>>>
    variable<<<{"description": "The variable this initial condition is supposed to provide values for."}>>> = gr0
    op_index<<<{"description": "Index for the current grain order parameter"}>>> = 1
  []
  [gr1_IC]
    type = TricrystalTripleJunctionIC<<<{"description": "Tricrystal with a triple junction", "href": "TricrystalTripleJunctionIC.html"}>>>
    variable<<<{"description": "The variable this initial condition is supposed to provide values for."}>>> = gr1
    op_index<<<{"description": "Index for the current grain order parameter"}>>> = 2
  []
  [gr2_IC]
    type = TricrystalTripleJunctionIC<<<{"description": "Tricrystal with a triple junction", "href": "TricrystalTripleJunctionIC.html"}>>>
    variable<<<{"description": "The variable this initial condition is supposed to provide values for."}>>> = gr2
    op_index<<<{"description": "Index for the current grain order parameter"}>>> = 3
  []
[]Input Parameters
- blockThe list of blocks (ids or names) that this object will be appliedC++ 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 appliesC++ Type:std::vector<BoundaryName> Controllable:No Description:The list of boundaries (ids or names) from the mesh where this object applies 
- junctionThe point where the triple junction is located. Default is the center of the meshC++ Type:libMesh::Point Controllable:No Description:The point where the triple junction is located. Default is the center of the mesh 
- stateCURRENTThis parameter is used to set old state solutions at the start of simulation. If specifying multiple states at the start of simulation, use one IC object for each state being specified. The states are CURRENT=0 OLD=1 OLDER=2. States older than 2 are not currently supported. When the user only specifies current state, the solution is copied to the old and older states, as expected. This functionality is mainly used for dynamic simulations with explicit time integration schemes, where old solution states are used in the velocity and acceleration approximations.Default:CURRENT C++ Type:MooseEnum Controllable:No Description:This parameter is used to set old state solutions at the start of simulation. If specifying multiple states at the start of simulation, use one IC object for each state being specified. The states are CURRENT=0 OLD=1 OLDER=2. States older than 2 are not currently supported. When the user only specifies current state, the solution is copied to the old and older states, as expected. This functionality is mainly used for dynamic simulations with explicit time integration schemes, where old solution states are used in the velocity and acceleration approximations. 
- theta1135Angle of first grain at triple junction in degreesDefault:135 C++ Type:double Unit:(no unit assumed) Controllable:No Description:Angle of first grain at triple junction in degrees 
- theta2135Angle of second grain at triple junction in degreesDefault:135 C++ Type:double Unit:(no unit assumed) Controllable:No Description:Angle of second grain at triple junction in degrees 
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 ICDefault: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
- 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 Unit:(no unit assumed) 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. 
- 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.