- boundaryThe list of boundary IDs from the mesh where this object applies
C++ Type:std::vector<BoundaryName>
Controllable:No
Description:The list of boundary IDs from the mesh where this object applies
- variableThe name of the variable that this residual object operates on
C++ Type:NonlinearVariableName
Unit:(no unit assumed)
Controllable:No
Description:The name of the variable that this residual object operates on
EigenDirichletBC
EigenDirichletBC is provided for Eigenvalue solvers to handle Dirichlet boundary conditions for the right hand side. It is different from the regular Dirichlet BC. EigenDirichletBC will always return 0 regardless of the residual, and for the Jacobian matrix, the corresponding rows are totally zeroed out without adding one to the matrix diagonal.
Dirichlet BC for eigenvalue solvers
Input Parameters
- diag_save_inThe name of auxiliary variables to save this BC'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>
Unit:(no unit assumed)
Controllable:No
Description:The name of auxiliary variables to save this BC's diagonal jacobian contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)
- displacementsThe displacements
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:The displacements
- matrix_onlyFalseWhether this object is only doing assembly to matrices (no vectors)
Default:False
C++ Type:bool
Controllable:No
Description:Whether this object is only doing assembly to matrices (no vectors)
- save_inThe name of auxiliary variables to save this BC'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>
Unit:(no unit assumed)
Controllable:No
Description:The name of auxiliary variables to save this BC's residual contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)
Optional Parameters
- absolute_value_vector_tagsThe tags for the vectors this residual object should fill with the absolute value of the residual contribution
C++ Type:std::vector<TagName>
Controllable:No
Description:The tags for the vectors this residual object should fill with the absolute value of the residual contribution
- extra_matrix_tagsThe extra tags for the matrices this Kernel should fill
C++ Type:std::vector<TagName>
Controllable:No
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>
Controllable:No
Description:The extra tags for the vectors this Kernel should fill
Contribution To Tagged Field Data 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:Yes
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
Controllable:No
Description:Determines whether this object is calculated using an implicit or explicit form
- seed0The seed for the master random number generator
Default:0
C++ Type:unsigned int
Controllable:No
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
Controllable:No
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
- matrix_tagseigenThe tag for the matrices this Kernel should fill
Default:eigen
C++ Type:MultiMooseEnum
Options:nontime, system, time, eigen
Controllable:No
Description:The tag for the matrices this Kernel should fill
- vector_tagseigenThe tag for the vectors this Kernel should fill
Default:eigen
C++ Type:MultiMooseEnum
Options:nontime, time, residual, eigen
Controllable:No
Description:The tag for the vectors this Kernel should fill
Tagging Parameters
Input Files
- (test/tests/problems/no_solve/ne_fail.i)
- (test/tests/problems/eigen_problem/initial_condition/ne_ic_no_free.i)
- (test/tests/problems/eigen_problem/preconditioners/ne_pbp.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne_coupled_scaled.i)
- (test/tests/problems/eigen_problem/eigensolvers/ane.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne_coupled.i)
- (test/tests/problems/eigen_problem/initial_condition/ne_ic.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne_hmg.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne-coupled-resid-scaling.i)
- (test/tests/problems/eigen_problem/eigensolvers/gipm_ibc.i)
- (test/tests/problems/eigen_problem/jfnk_mo/ne_coupled_mo.i)
- (modules/stochastic_tools/test/tests/actions/parameter_study_action/sub_eigen.i)
- (modules/electromagnetics/test/tests/benchmarks/eigenvalue_problems/eigen_base.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne-coupled-scaling.i)
- (modules/solid_mechanics/test/tests/modal_analysis/modal.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne_coupled_picard_subT_sub.i)
- (test/tests/problems/eigen_problem/arraykernels/ne_two_variables.i)
- (test/tests/restart/restart_transient_from_eigen/eigen.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne_deficient_b.i)
- (test/tests/problems/eigen_problem/eigensolvers/gipm.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne_coupled_picard.i)
References
No citations exist within this document.(test/tests/problems/no_solve/ne_fail.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 2
ny = 2
[]
[Variables]
[u]
[]
[]
[Problem]
[]
[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_max_its = 1
nl_rel_tol = 1e-50
nl_abs_tol = 1e-50
free_power_iterations = 0
[]
(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'
[]
(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/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/problems/eigen_problem/eigensolvers/ane.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
nx = 8
ny = 8
elem_type = QUAD4
[]
[]
# the minimum eigenvalue is (2*PI*(p-1)^(1/p)/a/p/sin(PI/p))^p;
# Its inverse is 35.349726539758187. Here a is equal to 10.
[Variables]
[./u]
[]
[]
# Set an random initial condition is necessary for this problem
# A constant initial condition will not work for this problem since
# the problem is ill-conditioned at a constant vector.
# We observed bad convergence when using a constant initial condition
[ICs]
[./uic]
type = RandomIC
variable = u
[../]
[]
[Kernels]
[./diff]
type = PHarmonic
variable = u
p = 3
[../]
[./rhs]
type = PMassKernel
extra_vector_tags = 'eigen'
variable = u
coefficient = -1.0
p = 3
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 2'
value = 0
[../]
[./eigen]
type = EigenDirichletBC
variable = u
boundary = '0 2'
[../]
[]
[Executioner]
type = Eigenvalue
free_power_iterations = 10
solve_type = PJFNK
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
file_base = ane
execute_on = 'timestep_end'
[]
(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/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]
csv = true
execute_on = 'timestep_end'
[]
(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/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/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
expression = 0
[../]
[./y_disp_func]
type = ParsedFunction
expression = 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/jfnk_mo/ne_coupled_mo.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
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./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 = u
[../]
[]
[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
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNKMO
nl_rel_tol = 1e-6
nl_abs_tol = 1e-14
[]
[Problem]
type = EigenProblem
[]
[Postprocessors]
[uint]
type = ElementIntegralVariablePostprocessor
variable = u
execute_on = 'initial linear nonlinear'
outputs = 'console'
[]
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
file_base = ne_coupled
execute_on = 'timestep_end'
[]
(modules/stochastic_tools/test/tests/actions/parameter_study_action/sub_eigen.i)
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
[]
[Variables]
[u]
[]
[]
[Kernels]
[diff]
type = MatDiffusion
variable = u
diffusivity = D
[]
[rhs]
type = MatReaction
variable = u
reaction_rate = L
extra_vector_tags = 'eigen'
[]
[]
[Materials]
[mat]
type = GenericFunctionMaterial
prop_names = 'D L'
prop_values = 'diff_fun react_fun'
[]
[]
[Functions]
[diff_fun]
type = ConstantFunction
value = 1
[]
[react_fun]
type = ConstantFunction
value = 1
[]
[]
[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
[]
[VectorPostprocessors]
[eigenvalues]
type = Eigenvalues
[]
[]
[Postprocessors]
[eigenvalue]
type = VectorPostprocessorComponent
vectorpostprocessor = eigenvalues
vector_name = eigen_values_real
index = 0
[]
[]
(modules/electromagnetics/test/tests/benchmarks/eigenvalue_problems/eigen_base.i)
# Base input file for eigenvalue example tests for multiple waveguide geometries
# RECTANGULAR (Default)
# Mesh file rectangular.e based on Mesh block:
# [Mesh]
# [gmg]
# type = GeneratedMeshGenerator
# dim = 2
# nx = 50
# ny = 25
# xmin = 0
# xmax = 2
# ymin = 0
# ymax = 1
# elem_type = TRI3
# []
# []
# Expected analytic eigenvalue = 12.337005
# EM Module calculated eigenvalue = 12.363806
# CIRCULAR (Mesh/file=circle.msh, BCs/active='circle eigen_circle')
# Mesh generated using gmsh
# radius = 1
# center = (0, 0)
# Expected analytic eigenvalue = 5.784025
# EM Module calculated eigenvalue = 5.824152
# COAXIAL (Mesh/file=coaxial.msh, BCs/active='coaxial eigen_coaxial')
# Mesh generated using gmsh with coaxial.geo
# inner_radius = 0.125
# outer_radius = 0.5
# center = (0, 0)
# Expected analytic eigenvalue = 67.108864
# EM Module calculated eigenvalue = 68.007802
[Mesh]
[fmg]
type = FileMeshGenerator
file = rectangular.e
[]
[]
[Variables]
[potential]
order = FIRST
family = LAGRANGE
[]
[]
[AuxVariables]
[Ex]
order = CONSTANT
family = MONOMIAL
[]
[Ey]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = potential
[]
[coeff]
type = CoefReaction
coefficient = -1
variable = potential
extra_vector_tags = 'eigen'
[]
[]
[AuxKernels]
[Ex_aux]
type = PotentialToFieldAux
variable = Ex
gradient_variable = potential
sign = negative
component = x
[]
[Ey_aux]
type = PotentialToFieldAux
variable = Ey
gradient_variable = potential
sign = negative
component = y
[]
[]
[BCs]
active = 'rectangle eigen_rectangle'
[rectangle]
type = DirichletBC
variable = potential
boundary = 'left right top bottom'
value = 0
[]
[eigen_rectangle]
type = EigenDirichletBC
variable = potential
boundary = 'left right top bottom'
[]
# alternative BCs for circle case
[circle]
type = DirichletBC
variable = potential
boundary = 'wall'
value = 0
[]
[eigen_circle]
type = EigenDirichletBC
variable = potential
boundary = 'wall'
[]
# alternative BCs for coaxial case
[coaxial]
type = DirichletBC
variable = potential
boundary = 'outer inner'
value = 0
[]
[eigen_coaxial]
type = EigenDirichletBC
variable = potential
boundary = 'outer inner'
[]
[]
[VectorPostprocessors]
[eigenvalues]
type = Eigenvalues
[]
[]
[Executioner]
type = Eigenvalue
[]
[Outputs]
csv = true
exodus = false
execute_on = FINAL
[]
(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'
[]
(modules/solid_mechanics/test/tests/modal_analysis/modal.i)
index = 0
[Mesh]
[gmg]
type = GeneratedMeshGenerator
elem_type = HEX8
dim = 3
xmin = 0
xmax = 1.0
nx = 10
ymin = 0
ymax = 0.1
ny = 1
zmin = 0
zmax = 0.15
nz = 2
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Variables]
[disp_x]
[]
[disp_y]
[]
[disp_z]
[]
[]
[Kernels]
[mass_x]
type = ADCoefReaction
variable = disp_x
extra_vector_tags = 'eigen'
coefficient = -2.7e3
[]
[mass_y]
type = ADCoefReaction
variable = disp_y
extra_vector_tags = 'eigen'
coefficient = -2.7e3
[]
[mass_z]
type = ADCoefReaction
variable = disp_z
extra_vector_tags = 'eigen'
coefficient = -2.7e3
[]
[stiffness_x]
type = StressDivergenceTensors
variable = disp_x
component = 0
[]
[stiffness_y]
type = StressDivergenceTensors
variable = disp_y
component = 1
[]
[stiffness_z]
type = StressDivergenceTensors
variable = disp_z
component = 2
[]
[]
[BCs]
[dirichlet_x]
type = DirichletBC
variable = disp_x
value = 0
boundary = 'left'
[]
[dirichlet_y]
type = DirichletBC
variable = disp_y
value = 0
boundary = 'left'
[]
[dirichlet_z]
type = DirichletBC
variable = disp_z
value = 0
boundary = 'left'
[]
[dirichlet_x_e]
type = EigenDirichletBC
variable = disp_x
boundary = 'left'
[]
[dirichlet_y_e]
type = EigenDirichletBC
variable = disp_y
boundary = 'left'
[]
[dirichlet_z_e]
type = EigenDirichletBC
variable = disp_z
boundary = 'left'
[]
[]
[Materials]
[elastic_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 68e9
poissons_ratio = 0.36
[]
[compute_stress]
type = ComputeLinearElasticStress
[]
[compute_strain]
type = ComputeSmallStrain
[]
[]
[Executioner]
type = Eigenvalue
solve_type = KRYLOVSCHUR
which_eigen_pairs = SMALLEST_MAGNITUDE
n_eigen_pairs = 2
n_basis_vectors = 5
petsc_options = '-eps_monitor_all -eps_view'
petsc_options_iname = '-st_type -eps_target -st_pc_type -st_pc_factor_mat_solver_type'
petsc_options_value = 'sinvert 0 lu mumps'
eigen_tol = 1e-8
[]
[VectorPostprocessors]
[omega_squared]
type = Eigenvalues
execute_on = TIMESTEP_END
[]
[]
[Problem]
type = EigenProblem
active_eigen_index = ${index}
[]
[Outputs]
csv = true
exodus = 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/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/restart/restart_transient_from_eigen/eigen.i)
[Mesh/gmg]
type = GeneratedMeshGenerator
dim = 1
nx = 10
[]
[Variables/u]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[rhs]
type = Reaction
extra_vector_tags = 'eigen'
variable = u
rate = -1
[]
[]
[BCs]
[homogeneous]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[eigen]
type = EigenDirichletBC
variable = u
boundary = left
[]
[]
[VectorPostprocessors]
[eigenvalues]
type = Eigenvalues
[]
[]
[Executioner]
type = Eigenvalue
[]
[Outputs]
exodus = true
checkpoint = true
[]
(test/tests/problems/eigen_problem/eigensolvers/ne.i)
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
[left_block]
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '5 10 0'
block_id = 1
input = gen
[]
[refine]
type = RefineBlockGenerator
input = left_block
refinement = '0 0'
block = '1 0'
[]
[]
# 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/problems/eigen_problem/eigensolvers/ne_deficient_b.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
[../]
[./v]
order = FIRST
family = LAGRANGE
eigen = true
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[./rhs]
type = CoupledForce
variable = u
v = v
extra_vector_tags = 'eigen'
[../]
[./src_v]
type = CoupledForce
variable = v
v = u
[../]
[]
[BCs]
[./homogeneous_u]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./homogeneous_v]
type = DirichletBC
variable = v
boundary = '0 1 2 3'
value = 0
[../]
[./eigenBC_u]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[./eigenBC_v]
type = EigenDirichletBC
variable = v
boundary = '0 1 2 3'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNK
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
file_base = ne_deficient_b
execute_on = 'timestep_end'
[]
(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
expression = 0
[../]
[./y_disp_func]
type = ParsedFunction
expression = 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_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
fixed_point_max_its = 10
fixed_point_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 = MultiAppShapeEvaluationTransfer
from_multi_app = sub
source_variable = T
variable = T
[../]
[./power_to_sub]
type = MultiAppShapeEvaluationTransfer
to_multi_app = sub
source_variable = power
variable = power
[../]
[]