- bound_valueBound value used to keep variable between +/-bound. Must be positive.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Bound value used to keep variable between +/-bound. Must be positive.
- invalueThe variable value inside the circle
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The variable value inside the circle
- outvalueThe variable value outside the circle
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The variable value outside the circle
- radiusThe radius of a circle
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The radius of a circle
- 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.
- x1The x coordinate of the circle center
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The x coordinate of the circle center
- y1The y coordinate of the circle center
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The y coordinate of the circle center
SmoothCircleICLinearizedInterface
Circle with a smooth interface transformed using the linearized interface function
Overview
This IC is for use with the linearized interface grain growth model. It converts the output from SmoothCircleIC from an order parameter for the traditional grain growth model (see Fig. 1) to the changed variable for linearized interface variable (see Fig. 2). It uses the function from Glasner (2001):
So, the equation for the initial condition of the transformed variables is
The initial condition also has to consider the bounds values, . When the function value of the order parameter initial condition is outside the bounds, the transformed variable value is equal to the bounds value. However, to make this evaluation, the bounds values have to be converted to order parameter values, such that:
For , .
For , .
Example Input File Syntax
The input file syntax for the IC is:
[ICs]
[phi0_IC]
type = SmoothCircleICLinearizedInterface
variable = phi0
invalue = 1.0
outvalue = 0.0
bound_value = 5.0
radius = 30
int_width = 10
x1 = 0.0
y1 = 0.0
profile = TANH
[]
[]
(moose/modules/phase_field/test/tests/grain_growth_w_linearized_interface/grain_growth_linearized_interface.i)Input Parameters
- 3D_spheresTruein 3D, whether the objects are spheres or columns
Default:True
C++ Type:bool
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
Controllable:No
Description:The list of boundaries (ids or names) from the mesh where this object applies
- int_width0The interfacial width of the void surface. Defaults to sharp interface
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The interfacial width of the void surface. Defaults to sharp interface
- profileCOSFunctional dependence for the interface profile
Default:COS
C++ Type:MooseEnum
Unit:(no unit assumed)
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
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.
- rand_seed12345Seed value for the random number generator
Default:12345
C++ Type:unsigned int
Unit:(no unit assumed)
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
Unit:(no unit assumed)
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.
- z10The z coordinate of the circle center
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The z coordinate of the circle center
- 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
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
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
Unit:(no unit assumed)
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
Unit:(no unit assumed)
Controllable:No
Description:When set to true, a UserObject retrieved by this IC will not be executed before the this IC
Advanced Parameters
References
- Karl Glasner.
Nonlinear preconditioning for diffuse interfaces.
Journal of Computational Physics, 174(2):695–711, 2001.[BibTeX]