- variableThe name of the variable that this residual object operates on
C++ Type:NonlinearVariableName
Description:The name of the variable that this residual object operates on
CoefReaction
Implements the residual term (p*u, test)
Reaction
with a scalar prefactor (coef
) where (v
) is a coupled variable.
Input Parameters
- blockThe list of block ids (SubdomainID) that this object will be applied
C++ Type:std::vector<SubdomainName>
Options:
Description:The list of block ids (SubdomainID) that this object will be applied
- coefficient1Coefficient of the term
Default:1
C++ Type:double
Options:
Description:Coefficient of the term
- displacementsThe displacements
C++ Type:std::vector<VariableName>
Options:
Description:The displacements
- rate1The $(\lambda)$ multiplier, the relative amount consumed per unit time.
Default:1
C++ Type:double
Options:
Description:The $(\lambda)$ multiplier, the relative amount consumed per unit time.
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
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<AuxVariableName>
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<AuxVariableName>
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<TagName>
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<TagName>
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
- (test/tests/executioners/fixed_point/2d_diffusion_fixed_point_toggle.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne_hmg.i)
- (test/tests/tag/eigen_tag.i)
- (test/tests/problems/eigen_problem/eigensolvers/gipm_ibc.i)
- (test/tests/problems/eigen_problem/preconditioners/ne_pbp.i)
- (test/tests/problems/eigen_problem/eigensolvers/ipm.i)
- (test/tests/executioners/eigen_executioners/ipm.i)
- (test/tests/problems/eigen_problem/initial_condition/ne_ic.i)
- (test/tests/kernels/array_kernels/standard_save_in.i)
- (test/tests/problems/eigen_problem/initial_condition/ne_ic_no_free.i)
- (modules/phase_field/test/tests/SplitCH/forward_split_math_test.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne-coupled-resid-scaling.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne_coupled_picard_subT_sub.i)
- (test/tests/executioners/eigen_executioners/normal_eigen_kernel.i)
- (test/tests/problems/eigen_problem/eigensolvers/gipm.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne_coupled_scaled.i)
- (test/tests/executioners/fixed_point/2d_diffusion_fixed_point.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne-coupled-scaling.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne.i)
- (test/tests/executioners/fixed_point/2d_diffusion_fixed_point_toggle_mat.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne_coupled.i)
- (test/tests/problems/eigen_problem/arraykernels/ne_two_variables.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne_coupled_picard.i)
References
(test/tests/executioners/fixed_point/2d_diffusion_fixed_point_toggle.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 4
xmin = -1
xmax = 1
ymin = -1
ymax = 1
[]
[Variables]
[u]
order = FIRST
family = LAGRANGE
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[pseudo_time]
type = CoupledForceLagged
variable = u
coefficient = 0.1
v = u
tag = 'previous'
[]
[pseudo_time_compensation]
type = CoefReaction
variable = u
coefficient = 0.1
[]
[]
[BCs]
[left]
type = VacuumBC
variable = u
boundary = left
[]
[right]
type = NeumannBC
variable = u
boundary = right
value = 1
[]
[]
[Postprocessors]
[unorm]
type = ElementL2Norm
variable = u
[]
[udiff]
type = ElementL2Diff
variable = u
tag = 'previous'
[]
[]
[Problem]
type = FixedPointProblem
fp_tag_name = 'previous'
tagged_vector_for_partial_residual = false
[]
[Executioner]
type = FixedPointSteady
nl_rel_tol = 1e-2
nl_abs_tol = 1e-12
[]
[Outputs]
exodus = true
[]
(test/tests/problems/eigen_problem/eigensolvers/ne_hmg.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
# the minimum eigenvalue of this problem is 2*(PI/a)^2;
# Its inverse is 0.5*(a/PI)^2 = 5.0660591821169. Here a is equal to 10.
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[./v]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./rhs]
type = CoefReaction
variable = u
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[./diffv]
type = Diffusion
variable = v
[../]
[./rhsv]
type = CoefReaction
variable = v
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./eigen]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[./homogeneousv]
type = DirichletBC
variable = v
boundary = '0 1 2 3'
value = 0
[../]
[./eigenv]
type = EigenDirichletBC
variable = v
boundary = '0 1 2 3'
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNK
petsc_options_iname = '-pc_type
-pc_hmg_use_subspace_coarsening'
petsc_options_value = 'hmg true'
petsc_options = '-eps_view'
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
file_base = monolith_newton
execute_on = 'timestep_end'
[]
(test/tests/tag/eigen_tag.i)
[Mesh/gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
[]
[Variables/u]
[]
[AuxVariables]
[vec_tag_diff]
order = FIRST
family = LAGRANGE
[]
[vec_tag_rhs]
order = FIRST
family = LAGRANGE
[]
[mat_tag_diff]
order = FIRST
family = LAGRANGE
[]
[mat_tag_rhs]
order = FIRST
family = LAGRANGE
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
extra_vector_tags = 'tag_diff'
extra_matrix_tags = 'tag_diff'
[]
[rhs]
type = CoefReaction
variable = u
extra_vector_tags = 'eigen tag_rhs'
extra_matrix_tags = 'tag_rhs'
[]
[]
[AuxKernels]
[vec_tag_diff]
type = TagVectorAux
variable = vec_tag_diff
v = u
vector_tag = tag_diff
[]
[vec_tag_rhs]
type = TagVectorAux
variable = vec_tag_rhs
v = u
vector_tag = tag_rhs
[]
[mat_tag_diff]
type = TagVectorAux
variable = mat_tag_diff
v = u
vector_tag = tag_diff
[]
[mat_tag_rhs]
type = TagVectorAux
variable = mat_tag_diff
v = u
vector_tag = tag_rhs
[]
[]
[BCs/homogeneous]
type = DirichletBC
boundary = 'top right bottom left'
variable = u
value = 0
[]
[Problem]
extra_tag_vectors = 'tag_diff tag_rhs'
extra_tag_matrices = 'tag_diff tag_rhs'
[]
[Executioner]
type = Eigenvalue
solve_type = NEWTON
eigen_problem_type = GEN_NON_HERMITIAN
[]
[Outputs]
exodus = true
[]
(test/tests/problems/eigen_problem/eigensolvers/gipm_ibc.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 100
ymin = 0
ymax = 100
elem_type = QUAD4
nx = 64
ny = 64
displacements = 'x_disp y_disp'
[]
[Variables]
[./u]
order = first
family = LAGRANGE
[../]
[]
[AuxVariables]
[./x_disp]
[../]
[./y_disp]
[../]
[]
[AuxKernels]
[./x_disp]
type = FunctionAux
variable = x_disp
function = x_disp_func
[../]
[./y_disp]
type = FunctionAux
variable = y_disp
function = y_disp_func
[../]
[]
[Functions]
[./x_disp_func]
type = ParsedFunction
value = 0
[../]
[./y_disp_func]
type = ParsedFunction
value = 0
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
use_displaced_mesh = true
[../]
[./rea]
type = CoefReaction
variable = u
coefficient = 2.0
use_displaced_mesh = true
[../]
[./rhs]
type = CoefReaction
variable = u
use_displaced_mesh = true
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[]
[BCs]
[./nbc_homogeneous]
type = DirichletBC
variable = u
boundary = '0'
value = 0
use_displaced_mesh = true
[../]
[./nbc_eigen]
type = EigenDirichletBC
variable = u
boundary = '0'
use_displaced_mesh = true
[../]
[./ibc]
type = VacuumBC
variable = u
boundary = '1 2 3'
extra_vector_tags = 'eigen'
use_displaced_mesh = true
[]
[]
[Executioner]
type = Eigenvalue
eigen_problem_type = gen_non_hermitian
which_eigen_pairs = SMALLEST_MAGNITUDE
n_eigen_pairs = 1
n_basis_vectors = 18
solve_type = jacobi_davidson
petsc_options = '-eps_view'
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
execute_on = 'timestep_end'
[./console]
type = Console
outlier_variable_norms = false
[../]
[]
(test/tests/problems/eigen_problem/preconditioners/ne_pbp.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
# the minimum eigenvalue of this problem is 2*(PI/a)^2;
# Its inverse is 0.5*(a/PI)^2 = 5.0660591821169. Here a is equal to 10.
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[./v]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diffu]
type = Diffusion
variable = u
[../]
[./difv]
type = Diffusion
variable = v
[../]
[./rhsu]
type = CoefReaction
variable = u
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[./rhsv]
type = CoefReaction
variable = v
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[]
[BCs]
[./homogeneousu]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./homogeneousv]
type = DirichletBC
variable = v
boundary = '0 1 2 3'
value = 0
[../]
[./eigenu]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[./eigenv]
type = EigenDirichletBC
variable = v
boundary = '0 1 2 3'
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = JFNK
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
execute_on = 'timestep_end'
[]
[Preconditioning]
[./PBP]
type = PBP
solve_order = 'u v'
preconditioner = 'LU LU'
[../]
[]
(test/tests/problems/eigen_problem/eigensolvers/ipm.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 100
ymin = 0
ymax = 100
elem_type = QUAD4
nx = 8
ny = 8
uniform_refine = 0
displacements = 'x_disp y_disp'
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./x_disp]
[../]
[./y_disp]
[../]
[]
[AuxKernels]
[./x_disp]
type = FunctionAux
variable = x_disp
function = x_disp_func
[../]
[./y_disp]
type = FunctionAux
variable = y_disp
function = y_disp_func
[../]
[]
[Functions]
[./x_disp_func]
type = ParsedFunction
value = 0
[../]
[./y_disp_func]
type = ParsedFunction
value = 0
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
use_displaced_mesh = true
[../]
[./rea]
type = CoefReaction
variable = u
coefficient = 2.0
use_displaced_mesh = true
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
use_displaced_mesh = true
[../]
[]
[Executioner]
type = Eigenvalue
which_eigen_pairs = largest_magnitude
eigen_problem_type = NON_HERMITIAN
n_eigen_pairs = 5
n_basis_vectors = 15
solve_type = krylovschur
petsc_options = '-eps_view'
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
execute_on = 'timestep_end'
[./console]
type = Console
outlier_variable_norms = false
[../]
[]
(test/tests/executioners/eigen_executioners/ipm.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 100
ymin = 0
ymax = 100
elem_type = QUAD4
nx = 8
ny = 8
uniform_refine = 0
displacements = 'x_disp y_disp'
[]
#The minimum eigenvalue for this problem is 2*(pi/a)^2 + 2 with a = 100.
#Its inverse will be 0.49950700634518.
[Variables]
active = 'u'
[./u]
# second order is way better than first order
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./x_disp]
[../]
[./y_disp]
[../]
[]
[AuxKernels]
[./x_disp]
type = FunctionAux
variable = x_disp
function = x_disp_func
[../]
[./y_disp]
type = FunctionAux
variable = y_disp
function = y_disp_func
[../]
[]
[Functions]
[./x_disp_func]
type = ParsedFunction
value = 0
[../]
[./y_disp_func]
type = ParsedFunction
value = 0
[../]
[]
[Kernels]
active = 'diff rea rhs'
[./diff]
type = Diffusion
variable = u
use_displaced_mesh = true
[../]
[./rea]
type = CoefReaction
variable = u
coefficient = 2.0
use_displaced_mesh = true
[../]
[./rhs]
type = MassEigenKernel
variable = u
use_displaced_mesh = true
[../]
[]
[BCs]
active = 'homogeneous'
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
use_displaced_mesh = true
[../]
[]
[Executioner]
type = InversePowerMethod
min_power_iterations = 11
max_power_iterations = 400
Chebyshev_acceleration_on = true
eig_check_tol = 1e-12
k0 = 0.5
bx_norm = 'unorm'
xdiff = 'udiff'
normalization = 'unorm'
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
[]
[Postprocessors]
active = 'unorm udiff'
[./unorm]
type = ElementIntegralVariablePostprocessor
variable = u
execute_on = linear
use_displaced_mesh = true
[../]
[./udiff]
type = ElementL2Diff
variable = u
execute_on = 'linear timestep_end'
use_displaced_mesh = true
[../]
[]
[Outputs]
file_base = ipm
exodus = true
hide = 'x_disp y_disp'
[]
(test/tests/problems/eigen_problem/initial_condition/ne_ic.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
# the minimum eigenvalue of this problem is 2*(PI/a)^2;
# Its inverse is 0.5*(a/PI)^2 = 5.0660591821169. Here a is equal to 10.
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./rhs]
type = CoefReaction
variable = u
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./eigen]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNK
nl_abs_tol = 1e-8
nl_rel_tol = 1e-6
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
exodus = true
csv = true
execute_on = 'timestep_end'
[]
(test/tests/kernels/array_kernels/standard_save_in.i)
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[]
[subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0.5 0.5 0'
top_right = '1 1 0'
block_id = 1
[]
[]
[Variables]
[u_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_1]
order = FIRST
family = L2_LAGRANGE
[]
[]
[AuxVariables]
[u_diff_save_in_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_diff_save_in_1]
order = FIRST
family = L2_LAGRANGE
[]
[u_vacuum_save_in_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_vacuum_save_in_1]
order = FIRST
family = L2_LAGRANGE
[]
[u_dg_save_in_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_dg_save_in_1]
order = FIRST
family = L2_LAGRANGE
[]
[u_diff_diag_save_in_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_diff_diag_save_in_1]
order = FIRST
family = L2_LAGRANGE
[]
[u_vacuum_diag_save_in_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_vacuum_diag_save_in_1]
order = FIRST
family = L2_LAGRANGE
[]
[u_dg_diag_save_in_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_dg_diag_save_in_1]
order = FIRST
family = L2_LAGRANGE
[]
[]
[Kernels]
[diff0]
type = MatCoefDiffusion
variable = u_0
conductivity = dc
save_in = u_diff_save_in_0
diag_save_in = u_diff_diag_save_in_0
[]
[diff1]
type = Diffusion
variable = u_1
save_in = u_diff_save_in_1
diag_save_in = u_diff_diag_save_in_1
[]
[reaction0]
type = CoefReaction
variable = u_0
[]
[reaction1]
type = CoefReaction
variable = u_1
[]
[reaction01]
type = CoupledForce
variable = u_1
v = u_0
coef = 0.1
[]
[]
[DGKernels]
[dgdiff0]
type = DGDiffusion
variable = u_0
diff = dc
sigma = 4
epsilon = 1
save_in = u_dg_save_in_0
diag_save_in = u_dg_diag_save_in_0
[]
[dgdiff1]
type = DGDiffusion
variable = u_1
sigma = 4
epsilon = 1
save_in = u_dg_save_in_1
diag_save_in = u_dg_diag_save_in_1
[]
[]
[BCs]
[left0]
type = VacuumBC
variable = u_0
boundary = 1
save_in = u_vacuum_save_in_0
diag_save_in = u_vacuum_diag_save_in_0
[]
[left1]
type = VacuumBC
variable = u_1
boundary = 1
save_in = u_vacuum_save_in_1
diag_save_in = u_vacuum_diag_save_in_1
[]
[right0]
type = PenaltyDirichletBC
variable = u_0
boundary = 2
value = 1
penalty = 4
[]
[right1]
type = PenaltyDirichletBC
variable = u_1
boundary = 2
value = 2
penalty = 4
[]
[]
[Materials]
[dc0]
type = GenericConstantMaterial
block = 0
prop_names = dc
prop_values = 1
[]
[dc1]
type = GenericConstantMaterial
block = 1
prop_names = dc
prop_values = 2
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Postprocessors]
[intu0]
type = ElementIntegralVariablePostprocessor
variable = u_0
[]
[intu1]
type = ElementIntegralVariablePostprocessor
variable = u_1
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
[]
[Outputs]
file_base = array_save_in_out
exodus = true
[]
(test/tests/problems/eigen_problem/initial_condition/ne_ic_no_free.i)
[Mesh]
file = 'gold/ne_ic_out.e'
[]
# the minimum eigenvalue of this problem is 2*(PI/a)^2;
# Its inverse is 0.5*(a/PI)^2 = 5.0660591821169. Here a is equal to 10.
[Variables]
[./u]
order = FIRST
family = LAGRANGE
# Use a good initial so that Newton can converge when we do not use free power iterations
initial_from_file_var = u
initial_from_file_timestep = 1
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./rhs]
type = CoefReaction
variable = u
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./eigen]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNK
free_power_iterations = 0
nl_abs_tol = 1e-8
nl_rel_tol = 1e-6
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
exodus = true
csv = true
execute_on = 'timestep_end'
[]
(modules/phase_field/test/tests/SplitCH/forward_split_math_test.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 30
ny = 30
xmax = 25.0
ymax = 25.0
elem_type = QUAD
[]
[Variables]
[./c]
[../]
[./w]
[../]
[]
[ICs]
[./c_IC]
type = CrossIC
variable = c
x1 = 0
x2 = 25
y1 = 0
y2 = 25
[../]
[]
[Kernels]
[./cdot]
type = TimeDerivative
variable = c
[../]
[./grad_w]
type = MatDiffusion
variable = c
v = w
diffusivity = 1.0
[../]
[./grad_c]
type = MatDiffusion
variable = w
v = c
diffusivity = 2.0
[../]
[./w2]
type = CoupledMaterialDerivative
variable = w
v = c
f_name = F
[../]
[./w3]
type = CoefReaction
variable = w
coefficient = -1.0
[../]
[]
[AuxVariables]
[./local_energy]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./local_energy]
type = TotalFreeEnergy
variable = local_energy
f_name = F
kappa_names = kappa_c
interfacial_vars = c
[../]
[]
[Materials]
[./kappa_c]
type = GenericConstantMaterial
prop_names = kappa_c
prop_values = 2.0
[../]
[./free_energy]
type = DerivativeParsedMaterial
args = c
function = '(1 - c)^2 * (1 + c)^2'
f_name = F
[../]
[]
[Postprocessors]
[./total_free_energy]
type = ElementIntegralVariablePostprocessor
variable = local_energy
[../]
[./total_c]
type = ElementIntegralVariablePostprocessor
variable = c
execute_on = 'initial TIMESTEP_END'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
solve_type = 'NEWTON'
l_max_its = 30
l_tol = 1.0e-4
nl_max_its = 10
nl_rel_tol = 1.0e-10
start_time = 0.0
num_steps = 5
dt = 0.7
[]
[Outputs]
exodus = true
[]
(test/tests/problems/eigen_problem/eigensolvers/ne-coupled-resid-scaling.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
[Variables]
[u]
initial_condition = 1
[]
[T]
initial_condition = 1
[]
[]
[AuxVariables]
[power][]
[]
[Kernels]
[./diff]
type = DiffMKernel
variable = u
mat_prop = diffusion
offset = 0.0
[../]
[./rhs]
type = CoefReaction
variable = u
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[./diff_T]
type = CoefDiffusion
variable = T
coef = 1e30
[../]
[./src_T]
type = CoupledForce
variable = T
v = power
coef = 1e30
[../]
[]
[AuxKernels]
[./power_ak]
type = NormalizationAux
variable = power
source_variable = u
normalization = unorm
# this coefficient will affect the eigenvalue.
normal_factor = 10
execute_on = linear
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./eigenU]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[./homogeneousT]
type = DirichletBC
variable = T
boundary = '0 1 2 3'
value = 0
[../]
[./eigenT]
type = EigenDirichletBC
variable = T
boundary = '0 1 2 3'
[../]
[]
[Materials]
[./dc]
type = VarCouplingMaterial
var = T
block = 0
base = 1.0
coef = 1.0
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNK
automatic_scaling = true
petsc_options = '-pc_svd_monitor'
petsc_options_iname = '-pc_type'
petsc_options_value = 'svd'
verbose = true
resid_vs_jac_scaling_param = 1
[]
[Postprocessors]
[./unorm]
type = ElementIntegralVariablePostprocessor
variable = u
execute_on = linear
[../]
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
exodus = true
csv = true
execute_on = 'timestep_end'
[]
(test/tests/problems/eigen_problem/eigensolvers/ne_coupled_picard_subT_sub.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 10
ny = 10
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./T]
order = FIRST
family = LAGRANGE
[../]
[./power]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = DiffMKernel
variable = u
mat_prop = diffusion
offset = 0.0
[../]
[./rhs]
type = CoefReaction
variable = u
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[]
[AuxKernels]
[./power_ak]
type = NormalizationAux
variable = power
source_variable = u
normalization = unorm
normal_factor = 10
execute_on = timestep_end
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./eigenU]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[]
[Materials]
[./dc]
type = VarCouplingMaterial
var = T
block = 0
base = 1.0
coef = 1.0
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNK
nl_abs_tol = 1e-8
nl_rel_tol = 1e-6
[]
[Postprocessors]
[./power]
type = ElementIntegralVariablePostprocessor
variable = power
execute_on = timestep_end
[../]
[./unorm]
type = ElementIntegralVariablePostprocessor
variable = u
execute_on = linear
[../]
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
exodus = true
execute_on = 'timestep_end'
[]
(test/tests/executioners/eigen_executioners/normal_eigen_kernel.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
uniform_refine = 0
[]
[Variables]
active = 'u'
[./u]
# second order is way better than first order
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
active = 'diff rea rhs'
[./diff]
type = Diffusion
variable = u
[../]
[./rea]
type = CoefReaction
variable = u
coefficient = 2.0
[../]
[./rhs]
type = MassEigenKernel
variable = u
eigen = false
[../]
[./rea1]
type = CoefReaction
variable = u
coefficient = 1.0
[../]
[]
[BCs]
[./inhomogeneous]
type = DirichletBC
variable = u
boundary = '2 3'
value = 1
[../]
[]
[Executioner]
type = Steady
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
[]
[Postprocessors]
active = 'unorm'
[./unorm]
type = ElementIntegralVariablePostprocessor
variable = u
execute_on = timestep_end
[../]
[]
[Outputs]
file_base = normal_eigen_kernel
exodus = true
[]
(test/tests/problems/eigen_problem/eigensolvers/gipm.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 100
ymin = 0
ymax = 100
elem_type = QUAD4
nx = 64
ny = 64
displacements = 'x_disp y_disp'
[]
#The minimum eigenvalue for this problem is 2*(pi/a)^2 + 2 with a = 100.
#Its inverse will be 0.49950700634518.
[Variables]
[./u]
order = first
family = LAGRANGE
[../]
[]
[AuxVariables]
[./x_disp]
[../]
[./y_disp]
[../]
[]
[AuxKernels]
[./x_disp]
type = FunctionAux
variable = x_disp
function = x_disp_func
[../]
[./y_disp]
type = FunctionAux
variable = y_disp
function = y_disp_func
[../]
[]
[Functions]
[./x_disp_func]
type = ParsedFunction
value = 0
[../]
[./y_disp_func]
type = ParsedFunction
value = 0
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
use_displaced_mesh = true
[../]
[./rea]
type = CoefReaction
variable = u
coefficient = 2.0
use_displaced_mesh = true
[../]
[./rhs]
type = CoefReaction
variable = u
coefficient = -1.0
use_displaced_mesh = true
extra_vector_tags = 'eigen'
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
use_displaced_mesh = true
[../]
[./eigen_bc]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
use_displaced_mesh = true
[../]
[]
[Executioner]
type = Eigenvalue
eigen_problem_type = gen_non_hermitian
which_eigen_pairs = SMALLEST_MAGNITUDE
n_eigen_pairs = 1
n_basis_vectors = 18
solve_type = jacobi_davidson
petsc_options = '-eps_view'
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
execute_on = 'timestep_end'
[./console]
type = Console
outlier_variable_norms = false
[../]
[]
(test/tests/problems/eigen_problem/eigensolvers/ne_coupled_scaled.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[./T]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./power]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = DiffMKernel
variable = u
mat_prop = diffusion
offset = 0.0
[../]
[./rhs]
type = CoefReaction
variable = u
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[./diff_T]
type = Diffusion
variable = T
[../]
[./src_T]
type = CoupledForce
variable = T
v = power
[../]
[]
[AuxKernels]
[./power_ak]
type = NormalizationAux
variable = power
source_variable = u
normalization = unorm
# this coefficient will affect the eigenvalue.
normal_factor = 10
execute_on = linear
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./eigenU]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[./homogeneousT]
type = DirichletBC
variable = T
boundary = '0 1 2 3'
value = 0
[../]
[]
[Materials]
[./dc]
type = VarCouplingMaterial
var = T
block = 0
base = 1.0
coef = 1.0
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNK
# Postprocessor value to normalize
normalization = unorm
# Value to set normilization to
normal_factor = 17
[]
[Postprocessors]
[./unorm]
type = ElementIntegralVariablePostprocessor
variable = u
execute_on = linear
[../]
[]
[Outputs]
exodus = true
execute_on = 'timestep_end'
[]
(test/tests/executioners/fixed_point/2d_diffusion_fixed_point.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 4
xmin = -1
xmax = 1
ymin = -1
ymax = 1
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./pseudo_time]
type = CoefReaction
variable = u
coefficient = -0.1
# comment out this will make fixed point iteration converged in one iteration
vector_tags = 'previous'
[../]
[./pseudo_time_compensation]
type = CoefReaction
variable = u
coefficient = 0.1
[../]
[]
[BCs]
[./left]
type = VacuumBC
variable = u
boundary = left
[../]
[./right]
type = NeumannBC
variable = u
boundary = right
value = 1
[../]
[]
[Postprocessors]
[./unorm]
type = ElementL2Norm
variable = u
[../]
[]
[Problem]
type = FixedPointProblem
fp_tag_name = 'previous'
[]
[Executioner]
type = FixedPointSteady
nl_rel_tol = 1e-2
nl_abs_tol = 1e-12
[]
[Outputs]
exodus = true
[]
(test/tests/problems/eigen_problem/eigensolvers/ne-coupled-scaling.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
[Variables]
[u][]
[T][]
[]
[AuxVariables]
[power][]
[]
[Kernels]
[./diff]
type = DiffMKernel
variable = u
mat_prop = diffusion
offset = 0.0
[../]
[./rhs]
type = CoefReaction
variable = u
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[./diff_T]
type = CoefDiffusion
variable = T
coef = 1e30
[../]
[./src_T]
type = CoupledForce
variable = T
v = power
coef = 1e30
[../]
[]
[AuxKernels]
[./power_ak]
type = NormalizationAux
variable = power
source_variable = u
normalization = unorm
# this coefficient will affect the eigenvalue.
normal_factor = 10
execute_on = linear
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./eigenU]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[./homogeneousT]
type = DirichletBC
variable = T
boundary = '0 1 2 3'
value = 0
[../]
[]
[Materials]
[./dc]
type = VarCouplingMaterial
var = T
block = 0
base = 1.0
coef = 1.0
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNK
automatic_scaling = true
petsc_options = '-pc_svd_monitor'
petsc_options_iname = '-pc_type'
petsc_options_value = 'svd'
verbose = true
[]
[Postprocessors]
[./unorm]
type = ElementIntegralVariablePostprocessor
variable = u
execute_on = linear
[../]
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
exodus = true
csv = true
execute_on = 'timestep_end'
[]
(test/tests/problems/eigen_problem/eigensolvers/ne.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
# the minimum eigenvalue of this problem is 2*(PI/a)^2;
# Its inverse is 0.5*(a/PI)^2 = 5.0660591821169. Here a is equal to 10.
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./rhs]
type = CoefReaction
variable = u
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./eigen]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNK
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
file_base = monolith_newton
execute_on = 'timestep_end'
[]
(test/tests/executioners/fixed_point/2d_diffusion_fixed_point_toggle_mat.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 4
xmin = -1
xmax = 1
ymin = -1
ymax = 1
[]
[Variables]
[u]
order = FIRST
family = LAGRANGE
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[pseudo_time]
type = MatKernel
variable = u
# material property name is hardcoded in VarCouplingMaterial
mat_prop = 'diffusion'
[]
[pseudo_time_compensation]
type = CoefReaction
variable = u
coefficient = 0.1
[]
[]
[Materials]
[umat]
type = VarCouplingMaterial
var = u
tag = 'previous'
coef = -0.1
[]
[]
[BCs]
[left]
type = VacuumBC
variable = u
boundary = left
[]
[right]
type = NeumannBC
variable = u
boundary = right
value = 1
[]
[]
[Postprocessors]
[unorm]
type = ElementL2Norm
variable = u
[]
[udiff]
type = ElementL2Diff
variable = u
tag = 'previous'
[]
[]
[Problem]
type = FixedPointProblem
fp_tag_name = 'previous'
tagged_vector_for_partial_residual = false
[]
[Executioner]
type = FixedPointSteady
nl_rel_tol = 1e-2
nl_abs_tol = 1e-12
[]
[Outputs]
exodus = true
[]
(test/tests/problems/eigen_problem/eigensolvers/ne_coupled.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[./T]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./power]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = DiffMKernel
variable = u
mat_prop = diffusion
offset = 0.0
[../]
[./rhs]
type = CoefReaction
variable = u
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[./diff_T]
type = Diffusion
variable = T
[../]
[./src_T]
type = CoupledForce
variable = T
v = power
[../]
[]
[AuxKernels]
[./power_ak]
type = NormalizationAux
variable = power
source_variable = u
normalization = unorm
# this coefficient will affect the eigenvalue.
normal_factor = 10
execute_on = linear
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./eigenU]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[./homogeneousT]
type = DirichletBC
variable = T
boundary = '0 1 2 3'
value = 0
[../]
[]
[Materials]
[./dc]
type = VarCouplingMaterial
var = T
block = 0
base = 1.0
coef = 1.0
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNK
[]
[Postprocessors]
[./unorm]
type = ElementIntegralVariablePostprocessor
variable = u
execute_on = linear
[../]
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
file_base = ne_coupled
execute_on = 'timestep_end'
[]
(test/tests/problems/eigen_problem/arraykernels/ne_two_variables.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
# the minimum eigenvalue of this problem is 2*(PI/a)^2;
# Its inverse is 0.5*(a/PI)^2 = 5.0660591821169. Here a is equal to 10.
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[./v]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diffu]
type = Diffusion
variable = u
[../]
[./diffv]
type = Diffusion
variable = v
[../]
[./rhsu]
type = CoefReaction
variable = u
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[./rhsv]
type = CoefReaction
variable = v
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[]
[BCs]
[./homogeneousu]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./homogeneousv]
type = DirichletBC
variable = v
boundary = '0 1 2 3'
value = 0
[../]
[./eigenu]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[./eigenv]
type = EigenDirichletBC
variable = v
boundary = '0 1 2 3'
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNK
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
execute_on = 'timestep_end'
[]
(test/tests/problems/eigen_problem/eigensolvers/ne_coupled_picard.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
# set this so that the Picard initial norm is not zero
initial_condition = 1
[../]
[]
[AuxVariables]
[./T]
order = FIRST
family = LAGRANGE
# set this so that the Picard initial norm is not zero
initial_condition = 1
[../]
[./power]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = DiffMKernel
variable = u
mat_prop = diffusion
offset = 0.0
[../]
[./rhs]
type = CoefReaction
variable = u
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[]
[AuxKernels]
[./power_ak]
type = NormalizationAux
variable = power
source_variable = u
normalization = unorm
# this coefficient will affect the eigenvalue.
normal_factor = 10
execute_on = timestep_end
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./eigenU]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[]
[Materials]
[./dc]
type = VarCouplingMaterial
var = T
block = 0
base = 1.0
coef = 1.0
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNK
nl_abs_tol = 1e-8
nl_rel_tol = 1e-6
picard_max_its = 10
picard_rel_tol = 1e-6
[]
[Postprocessors]
[./unorm]
type = ElementIntegralVariablePostprocessor
variable = u
execute_on = linear
[../]
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
exodus =true
execute_on = 'timestep_end'
[]
[MultiApps]
[./sub]
type = FullSolveMultiApp
input_files = ne_coupled_picard_sub.i
execute_on = timestep_end
[../]
[]
[Transfers]
[./T_from_sub]
type = MultiAppMeshFunctionTransfer
direction = from_multiapp
multi_app = sub
source_variable = T
variable = T
[../]
[./power_to_sub]
type = MultiAppMeshFunctionTransfer
direction = to_multiapp
multi_app = sub
source_variable = power
variable = power
[../]
[]