- kappa_nameThe kappa used with the kernel
C++ Type:MaterialPropertyName
Description:The kappa used with the kernel
- mob_nameThe mobility used with the kernel
C++ Type:MaterialPropertyName
Description:The mobility used with the kernel
- variableThe name of the variable that this Kernel operates on
C++ Type:NonlinearVariableName
Description:The name of the variable that this Kernel operates on
CHInterface
Gradient energy Cahn-Hilliard Kernel with a scalar (isotropic) mobility
Implements the Cahn-Hilliard term for the gradient energy contribution for the isotropic mobility case. Its weak form is where (kappa_name
) is the gradient energy coefficent, the conserved non-linear order parameter variable the kernel is acting on, (mob_name
) is the scalar (isotropic) mobility associated with the order parameter, and is the test function.
See also
For an anisotropic version of this kernel see CHInterfaceAniso
, which expects a tensor valued mobility .
Input Parameters
- argsVector of arguments of the mobility
C++ Type:std::vector
Options:
Description:Vector of arguments of the mobility
- blockThe list of block ids (SubdomainID) that this object will be applied
C++ Type:std::vector
Options:
Description:The list of block ids (SubdomainID) that this object will be applied
- displacementsThe displacements
C++ Type:std::vector
Options:
Description:The displacements
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector
Options:
Description:Adds user-defined labels for accessing object parameters via control logic.
- diag_save_inThe name of auxiliary variables to save this Kernel's diagonal Jacobian contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)
C++ Type:std::vector
Options:
Description:The name of auxiliary variables to save this Kernel's diagonal Jacobian contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Options:
Description:Set the enabled status of the MooseObject.
- implicitTrueDetermines whether this object is calculated using an implicit or explicit form
Default:True
C++ Type:bool
Options:
Description:Determines whether this object is calculated using an implicit or explicit form
- save_inThe name of auxiliary variables to save this Kernel's residual contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)
C++ Type:std::vector
Options:
Description:The name of auxiliary variables to save this Kernel's residual contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)
- seed0The seed for the master random number generator
Default:0
C++ Type:unsigned int
Options:
Description:The seed for the master random number generator
- use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Default:False
C++ Type:bool
Options:
Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Advanced Parameters
- extra_matrix_tagsThe extra tags for the matrices this Kernel should fill
C++ Type:std::vector
Options:
Description:The extra tags for the matrices this Kernel should fill
- extra_vector_tagsThe extra tags for the vectors this Kernel should fill
C++ Type:std::vector
Options:
Description:The extra tags for the vectors this Kernel should fill
- matrix_tagssystemThe tag for the matrices this Kernel should fill
Default:system
C++ Type:MultiMooseEnum
Options:nontime system
Description:The tag for the matrices this Kernel should fill
- vector_tagsnontimeThe tag for the vectors this Kernel should fill
Default:nontime
C++ Type:MultiMooseEnum
Options:nontime time
Description:The tag for the vectors this Kernel should fill
Tagging Parameters
Input Files
- modules/phase_field/test/tests/PolynomialFreeEnergy/direct_order4_test.i
- modules/phase_field/test/tests/mobility_derivative/mobility_derivative_direct_test.i
- modules/misc/test/tests/dynamic_loading/dynamic_obj_registration/dynamic_objects.i
- modules/phase_field/test/tests/mobility_derivative/mobility_derivative_direct_coupled_test.i
- modules/phase_field/test/tests/SoretDiffusion/direct.i
- modules/phase_field/test/tests/initial_conditions/SmoothSuperellipsoidIC.i
- modules/phase_field/test/tests/PolynomialFreeEnergy/direct_order6_test.i
- modules/phase_field/test/tests/phase_field_kernels/CahnHilliard.i
- modules/combined/test/tests/multiphase_mechanics/nonsplit_gradderiv_action.i
- modules/phase_field/test/tests/initial_conditions/BoundingBoxIC.i
- modules/phase_field/test/tests/initial_conditions/BimodalSuperellipsoidsIC.i
- modules/combined/test/tests/multiphase_mechanics/nonsplit_gradderiv.i
- modules/phase_field/test/tests/initial_conditions/SpecifiedSmoothSuperellipsoidIC.i
- modules/phase_field/test/tests/initial_conditions/BimodalInverseSuperellipsoidsIC.i
- modules/phase_field/test/tests/initial_conditions/SmoothCircleIC.i
- modules/phase_field/test/tests/MultiSmoothCircleIC/latticesmoothcircleIC_small_invalue_test.i
- modules/misc/test/tests/dynamic_loading/dynamic_load_multiapp/phase_field_slave.i
- modules/phase_field/test/tests/free_energy_material/MathFreeEnergy.i
- modules/misc/test/tests/dynamic_loading/dynamic_obj_registration/dynamic_wrong_lib.i
- modules/phase_field/test/tests/initial_conditions/RndSmoothCircleIC.i
- modules/phase_field/examples/cahn-hilliard/Math_CH.i
- modules/phase_field/test/tests/PolynomialFreeEnergy/direct_order8_test.i
- modules/phase_field/test/tests/free_energy_material/MathEBFreeEnergy.i
- modules/phase_field/test/tests/initial_conditions/CrossIC.i
- modules/phase_field/test/tests/initial_conditions/RndBoundingBoxIC.i
- modules/phase_field/test/tests/SoretDiffusion/direct_temp.i
modules/phase_field/test/tests/PolynomialFreeEnergy/direct_order4_test.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmax = 125
[]
[GlobalParams]
polynomial_order = 4
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c_IC]
type = SmoothCircleIC
x1 = 0.0
y1 = 0.0
radius = 60.0
invalue = 1.0
outvalue = 0.1
int_width = 60.0
variable = c
[../]
[]
[Kernels]
[./local_energy]
type = CahnHilliard
variable = c
f_name = F
[../]
[./gradient_energy]
type = CHInterface
variable = c
mob_name = M
kappa_name = kappa
[../]
[./cdot]
type = TimeDerivative
variable = c
[../]
[]
[Materials]
[./Copper]
type = PFParamsPolyFreeEnergy
c = c
T = 1000 # K
int_width = 30.0
length_scale = 1.0e-9
time_scale = 1.0e-9
D0 = 3.1e-5 # m^2/s, from Brown1980
Em = 0.71 # in eV, from Balluffi1978 Table 2
Ef = 1.28 # in eV, from Balluffi1978 Table 2
surface_energy = 0.7 # Total guess
[../]
[./free_energy]
type = PolynomialFreeEnergy
c = c
derivative_order = 2
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = NEWTON
petsc_options_iname = -pc_type
petsc_options_value = lu
l_max_its = 30
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
start_time = 0.0
num_steps = 100
dt = 4
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/mobility_derivative/mobility_derivative_direct_test.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 12
ny = 12
xmax = 30
ymax = 30
elem_type = QUAD4
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c_IC]
type = SmoothCircleIC
x1 = 15
y1 = 15
radius = 10
variable = c
int_width = 3
invalue = 1
outvalue = -1
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./kappa]
type = GenericConstantMaterial
prop_names = 'kappa_c'
prop_values = '2.0'
[../]
[./mob]
type = DerivativeParsedMaterial
f_name = M
args = c
function = 'if(c<-1,0.1,if(c>1,0.1,1-.9*c^2))'
outputs = exodus
derivative_order = 2
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 15
l_tol = 1.0e-4
nl_max_its = 10
nl_rel_tol = 1.0e-8
start_time = 0.0
num_steps = 2
dt = 0.9
[]
[Outputs]
exodus = true
[]
modules/misc/test/tests/dynamic_loading/dynamic_obj_registration/dynamic_objects.i
# This input file contains objects only available in phase_field
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 2
xmax = 50
ymax = 25
elem_type = QUAD4
uniform_refine = 2
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c_IC]
type = BoundingBoxIC
x1 = 15.0
x2 = 35.0
y1 = 0.0
y2 = 25.0
inside = 1.0
outside = -0.8
variable = c
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.0'
block = 0
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 15
nl_max_its = 10
start_time = 0.0
num_steps = 2
dt = 1.0
[]
[Outputs]
exodus = true
[]
[Problem]
register_objects_from = 'PhaseFieldApp'
library_path = '../../../../../phase_field/lib'
[]
modules/phase_field/test/tests/mobility_derivative/mobility_derivative_direct_coupled_test.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmax = 30
ymax = 30
elem_type = QUAD4
[]
[Variables]
[./c]
family = HERMITE
order = THIRD
[../]
[./d]
[../]
[]
[ICs]
[./c_IC]
type = SmoothCircleIC
x1 = 15
y1 = 15
radius = 12
variable = c
int_width = 3
invalue = 1
outvalue = 0
[../]
[./d_IC]
type = BoundingBoxIC
x1 = 0
x2 = 15
y1 = 0
y2 = 30
inside = 1.0
outside = 0.0
variable = d
[../]
[]
[Kernels]
[./c_bulk]
type = CahnHilliard
variable = c
mob_name = M
f_name = F
args = d
[../]
[./c_int]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
args = d
[../]
[./c_dot]
type = TimeDerivative
variable = c
[../]
[./d_dot]
type = TimeDerivative
variable = d
[../]
[./d_diff]
type = MatDiffusion
variable = d
diffusivity = diffusivity
[../]
[]
[Materials]
[./kappa]
type = GenericConstantMaterial
prop_names = kappa_c
prop_values = 2.0
[../]
[./mob]
type = DerivativeParsedMaterial
f_name = M
args = 'c d'
function = if(d>0.001,d,0.001)*if(c<0,0.5,if(c>1,0.5,1-0.5*c^2))
derivative_order = 2
[../]
[./free_energy]
type = MathEBFreeEnergy
f_name = F
c = c
[../]
[./d_diff]
type = GenericConstantMaterial
prop_names = diffusivity
prop_values = 1.0
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = BDF2
solve_type = NEWTON
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 lu 1'
l_max_its = 30
l_tol = 1.0e-4
nl_max_its = 50
nl_rel_tol = 1.0e-10
dt = 0.25
num_steps = 2
[]
[Outputs]
execute_on = 'timestep_end'
[./oversample]
refinements = 2
type = Exodus
[../]
[]
modules/phase_field/test/tests/SoretDiffusion/direct.i
[Mesh]
type = GeneratedMesh
dim = 1
xmax = 1000
nx = 25
[]
[GlobalParams]
polynomial_order = 8
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c_IC]
type = SmoothCircleIC
x1 = 175.0
y1 = 0.0
radius = 100
invalue = 1.0
outvalue = 0.01
int_width = 100.0
variable = c
[../]
[]
[AuxVariables]
[./T]
[../]
[]
[Kernels]
[./c_int]
type = CHInterface
variable = c
kappa_name = kappa
mob_name = M
[../]
[./c_bulk]
type = CahnHilliard
variable = c
mob_name = M
f_name = F
[../]
[./c_soret]
type = SoretDiffusion
variable = c
T = T
diff_name = D
Q_name = Qstar
[../]
[./c_dot]
type = TimeDerivative
variable = c
[../]
[]
[AuxKernels]
[./Temp]
type = FunctionAux
variable = T
function = 1000.0+0.025*x
[../]
[]
[Materials]
[./Copper]
type = PFParamsPolyFreeEnergy
block = 0
c = c
T = T # K
int_width = 80.0
length_scale = 1.0e-9
time_scale = 1.0e-6
D0 = 3.1e-5 # m^2/s, from Brown1980
Em = 0.71 # in eV, from Balluffi1978 Table 2
Ef = 1.28 # in eV, from Balluffi1978 Table 2
surface_energy = 0.708 # Total guess
[../]
[./free_energy]
type = PolynomialFreeEnergy
block = 0
c = c
outputs = exodus
derivative_order = 3
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
l_max_its = 10
l_tol = 1.0e-4
nl_max_its = 25
nl_rel_tol = 1.0e-9
start_time = 0.0
num_steps = 60
dt = 1
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/initial_conditions/SmoothSuperellipsoidIC.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 25
ny = 25
xmax = 50
ymax = 50
elem_type = QUAD4
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c]
type = SmoothSuperellipsoidIC
variable = c
x1 = 25.0
y1 = 25.0
a = 8.0
b = 12.0
n = 3.5
invalue = 1.0
outvalue = -0.8
int_width = 4.0
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.0'
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 20
l_tol = 1.0e-4
nl_max_its = 40
nl_rel_tol = 1e-9
start_time = 0.0
num_steps = 1
dt = 2.0
[]
[Outputs]
exodus = false
[./out]
type = Exodus
refinements = 2
[../]
[]
modules/phase_field/test/tests/PolynomialFreeEnergy/direct_order6_test.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmax = 125
[]
[GlobalParams]
polynomial_order = 6
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c_IC]
type = SmoothCircleIC
x1 = 0.0
y1 = 0.0
radius = 60.0
invalue = 1.0
outvalue = 0.1
int_width = 60.0
variable = c
[../]
[]
[Kernels]
[./local_energy]
type = CahnHilliard
variable = c
f_name = F
[../]
[./gradient_energy]
type = CHInterface
variable = c
mob_name = M
kappa_name = kappa
[../]
[./cdot]
type = TimeDerivative
variable = c
[../]
[]
[Materials]
[./Copper]
type = PFParamsPolyFreeEnergy
c = c
T = 1000 # K
int_width = 30.0
length_scale = 1.0e-9
time_scale = 1.0e-9
D0 = 3.1e-5 # m^2/s, from Brown1980
Em = 0.71 # in eV, from Balluffi1978 Table 2
Ef = 1.28 # in eV, from Balluffi1978 Table 2
surface_energy = 0.7 # Total guess
[../]
[./free_energy]
type = PolynomialFreeEnergy
c = c
derivative_order = 2
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = NEWTON
petsc_options_iname = -pc_type
petsc_options_value = lu
l_max_its = 30
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
start_time = 0.0
num_steps = 100
dt = 4
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/phase_field_kernels/CahnHilliard.i
#
# Test the non-split parsed function free enery Cahn-Hilliard Bulk kernel
# The free energy used here has the same functional form as the CHPoly kernel
# If everything works, the output of this test should replicate the output
# of marmot/tests/chpoly_test/CHPoly_test.i (exodiff match)
#
[Mesh]
type = GeneratedMesh
dim = 2
nx = 16
ny = 16
xmax = 50
ymax = 50
elem_type = QUAD4
[]
[Variables]
[./cv]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./InitialCondition]
type = CrossIC
x1 = 5.0
y1 = 5.0
x2 = 45.0
y2 = 45.0
variable = cv
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = cv
[../]
[./CHSolid]
type = CahnHilliard
variable = cv
f_name = F
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = cv
mob_name = M
kappa_name = kappa_c
[../]
[]
[Materials]
[./consts]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1 0.1'
[../]
[./free_energy]
type = DerivativeParsedMaterial
f_name = F
args = 'cv'
function = '(1-cv)^2 * (1+cv)^2'
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 15
l_tol = 1.0e-4
nl_max_its = 10
nl_rel_tol = 1.0e-11
start_time = 0.0
num_steps = 2
dt = 0.7
[]
[Outputs]
[./out]
type = Exodus
refinements = 1
[../]
[]
modules/combined/test/tests/multiphase_mechanics/nonsplit_gradderiv_action.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 5
xmax = 10
ymax = 10
[]
[GlobalParams]
displacements = 'disp_x disp_y'
displacement_gradients = 'gxx gxy gyx gyy'
[]
[Modules]
[./PhaseField]
[./DisplacementGradients]
[../]
[../]
[]
[AuxVariables]
[./disp_x]
[./InitialCondition]
type = FunctionIC
function = '0.1*sin(2*x/10*3.14159265359)'
[../]
[../]
[./disp_y]
[./InitialCondition]
type = FunctionIC
function = '0.1*sin(1*y/10*3.14159265359)'
[../]
[../]
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
initial_condition = 0
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = c
[../]
[./bulk]
type = CahnHilliard
variable = c
mob_name = M
f_name = F
[../]
[./int]
type = CHInterface
variable = c
mob_name = M
kappa_name = kappa_c
[../]
[]
[BCs]
[./Periodic]
[./All]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./consts]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1 0.1'
[../]
[./elasticity_tensor]
type = ComputeConcentrationDependentElasticityTensor
c = c
C0_ijkl = '1.0 1.0'
C1_ijkl = '3.0 3.0'
fill_method0 = symmetric_isotropic
fill_method1 = symmetric_isotropic
[../]
[./smallstrain]
type = ComputeSmallStrain
[../]
[./linearelastic_a]
type = ComputeLinearElasticStress
[../]
[./elastic_free_energy]
type = ElasticEnergyMaterial
f_name = F
args = 'c'
derivative_order = 3
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = NEWTON
l_max_its = 30
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-7
nl_abs_tol = 1.0e-10
num_steps = 2
dt = 1
[]
[Outputs]
perf_graph = true
file_base = nonsplit_gradderiv_out
exodus = true
[]
modules/phase_field/test/tests/initial_conditions/BoundingBoxIC.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 2
xmax = 50
ymax = 25
elem_type = QUAD4
uniform_refine = 2
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c_IC]
type = BoundingBoxIC
x1 = 15.0
x2 = 35.0
y1 = 0.0
y2 = 25.0
inside = 1.0
outside = -0.8
variable = c
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.0'
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 15
nl_max_its = 10
start_time = 0.0
num_steps = 2
dt = 1.0
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/initial_conditions/BimodalSuperellipsoidsIC.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 25
ny = 25
xmax = 50
ymax = 50
elem_type = QUAD4
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c]
type = BimodalSuperellipsoidsIC
variable = c
x_positions = '10.0 40.0'
y_positions = '25.0 25.0'
z_positions = '0.0 0.0'
as = '8.0 8.0'
bs = '8.0 8.0'
cs = '1 1'
ns = '3.5 3.5'
npart = 5
invalue = 1.0
outvalue = -0.8
int_width = 4.0
large_spac = 5
small_spac = 2
small_a = 5
small_b = 5
small_c = 5
small_n = 2
size_variation_type = normal
size_variation = 0.5
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.0'
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 20
l_tol = 1.0e-4
nl_max_its = 40
nl_rel_tol = 1e-9
start_time = 0.0
num_steps = 1
dt = 2.0
[]
[Outputs]
exodus = false
[./out]
type = Exodus
refinements = 2
[../]
[]
modules/combined/test/tests/multiphase_mechanics/nonsplit_gradderiv.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 5
xmax = 10
ymax = 10
[]
[GlobalParams]
displacements = 'disp_x disp_y'
displacement_gradients = 'gxx gxy gyx gyy'
[]
[AuxVariables]
[./disp_x]
[./InitialCondition]
type = FunctionIC
function = '0.1*sin(2*x/10*3.14159265359)'
[../]
[../]
[./disp_y]
[./InitialCondition]
type = FunctionIC
function = '0.1*sin(1*y/10*3.14159265359)'
[../]
[../]
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
initial_condition = 0
[../]
[./gxx]
[../]
[./gxy]
[../]
[./gyx]
[../]
[./gyy]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = c
[../]
[./bulk]
type = CahnHilliard
variable = c
mob_name = M
f_name = F
[../]
[./int]
type = CHInterface
variable = c
mob_name = M
kappa_name = kappa_c
[../]
[./gxx]
type = GradientComponent
variable = gxx
v = disp_x
component = 0
[../]
[./gxy]
type = GradientComponent
variable = gxy
v = disp_x
component = 1
[../]
[./gyx]
type = GradientComponent
variable = gyx
v = disp_y
component = 0
[../]
[./gyy]
type = GradientComponent
variable = gyy
v = disp_y
component = 1
[../]
[]
[BCs]
[./Periodic]
[./All]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./consts]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1 0.1'
[../]
[./straingradderiv]
type = StrainGradDispDerivatives
[../]
[./elasticity_tensor]
type = ComputeConcentrationDependentElasticityTensor
c = c
C0_ijkl = '1.0 1.0'
C1_ijkl = '3.0 3.0'
fill_method0 = symmetric_isotropic
fill_method1 = symmetric_isotropic
[../]
[./smallstrain]
type = ComputeSmallStrain
[../]
[./linearelastic_a]
type = ComputeLinearElasticStress
[../]
[./elastic_free_energy]
type = ElasticEnergyMaterial
f_name = F
args = 'c'
derivative_order = 3
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = NEWTON
l_max_its = 30
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-7
nl_abs_tol = 1.0e-10
num_steps = 2
dt = 1
[]
[Outputs]
perf_graph = true
exodus = true
[]
modules/phase_field/test/tests/initial_conditions/SpecifiedSmoothSuperellipsoidIC.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 25
ny = 25
xmax = 50
ymax = 50
elem_type = QUAD4
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c]
type = SpecifiedSmoothSuperellipsoidIC
variable = c
x_positions = '15 35'
y_positions = '25.0 25.0'
z_positions = '0 0'
as = '8.0 8.0'
bs = '12.0 8.0'
cs = '60.0 8.0'
ns = '3.5 2.0'
invalue = 1.0
outvalue = -0.8
int_width = 4.0
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.0'
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 20
l_tol = 1.0e-4
nl_max_its = 40
nl_rel_tol = 1e-9
start_time = 0.0
num_steps = 1
dt = 2.0
[]
[Outputs]
exodus = false
[./out]
type = Exodus
refinements = 2
[../]
[]
modules/phase_field/test/tests/initial_conditions/BimodalInverseSuperellipsoidsIC.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 25
ny = 25
xmax = 50
ymax = 50
elem_type = QUAD4
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c]
type = BimodalInverseSuperellipsoidsIC
variable = c
x_positions = '25.0'
y_positions = '25.0'
z_positions = '0.0'
as = '20.0'
bs = '20.0'
cs = '1'
ns = '3.5'
npart = 8
invalue = 1.0
outvalue = -0.8
nestedvalue = -1.5
int_width = 0.0
large_spac = 5
small_spac = 2
small_a = 3
small_b = 3
small_c = 3
small_n = 2
size_variation_type = none
numtries = 10000
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.0'
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 20
l_tol = 1.0e-4
nl_max_its = 40
nl_rel_tol = 1e-9
start_time = 0.0
num_steps = 1
dt = 2.0
[]
[Outputs]
exodus = false
[./out]
type = Exodus
refinements = 2
[../]
[]
modules/phase_field/test/tests/initial_conditions/SmoothCircleIC.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 25
ny = 25
xmax = 50
ymax = 50
elem_type = QUAD4
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c]
type = SmoothCircleIC
variable = c
x1 = 25.0
y1 = 25.0
radius = 6.0
invalue = 1.0
outvalue = -0.8
int_width = 4.0
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.0'
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 20
l_tol = 1.0e-4
nl_max_its = 40
nl_rel_tol = 1e-9
start_time = 0.0
num_steps = 1
dt = 2.0
[]
[Outputs]
exodus = false
[./out]
type = Exodus
refinements = 2
[../]
[]
modules/phase_field/test/tests/MultiSmoothCircleIC/latticesmoothcircleIC_small_invalue_test.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 25
ny = 25
xmax = 50
ymax = 50
elem_type = QUAD4
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c]
type = SpecifiedSmoothCircleIC
variable = c
invalue = -0.8
outvalue = 1
int_width = 5
x_positions = '25 32'
z_positions = '0 0'
y_positions = '25 32'
radii = '6 5'
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.5'
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 20
l_tol = 1.0e-5
nl_max_its = 40
nl_rel_tol = 5.0e-14
start_time = 0.0
num_steps = 1
dt = 5
[]
[Outputs]
exodus = true
[]
modules/misc/test/tests/dynamic_loading/dynamic_load_multiapp/phase_field_slave.i
# This input file contains objects only available in phase_field
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 2
nz = 0
xmax = 50
ymax = 25
zmax = 0
elem_type = QUAD4
uniform_refine = 2
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[./InitialCondition]
type = BoundingBoxIC
x1 = 15.0
x2 = 35.0
y1 = 0.0
y2 = 25.0
inside = 1.0
outside = -0.8
variable = c
[../]
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.0'
block = 0
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 101'
l_max_its = 15
nl_max_its = 10
start_time = 0.0
num_steps = 2
dt = 1.0
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/free_energy_material/MathFreeEnergy.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 25
ny = 25
xmax = 50
ymax = 50
elem_type = QUAD4
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c]
type = SmoothCircleIC
variable = c
x1 = 25.0
y1 = 25.0
radius = 6.0
invalue = 1.0
outvalue = -0.8
int_width = 4.0
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CahnHilliard
variable = c
mob_name = M
f_name = F
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.0'
[../]
[./free_energy]
type = MathFreeEnergy
f_name = F
c = c
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 20
l_tol = 1.0e-5
nl_max_its = 40
nl_rel_tol = 5.0e-14
start_time = 0.0
num_steps = 1
dt = 2.0
[]
[Outputs]
execute_on = 'timestep_end'
[./oversample]
type = Exodus
refinements = 2
[../]
[]
modules/misc/test/tests/dynamic_loading/dynamic_obj_registration/dynamic_wrong_lib.i
# This input file contains objects only available in phase_field
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 2
nz = 0
xmax = 50
ymax = 25
zmax = 0
elem_type = QUAD4
uniform_refine = 2
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[./InitialCondition]
type = BoundingBoxIC
x1 = 15.0
x2 = 35.0
y1 = 0.0
y2 = 25.0
inside = 1.0
outside = -0.8
variable = c
[../]
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.0'
block = 0
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 101'
l_max_its = 15
nl_max_its = 10
start_time = 0.0
num_steps = 2
dt = 1.0
[]
[Outputs]
exodus = true
[]
# Here we'll load the wrong library and check for the correct error condition
[Problem]
register_objects_from = 'TensorMechanicsApp'
library_path = '../../../../../tensor_mechanics/lib'
[]
modules/phase_field/test/tests/initial_conditions/RndSmoothCircleIC.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 25
ny = 25
xmax = 50
ymax = 50
elem_type = QUAD4
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c]
variable = c
type = RndSmoothCircleIC
x1 = 25.0
y1 = 25.0
radius = 6.0
invalue = 1.0
variation_invalue = 0.0
outvalue = -0.8
variation_outvalue = 0.2
int_width = 5
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./All]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.0'
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 10
l_tol = 1.0e-4
nl_max_its = 10
start_time = 0.0
num_steps = 1
dt = 20.0
[]
[Outputs]
exodus = true
[]
modules/phase_field/examples/cahn-hilliard/Math_CH.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 100
ny = 100
xmax = 60
ymax = 60
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[./InitialCondition]
type = RandomIC
min = -0.1
max = 0.1
[../]
[../]
[]
[Kernels]
[./c_dot]
type = TimeDerivative
variable = c
[../]
[./CHbulk]
type = CHMath
variable = c
[../]
[./CHint]
type = CHInterface
variable = c
mob_name = M
kappa_name = kappa_c
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./mat]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 0.5'
[../]
[]
[Postprocessors]
[./top]
type = SideIntegralVariablePostprocessor
variable = c
boundary = top
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
scheme = bdf2
# Preconditioning using the additive Schwartz method and LU decomposition
petsc_options_iname = '-pc_type -sub_ksp_type -sub_pc_type'
petsc_options_value = 'asm preonly lu '
# Alternative preconditioning options using Hypre (algebraic multi-grid)
#petsc_options_iname = '-pc_type -pc_hypre_type'
#petsc_options_value = 'hypre boomeramg'
l_tol = 1e-4
l_max_its = 30
dt = 2.0
end_time = 80.0
[]
[Outputs]
exodus = true
perf_graph = true
[]
modules/phase_field/test/tests/PolynomialFreeEnergy/direct_order8_test.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmax = 125
[]
[GlobalParams]
polynomial_order = 8
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c_IC]
type = SmoothCircleIC
x1 = 0.0
y1 = 0.0
radius = 60.0
invalue = 1.0
outvalue = 0.1
int_width = 60.0
variable = c
[../]
[]
[Kernels]
[./local_energy]
type = CahnHilliard
variable = c
f_name = F
[../]
[./gradient_energy]
type = CHInterface
variable = c
mob_name = M
kappa_name = kappa
[../]
[./cdot]
type = TimeDerivative
variable = c
[../]
[]
[Materials]
[./Copper]
type = PFParamsPolyFreeEnergy
c = c
T = 1000 # K
int_width = 30.0
length_scale = 1.0e-9
time_scale = 1.0e-9
D0 = 3.1e-5 # m^2/s, from Brown1980
Em = 0.71 # in eV, from Balluffi1978 Table 2
Ef = 1.28 # in eV, from Balluffi1978 Table 2
surface_energy = 0.7 # Total guess
[../]
[./free_energy]
type = PolynomialFreeEnergy
c = c
derivative_order = 2
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = NEWTON
petsc_options_iname = -pc_type
petsc_options_value = lu
l_max_its = 30
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
start_time = 0.0
num_steps = 100
dt = 4
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/free_energy_material/MathEBFreeEnergy.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 25
ny = 25
xmax = 50
ymax = 50
elem_type = QUAD4
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c]
type = SmoothCircleIC
variable = c
x1 = 25.0
y1 = 25.0
radius = 6.0
invalue = 1.0
outvalue = -0.8
int_width = 4.0
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CahnHilliard
variable = c
mob_name = M
f_name = F
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.0'
[../]
[./free_energy]
type = MathEBFreeEnergy
f_name = F
c = c
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 20
l_tol = 1.0e-5
nl_max_its = 40
nl_rel_tol = 5.0e-14
start_time = 0.0
num_steps = 1
dt = 2.0
[]
[Outputs]
execute_on = 'timestep_end'
[./oversample]
type = Exodus
refinements = 2
[../]
[]
modules/phase_field/test/tests/initial_conditions/CrossIC.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 25
ny = 25
xmax = 50
ymax = 50
elem_type = QUAD4
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./c_IC]
type = CrossIC
x1 = 0.0
x2 = 50.0
y1 = 0.0
y2 = 50.0
variable = c
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 2.0'
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 15
l_tol = 1.0e-4
nl_max_its = 10
nl_rel_tol = 1.0e-8
start_time = 0.0
num_steps = 2
dt = 20.0
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/initial_conditions/RndBoundingBoxIC.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 40
ny = 8
xmax = 50
ymax = 25
elem_type = QUAD4
[]
[Variables]
[./c]
order = THIRD
family = HERMITE
[../]
[]
[ICs]
[./InitialCondition]
type = RndBoundingBoxIC
x1 = 15.0
x2 = 35.0
y1 = 0.0
y2 = 25.0
mx_invalue = 1.0
mn_invalue = 0.9
mx_outvalue = -0.7
mn_outvalue = -0.8
variable = c
[../]
[]
[Kernels]
[./ie_c]
type = TimeDerivative
variable = c
[../]
[./CHSolid]
type = CHMath
variable = c
mob_name = M
[../]
[./CHInterface]
type = CHInterface
variable = c
kappa_name = kappa_c
mob_name = M
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
[../]
[../]
[]
[Materials]
[./constant]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '1.0 1.0'
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 31'
l_max_its = 15
nl_max_its = 10
start_time = 0.0
num_steps = 4
dt = 5.0
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/SoretDiffusion/direct_temp.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 30
xmax = 500
elem_type = EDGE
[]
[GlobalParams]
polynomial_order = 8
[]
[Variables]
[./c]
family = HERMITE
order = THIRD
[../]
[./T]
initial_condition = 1000.0
scaling = 1.0e5
[../]
[]
[ICs]
[./c_IC]
type = SmoothCircleIC
x1 = 125.0
y1 = 0.0
radius = 60.0
invalue = 1.0
outvalue = 0.1
int_width = 100.0
variable = c
[../]
[]
[Kernels]
[./c_int]
type = CHInterface
variable = c
kappa_name = kappa
mob_name = M
[../]
[./c_bulk]
type = CahnHilliard
variable = c
mob_name = M
f_name = F
[../]
[./c_soret]
type = SoretDiffusion
variable = c
T = T
diff_name = D
Q_name = Qstar
[../]
[./c_dot]
type = TimeDerivative
variable = c
[../]
[./HtCond]
type = MatDiffusion
variable = T
diffusivity = thermal_conductivity
[../]
[]
[BCs]
[./Left_T]
type = DirichletBC
variable = T
boundary = left
value = 1000.0
[../]
[./Right_T]
type = DirichletBC
variable = T
boundary = right
value = 1015.0
[../]
[]
[Materials]
[./Copper]
type = PFParamsPolyFreeEnergy
c = c
T = T # K
int_width = 60.0
length_scale = 1.0e-9
time_scale = 1.0e-9
D0 = 3.1e-5 # m^2/s, from Brown1980
Em = 0.71 # in eV, from Balluffi1978 Table 2
Ef = 1.28 # in eV, from Balluffi1978 Table 2
surface_energy = 0.708 # Total guess
[../]
[./thcond]
type = ParsedMaterial
args = 'c'
function = 'if(c>0.7,1e-8,4e-8)'
f_name = thermal_conductivity
outputs = exodus
[../]
[./free_energy]
type = PolynomialFreeEnergy
c = c
derivative_order = 3
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'PJFNK'
l_max_its = 30
l_tol = 1.0e-4
nl_max_its = 25
nl_rel_tol = 1.0e-9
num_steps = 60
dt = 8.0
[]
[Outputs]
exodus = true
[]