- arrayFalseTrue to make this variable a array variable regardless of number of components. If 'components' > 1, this will automatically be set to true.
Default:False
C++ Type:bool
Controllable:No
Description:True to make this variable a array variable regardless of number of components. If 'components' > 1, this will automatically be set to true.
- array_var_component_namesOnly for use with array variables, allows setting custom names for each array variable component. If this not set, the default name for each array variable componenet is `base_name`+'_'+component number. If used, a name must be provided for each component and the values are used to name the components as `base_name`+'_'+ `array_var_component_names[component]`.
C++ Type:std::vector<std::string>
Controllable:No
Description:Only for use with array variables, allows setting custom names for each array variable component. If this not set, the default name for each array variable componenet is `base_name`+'_'+component number. If used, a name must be provided for each component and the values are used to name the components as `base_name`+'_'+ `array_var_component_names[component]`.
- blockThe list of blocks (ids or names) that this object will be applied
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The list of blocks (ids or names) that this object will be applied
- components1Number of components for an array variable
Default:1
C++ Type:unsigned int
Controllable:No
Description:Number of components for an array variable
- disable_p_refinementFalseTrue to disable p-refinement for this variable. Note that because this happens on the family basis, users need to have this flag consistently set for all variables in the same family. Currently MOOSE disables p-refinement for variables in the following families by default: LAGRANGE NEDELEC_ONE RAVIART_THOMAS LAGRANGE_VEC CLOUGH BERNSTEIN and RATIONAL_BERNSTEIN.
Default:False
C++ Type:bool
Controllable:No
Description:True to disable p-refinement for this variable. Note that because this happens on the family basis, users need to have this flag consistently set for all variables in the same family. Currently MOOSE disables p-refinement for variables in the following families by default: LAGRANGE NEDELEC_ONE RAVIART_THOMAS LAGRANGE_VEC CLOUGH BERNSTEIN and RATIONAL_BERNSTEIN.
- familyMONOMIALSpecifies the family of FE shape functions to use for this variable.
Default:MONOMIAL
C++ Type:MooseEnum
Controllable:No
Description:Specifies the family of FE shape functions to use for this variable.
- fvFalseTrue to make this variable a finite volume variable
Default:False
C++ Type:bool
Controllable:No
Description:True to make this variable a finite volume variable
- initial_conditionSpecifies a constant initial condition for this variable
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Specifies a constant initial condition for this variable
- initial_from_file_varGives the name of a variable for which to read an initial condition from a mesh file
C++ Type:std::string
Controllable:No
Description:Gives the name of a variable for which to read an initial condition from a mesh file
- orderCONSTANTOrder of the FE shape function to use for this variable (additional orders not listed here are allowed, depending on the family).
Default:CONSTANT
C++ Type:MooseEnum
Controllable:No
Description:Order of the FE shape function to use for this variable (additional orders not listed here are allowed, depending on the family).
- solver_sysnl0If this variable is a solver variable, this is the solver system to which it should be added.
Default:nl0
C++ Type:SolverSystemName
Controllable:No
Description:If this variable is a solver variable, this is the solver system to which it should be added.
MooseVariableConstMonomial
Specialization for constant monomials that avoids unnecessary loops
Specialization for constant monomial variables. It skips the interpolation into quadrature points and just copies the solution values there.
A detailed description of the MOOSE variable system is given in the base class documentation.
Input 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.
- eigenFalseTrue to make this variable an eigen variable
Default:False
C++ Type:bool
Controllable:No
Description:True to make this variable an eigen variable
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:No
Description:Set the enabled status of the MooseObject.
- outputsVector of output names where you would like to restrict the output of variables(s) associated with this object
C++ Type:std::vector<OutputName>
Controllable:No
Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object
- scalingSpecifies a scaling factor to apply to this variable
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Specifies a scaling factor to apply to this variable
- use_dualFalseTrue to use dual basis for Lagrange multipliers
Default:False
C++ Type:bool
Controllable:No
Description:True to use dual basis for Lagrange multipliers
Advanced Parameters
Input Files
- (modules/navier_stokes/test/tests/finite_volume/ins/turbulence/lid-driven/newton_physics/lid-driven-turb-capped-physics.i)
- (modules/solid_mechanics/test/tests/lagrangian/cartesian/total/homogenization/neml2/large_neml.i)
- (modules/navier_stokes/test/tests/finite_volume/ins/turbulence/lid-driven/newton_physics/lid-driven-turb-energy-wall-physics.i)
- (modules/solid_mechanics/test/tests/lagrangian/cartesian/total/homogenization/neml2/small_neml.i)
(modules/navier_stokes/test/tests/finite_volume/ins/turbulence/lid-driven/newton_physics/lid-driven-turb-capped-physics.i)
##########################################################
# Lid-driven cavity test
# Reynolds: 5,000
# Author: Dr. Mauricio Tano
# Last Update: May, 2024
# Turbulent model using:
# k-epsilon model with capped mixing length
# Standard wall functions
# SIMPLE Solve
##########################################################
### Thermophysical Properties ###
mu = 2e-5
rho = 1.0
### Operation Conditions ###
lid_velocity = 1.0
side_length = 0.1
### k-epsilon Closure Parameters ###
sigma_k = 1.0
sigma_eps = 1.3
C1_eps = 1.44
C2_eps = 1.92
C_mu = 0.09
C_pl = 0.1
### Initial Conditions ###
intensity = 0.01
k_init = '${fparse 1.5*(intensity * lid_velocity)^2}'
eps_init = '${fparse C_mu^0.75 * k_init^1.5 / side_length}'
mu_t_init = '${fparse rho * C_mu * k_init * k_init / eps_init}'
### Modeling parameters ###
walls = 'left top right bottom'
bulk_wall_treatment = false
wall_treatment = 'eq_newton' # Options: eq_newton, eq_incremental, eq_linearized, neq
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = ${side_length}
ymin = 0
ymax = ${side_length}
nx = 12
ny = 12
[]
[break_symmetries]
type = ParsedNodeTransformGenerator
input = gen
constant_names = 'side_length'
constant_expressions = '${side_length}'
x_function = 'if(x<side_length*1.001 / 2 & x > side_length * 0.999 / 2, x * 1.05, x)'
y_function = 'if(y<side_length*1.001 / 2 & y > side_length * 0.999 / 2, y * 1.05, y)'
[]
# Prevent test diffing on distributed parallel element numbering
allow_renumbering = false
[]
[Physics]
[NavierStokes]
[Flow]
[flow]
compressibility = 'incompressible'
density = ${rho}
dynamic_viscosity = ${mu}
initial_pressure = 0.2
initial_velocity = 'ini_vx ini_vy 0'
wall_boundaries = 'top left right bottom'
momentum_wall_types = 'noslip noslip noslip noslip'
momentum_wall_functors = '${lid_velocity} 0; 0 0; 0 0; 0 0'
pin_pressure = true
pinned_pressure_type = point-value
pinned_pressure_value = 0
pinned_pressure_point = '0.01 0.099 0.0'
momentum_two_term_bc_expansion = false
pressure_two_term_bc_expansion = false
[]
[]
[Turbulence]
[keps]
turbulence_handling = 'k-epsilon'
tke_name = TKE
tked_name = TKED
# Initialization
initial_tke = ${k_init}
initial_tked = ${eps_init}
initial_mu_t = ${mu_t_init}
# Model parameters
C1_eps = ${C1_eps}
C2_eps = ${C2_eps}
C_mu = ${C_mu}
C_pl = ${C_pl}
sigma_k = ${sigma_k}
sigma_eps = ${sigma_eps}
# Wall parameters
turbulence_walls = ${walls}
bulk_wall_treatment = ${bulk_wall_treatment}
wall_treatment_eps = ${wall_treatment}
# Numerical parameters
turbulent_viscosity_two_term_bc_expansion = false
mu_t_as_aux_variable = true
tke_two_term_bc_expansion = false
tked_two_term_bc_expansion = false
[]
[]
[]
[]
[Functions]
[ini_vx]
type = ParsedFunction
expression = 'if(y>0.09, 0.1, -0.0001)'
[]
[ini_vy]
type = ParsedFunction
expression = 'if(x>0.05, -0.001, 0.001)'
[]
[]
[AuxVariables]
[dummy]
type = MooseVariableConstMonomial
[]
[]
[Bounds]
[min_tke]
type = ConstantBounds
variable = dummy
bound_value = 1e-8
bounded_variable = TKE
bound_type = lower
[]
[min_eps]
type = ConstantBounds
variable = dummy
bound_value = 1e-8
bounded_variable = TKED
bound_type = lower
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_shift_type -snes_type'
petsc_options_value = 'lu NONZERO vinewtonrsls '
nl_abs_tol = 1e-7
nl_rel_tol = 1e-8
nl_max_its = 100
line_search = none
automatic_scaling = true
[]
[Outputs]
csv = true
perf_graph = false
print_nonlinear_residuals = true
print_linear_residuals = false
[]
[VectorPostprocessors]
[side_bottom]
type = SideValueSampler
boundary = 'bottom'
variable = 'vel_x vel_y pressure TKE TKED'
sort_by = 'x'
execute_on = 'timestep_end'
[]
[side_top]
type = SideValueSampler
boundary = 'top'
variable = 'vel_x vel_y pressure TKE TKED'
sort_by = 'x'
execute_on = 'timestep_end'
[]
[side_left]
type = SideValueSampler
boundary = 'left'
variable = 'vel_x vel_y pressure TKE TKED'
sort_by = 'y'
execute_on = 'timestep_end'
[]
[side_right]
type = SideValueSampler
boundary = 'right'
variable = 'vel_x vel_y pressure TKE TKED'
sort_by = 'y'
execute_on = 'timestep_end'
[]
[horizontal_center]
type = LineValueSampler
start_point = '${fparse 0.01 * side_length} ${fparse 0.499 * side_length} 0'
end_point = '${fparse 0.99 * side_length} ${fparse 0.499 * side_length} 0'
num_points = ${Mesh/gen/nx}
variable = 'vel_x vel_y pressure TKE TKED'
sort_by = 'x'
execute_on = 'timestep_end'
[]
[vertical_center]
type = LineValueSampler
start_point = '${fparse 0.499 * side_length} ${fparse 0.01 * side_length} 0'
end_point = '${fparse 0.499 * side_length} ${fparse 0.99 * side_length} 0'
num_points = ${Mesh/gen/ny}
variable = 'vel_x vel_y pressure TKE TKED'
sort_by = 'y'
execute_on = 'timestep_end'
[]
[]
(modules/solid_mechanics/test/tests/lagrangian/cartesian/total/homogenization/neml2/large_neml.i)
constraint_types = 'strain strain strain stress stress stress stress strain stress'
targets = 'strain11 zero zero zero zero zero zero zero zero'
[Mesh]
[base]
type = FileMeshGenerator
file = '3d.exo'
[]
[sidesets]
type = SideSetsFromNormalsGenerator
input = base
normals = '-1 0 0
1 0 0
0 -1 0
0 1 0
'
' 0 0 -1
0 0 1'
fixed_normal = true
new_boundary = 'left right bottom top back front'
[]
[]
[BCs]
[fix1_x]
type = DirichletBC
boundary = fix_all
displacements = 'disp_x disp_y disp_z'
matrix_tags = 'system time'
value = 0
variable = disp_x
vector_tags = residual
[]
[]
[BCs]
[fix1_y]
type = DirichletBC
boundary = fix_all
displacements = 'disp_x disp_y disp_z'
matrix_tags = 'system time'
value = 0
variable = disp_y
vector_tags = residual
[]
[]
[BCs]
[fix1_z]
type = DirichletBC
boundary = fix_all
displacements = 'disp_x disp_y disp_z'
matrix_tags = 'system time'
value = 0
variable = disp_z
vector_tags = residual
[]
[]
[BCs]
[fix2_x]
type = DirichletBC
boundary = fix_xy
displacements = 'disp_x disp_y disp_z'
matrix_tags = 'system time'
value = 0
variable = disp_x
vector_tags = residual
[]
[]
[BCs]
[fix2_y]
type = DirichletBC
boundary = fix_xy
displacements = 'disp_x disp_y disp_z'
matrix_tags = 'system time'
value = 0
variable = disp_y
vector_tags = residual
[]
[]
[BCs]
[fix3_z]
type = DirichletBC
boundary = fix_z
displacements = 'disp_x disp_y disp_z'
matrix_tags = 'system time'
value = 0
variable = disp_z
vector_tags = residual
[]
[]
[BCs]
[Periodic]
[x]
variable = disp_x
auto_direction = 'x y z'
[]
[y]
variable = disp_y
auto_direction = 'x y z'
[]
[z]
variable = disp_z
auto_direction = 'x y z'
[]
[]
[]
[Functions]
[strain11]
type = ParsedFunction
expression = 't'
[]
[]
[Functions]
[zero]
type = ConstantFunction
value = 0
[]
[]
[Materials]
[convert_strain]
type = RankTwoTensorToSymmetricRankTwoTensor
from = mechanical_strain
outputs = none
to = neml2_strain
[]
[]
[Materials]
[stress]
type = ComputeLagrangianObjectiveCustomSymmetricStress
custom_small_jacobian = neml2_jacobian
custom_small_stress = neml2_stress
large_kinematics = true
outputs = none
[]
[compute_homogenization_gradient]
type = ComputeHomogenizedLagrangianStrain
constraint_types = ${constraint_types}
targets = ${targets}
macro_gradient = hvar
[]
[compute_strain]
type = ComputeLagrangianStrain
homogenization_gradient_names = 'homogenization_gradient'
displacements = 'disp_x disp_y disp_z'
large_kinematics = true
[]
[]
[Materials]
[material_neml2_to_moose_stress]
type = NEML2ToMOOSESymmetricRankTwoTensorMaterialProperty
block = ''
from_neml2 = state/S
neml2_executor = neml2_model_all
outputs = none
to_moose = neml2_stress
[]
[material_neml2_to_moose_jacobian]
type = NEML2ToMOOSESymmetricRankFourTensorMaterialProperty
block = ''
from_neml2 = state/S
neml2_executor = neml2_model_all
neml2_input_derivative = forces/E
outputs = none
to_moose = neml2_jacobian
[]
[]
[UserObjects]
[UO_strain_moose_to_neml2]
type = MOOSESymmetricRankTwoTensorMaterialPropertyToNEML2
block = ''
execute_on = 'INITIAL LINEAR NONLINEAR'
from_moose = neml2_strain
to_neml2 = forces/E
[]
[neml2_index_model_all]
type = NEML2BatchIndexGenerator
block = ''
execute_on = 'INITIAL LINEAR NONLINEAR'
[]
[neml2_model_all]
type = NEML2ModelExecutor
batch_index_generator = neml2_index_model_all
device = cpu
execute_on = 'INITIAL LINEAR NONLINEAR'
gatherers = UO_strain_moose_to_neml2
input = neml2_elastic.i
model = model
param_gatherers = ''
execution_order_group = 1
[]
[]
[Variables]
[disp_x]
type = MooseVariable
family = LAGRANGE
order = FIRST
[]
[disp_y]
type = MooseVariable
family = LAGRANGE
order = FIRST
[]
[disp_z]
type = MooseVariable
family = LAGRANGE
order = FIRST
[]
[]
[AuxKernels]
[pk1_stress_xx_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = pk1_stress_xx
variable = pk1_stress_xx
[]
[pk1_stress_xy_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = pk1_stress_xy
variable = pk1_stress_xy
[]
[pk1_stress_xz_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = pk1_stress_xz
variable = pk1_stress_xz
[]
[pk1_stress_yx_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = pk1_stress_yx
variable = pk1_stress_yx
[]
[pk1_stress_yy_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = pk1_stress_yy
variable = pk1_stress_yy
[]
[pk1_stress_yz_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = pk1_stress_yz
variable = pk1_stress_yz
[]
[pk1_stress_zx_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = pk1_stress_zx
variable = pk1_stress_zx
[]
[pk1_stress_zy_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = pk1_stress_zy
variable = pk1_stress_zy
[]
[pk1_stress_zz_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = pk1_stress_zz
variable = pk1_stress_zz
[]
[deformation_gradient_xx_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_xx
variable = deformation_gradient_xx
[]
[deformation_gradient_xy_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_xy
variable = deformation_gradient_xy
[]
[deformation_gradient_xz_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_xz
variable = deformation_gradient_xz
[]
[deformation_gradient_yx_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_yx
variable = deformation_gradient_yx
[]
[deformation_gradient_yy_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_yy
variable = deformation_gradient_yy
[]
[deformation_gradient_yz_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_yz
variable = deformation_gradient_yz
[]
[deformation_gradient_zx_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_zx
variable = deformation_gradient_zx
[]
[deformation_gradient_zy_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_zy
variable = deformation_gradient_zy
[]
[deformation_gradient_zz_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_zz
variable = deformation_gradient_zz
[]
[]
[AuxVariables]
[pk1_stress_xx]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[pk1_stress_xy]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[pk1_stress_xz]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[pk1_stress_yx]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[pk1_stress_yy]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[pk1_stress_yz]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[pk1_stress_zx]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[pk1_stress_zy]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[pk1_stress_zz]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_xx]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_xy]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_xz]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_yx]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_yy]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_yz]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_zx]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_zy]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_zz]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[]
[Kernels]
[TM_all0]
type = HomogenizedTotalLagrangianStressDivergence
component = 0
displacements = 'disp_x disp_y disp_z'
large_kinematics = true
stabilize_strain = false
variable = disp_x
macro_var = hvar
constraint_types = ${constraint_types}
targets = ${targets}
[]
[TM_all1]
type = HomogenizedTotalLagrangianStressDivergence
component = 1
displacements = 'disp_x disp_y disp_z'
large_kinematics = true
stabilize_strain = false
variable = disp_y
macro_var = hvar
constraint_types = ${constraint_types}
targets = ${targets}
[]
[TM_all2]
type = HomogenizedTotalLagrangianStressDivergence
component = 2
displacements = 'disp_x disp_y disp_z'
large_kinematics = true
stabilize_strain = false
variable = disp_z
macro_var = hvar
constraint_types = ${constraint_types}
targets = ${targets}
[]
[]
[Materials]
[pk1_stress_xx_all]
type = RankTwoCartesianComponent
block = ''
index_i = 0
index_j = 0
outputs = none
property_name = pk1_stress_xx
rank_two_tensor = pk1_stress
[]
[pk1_stress_xy_all]
type = RankTwoCartesianComponent
block = ''
index_i = 0
index_j = 1
outputs = none
property_name = pk1_stress_xy
rank_two_tensor = pk1_stress
[]
[pk1_stress_xz_all]
type = RankTwoCartesianComponent
block = ''
index_i = 0
index_j = 2
outputs = none
property_name = pk1_stress_xz
rank_two_tensor = pk1_stress
[]
[pk1_stress_yx_all]
type = RankTwoCartesianComponent
block = ''
index_i = 1
index_j = 0
outputs = none
property_name = pk1_stress_yx
rank_two_tensor = pk1_stress
[]
[pk1_stress_yy_all]
type = RankTwoCartesianComponent
block = ''
index_i = 1
index_j = 1
outputs = none
property_name = pk1_stress_yy
rank_two_tensor = pk1_stress
[]
[pk1_stress_yz_all]
type = RankTwoCartesianComponent
block = ''
index_i = 1
index_j = 2
outputs = none
property_name = pk1_stress_yz
rank_two_tensor = pk1_stress
[]
[pk1_stress_zx_all]
type = RankTwoCartesianComponent
block = ''
index_i = 2
index_j = 0
outputs = none
property_name = pk1_stress_zx
rank_two_tensor = pk1_stress
[]
[pk1_stress_zy_all]
type = RankTwoCartesianComponent
block = ''
index_i = 2
index_j = 1
outputs = none
property_name = pk1_stress_zy
rank_two_tensor = pk1_stress
[]
[pk1_stress_zz_all]
type = RankTwoCartesianComponent
block = ''
index_i = 2
index_j = 2
outputs = none
property_name = pk1_stress_zz
rank_two_tensor = pk1_stress
[]
[deformation_gradient_xx_all]
type = RankTwoCartesianComponent
block = ''
index_i = 0
index_j = 0
outputs = none
property_name = deformation_gradient_xx
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_xy_all]
type = RankTwoCartesianComponent
block = ''
index_i = 0
index_j = 1
outputs = none
property_name = deformation_gradient_xy
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_xz_all]
type = RankTwoCartesianComponent
block = ''
index_i = 0
index_j = 2
outputs = none
property_name = deformation_gradient_xz
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_yx_all]
type = RankTwoCartesianComponent
block = ''
index_i = 1
index_j = 0
outputs = none
property_name = deformation_gradient_yx
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_yy_all]
type = RankTwoCartesianComponent
block = ''
index_i = 1
index_j = 1
outputs = none
property_name = deformation_gradient_yy
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_yz_all]
type = RankTwoCartesianComponent
block = ''
index_i = 1
index_j = 2
outputs = none
property_name = deformation_gradient_yz
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_zx_all]
type = RankTwoCartesianComponent
block = ''
index_i = 2
index_j = 0
outputs = none
property_name = deformation_gradient_zx
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_zy_all]
type = RankTwoCartesianComponent
block = ''
index_i = 2
index_j = 1
outputs = none
property_name = deformation_gradient_zy
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_zz_all]
type = RankTwoCartesianComponent
block = ''
index_i = 2
index_j = 2
outputs = none
property_name = deformation_gradient_zz
rank_two_tensor = deformation_gradient
[]
[]
[Variables]
[hvar]
type = MooseVariableScalar
family = SCALAR
order = NINTH
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
residual_and_jacobian_together = true
solve_type = 'newton'
line_search = 'none'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
l_max_its = 2
l_tol = 1e-14
nl_max_its = 20
nl_rel_tol = 1e-8
nl_abs_tol = 1e-10
start_time = 0.0
dt = 0.2
dtmin = 0.2
end_time = 1.0
[]
[Outputs]
[out]
type = Exodus
[]
[]
[Postprocessors]
[time]
type = TimePostprocessor
execute_on = 'INITIAL TIMESTEP_BEGIN'
[]
[mCS_xx]
type = ElementAverageValue
variable = pk1_stress_xx
[]
[mCS_yy]
type = ElementAverageValue
variable = pk1_stress_yy
[]
[mCS_zz]
type = ElementAverageValue
variable = pk1_stress_zz
[]
[mCS_xy]
type = ElementAverageValue
variable = pk1_stress_xy
[]
[mCS_xz]
type = ElementAverageValue
variable = pk1_stress_xz
[]
[mCS_yx]
type = ElementAverageValue
variable = pk1_stress_yx
[]
[mCS_yz]
type = ElementAverageValue
variable = pk1_stress_yz
[]
[mCS_zy]
type = ElementAverageValue
variable = pk1_stress_zy
[]
[mCS_zx]
type = ElementAverageValue
variable = pk1_stress_zx
[]
[]
(modules/navier_stokes/test/tests/finite_volume/ins/turbulence/lid-driven/newton_physics/lid-driven-turb-energy-wall-physics.i)
##########################################################
# Lid-driven cavity test
# Reynolds: 5,000
# Author: Dr. Mauricio Tano & Guillaume Giudicelli
# Last Update: July 2024
# Turbulent model using:
# k-epsilon model
# Standard wall functions with temperature wall functions
# Physics-based syntax
# Fully coupled solve
##########################################################
# Note:
# - in the original input k_t is lagged
### Thermophysical Properties ###
mu = 2e-5
rho = 1.0
k = 0.01
cp = 10.0
Pr_t = 0.9
### Operation Conditions ###
lid_velocity = 1.0
side_length = 0.1
### k-epsilon Closure Parameters ###
sigma_k = 1.0
sigma_eps = 1.3
C1_eps = 1.44
C2_eps = 1.92
C_mu = 0.09
### Initial Conditions ###
intensity = 0.01
k_init = '${fparse 1.5*(intensity * lid_velocity)^2}'
eps_init = '${fparse C_mu^0.75 * k_init^1.5 / side_length}'
mu_t_init = '${fparse rho * C_mu * k_init * k_init / eps_init}'
### Modeling parameters ###
bulk_wall_treatment = false
walls = 'left top right bottom'
wall_treatment_eps = 'eq_newton' # Options: eq_newton, eq_incremental, eq_linearized, neq
wall_treatment_tem = 'eq_linearized' # Options: eq_newton, eq_incremental, eq_linearized, neq
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = ${side_length}
ymin = 0
ymax = ${side_length}
nx = 12
ny = 12
[]
# Prevent test diffing on distributed parallel element numbering
allow_renumbering = false
[]
[Physics]
[NavierStokes]
[Flow]
[flow]
compressibility = 'incompressible'
# Material properties
density = ${rho}
dynamic_viscosity = ${mu}
# Initial conditions
initial_pressure = 0.2
# Need a non-zero starting velocity to avoid
# sparsity pattern + Newton error
initial_velocity = '1e-10 1e-10 0'
wall_boundaries = 'left right bottom top'
momentum_wall_types = 'noslip noslip noslip noslip'
momentum_wall_functors = '0 0; 0 0; 0 0; ${lid_velocity} 0'
pin_pressure = true
pinned_pressure_type = point-value
pinned_pressure_value = 0
pinned_pressure_point = '0.01 0.099 0.0'
# Numerical parameters
momentum_two_term_bc_expansion = false
pressure_two_term_bc_expansion = false
[]
[]
[FluidHeatTransfer]
[energy]
coupled_flow_physics = flow
thermal_conductivity = ${k}
specific_heat = ${cp}
initial_temperature = '1'
# Energy turbulent boundary conditions are specified in
# the turbulence block
energy_wall_types = 'heatflux heatflux wallfunction wallfunction'
energy_wall_functors = '0 0 0 1'
# Numerical parameters
energy_advection_interpolation = 'average'
energy_two_term_bc_expansion = false
[]
[]
[Turbulence]
[keps]
fluid_heat_transfer_physics = energy
turbulence_handling = 'k-epsilon'
tke_name = TKE
tked_name = TKED
# Initialization
initial_tke = ${k_init}
initial_tked = ${eps_init}
initial_mu_t = ${mu_t_init}
# Fluid properties
Pr_t = ${Pr_t}
# Model parameters
C1_eps = ${C1_eps}
C2_eps = ${C2_eps}
C_mu = ${C_mu}
sigma_k = ${sigma_k}
sigma_eps = ${sigma_eps}
# Wall parameters
turbulence_walls = ${walls}
bulk_wall_treatment = ${bulk_wall_treatment}
wall_treatment_eps = ${wall_treatment_eps}
wall_treatment_T = ${wall_treatment_tem}
# Numerical parameters
turbulent_viscosity_two_term_bc_expansion = false
mu_t_as_aux_variable = true
k_t_as_aux_variable = true
# this case requires it for convergence
linearize_sink_sources = true
neglect_advection_derivatives = true
# needed for non-negative face values
tke_two_term_bc_expansion = false
tked_two_term_bc_expansion = false
[]
[]
[]
[]
[AuxVariables]
[dummy]
type = MooseVariableConstMonomial
[]
[]
[Bounds]
[min_tke]
type = ConstantBounds
variable = dummy
bound_value = 1e-8
bounded_variable = TKE
bound_type = lower
[]
[min_eps]
type = ConstantBounds
variable = dummy
bound_value = 1e-8
bounded_variable = TKED
bound_type = lower
[]
[]
[Executioner]
type = Steady
petsc_options_iname = '-pc_type -pc_factor_shift_type -snes_type'
petsc_options_value = 'lu NONZERO vinewtonrsls'
nl_rel_tol = 1e-10
nl_abs_tol = 5e-8
nl_max_its = 100
# Necessary for these cases
snesmf_reuse_base = false
line_search = none
[]
[Outputs]
csv = true
exodus = true
perf_graph = false
print_nonlinear_residuals = true
print_linear_residuals = false
[]
[VectorPostprocessors]
[side_bottom]
type = SideValueSampler
boundary = 'bottom'
variable = 'vel_x vel_y pressure TKE TKED'
sort_by = 'x'
execute_on = 'timestep_end'
[]
[side_top]
type = SideValueSampler
boundary = 'top'
variable = 'vel_x vel_y pressure TKE TKED'
sort_by = 'x'
execute_on = 'timestep_end'
[]
[side_left]
type = SideValueSampler
boundary = 'left'
variable = 'vel_x vel_y pressure TKE TKED'
sort_by = 'y'
execute_on = 'timestep_end'
[]
[side_right]
type = SideValueSampler
boundary = 'right'
variable = 'vel_x vel_y pressure TKE TKED'
sort_by = 'y'
execute_on = 'timestep_end'
[]
[horizontal_center]
type = LineValueSampler
start_point = '${fparse 0.01 * side_length} ${fparse 0.499 * side_length} 0'
end_point = '${fparse 0.99 * side_length} ${fparse 0.499 * side_length} 0'
num_points = ${Mesh/gen/nx}
variable = 'vel_x vel_y pressure TKE TKED'
sort_by = 'x'
execute_on = 'timestep_end'
[]
[vertical_center]
type = LineValueSampler
start_point = '${fparse 0.499 * side_length} ${fparse 0.01 * side_length} 0'
end_point = '${fparse 0.499 * side_length} ${fparse 0.99 * side_length} 0'
num_points = ${Mesh/gen/ny}
variable = 'vel_x vel_y pressure TKE TKED'
sort_by = 'y'
execute_on = 'timestep_end'
[]
[]
(modules/solid_mechanics/test/tests/lagrangian/cartesian/total/homogenization/neml2/small_neml.i)
constraint_types = 'strain none none stress stress stress stress none stress'
targets = 'strain11 zero zero zero zero zero'
[Mesh]
[base]
type = FileMeshGenerator
file = '3d.exo'
[]
[sidesets]
type = SideSetsFromNormalsGenerator
input = base
normals = '-1 0 0
1 0 0
0 -1 0
0 1 0
0 0 -1
0 0 1'
fixed_normal = true
new_boundary = 'left right bottom top back front'
[]
[]
[BCs]
[fix1_x]
type = DirichletBC
boundary = fix_all
displacements = 'disp_x disp_y disp_z'
matrix_tags = 'system time'
value = 0
variable = disp_x
vector_tags = residual
[]
[]
[BCs]
[fix1_y]
type = DirichletBC
boundary = fix_all
displacements = 'disp_x disp_y disp_z'
matrix_tags = 'system time'
value = 0
variable = disp_y
vector_tags = residual
[]
[]
[BCs]
[fix1_z]
type = DirichletBC
boundary = fix_all
displacements = 'disp_x disp_y disp_z'
matrix_tags = 'system time'
value = 0
variable = disp_z
vector_tags = residual
[]
[]
[BCs]
[fix2_x]
type = DirichletBC
boundary = fix_xy
displacements = 'disp_x disp_y disp_z'
matrix_tags = 'system time'
value = 0
variable = disp_x
vector_tags = residual
[]
[]
[BCs]
[fix2_y]
type = DirichletBC
boundary = fix_xy
displacements = 'disp_x disp_y disp_z'
matrix_tags = 'system time'
value = 0
variable = disp_y
vector_tags = residual
[]
[]
[BCs]
[fix3_z]
type = DirichletBC
boundary = fix_z
displacements = 'disp_x disp_y disp_z'
matrix_tags = 'system time'
value = 0
variable = disp_z
vector_tags = residual
[]
[]
[Functions]
[strain11]
type = ParsedFunction
expression = t
[]
[]
[Functions]
[zero]
type = ConstantFunction
value = 0
[]
[]
[Materials]
[compute_homogenization_gradient]
type = ComputeHomogenizedLagrangianStrain
constraint_types = ${constraint_types}
targets = ${targets}
macro_gradient = hvar
[]
[compute_strain]
type = ComputeLagrangianStrain
homogenization_gradient_names = 'homogenization_gradient'
displacements = 'disp_x disp_y disp_z'
[]
[]
[Materials]
[neml2_stress_to_moose]
type = NEML2ToMOOSESymmetricRankTwoTensorMaterialProperty
block = ''
from_neml2 = state/S
neml2_executor = neml2_model_all
outputs = none
to_moose = neml2_stress
[]
[neml2_jacobian_to_moose]
type = NEML2ToMOOSESymmetricRankFourTensorMaterialProperty
block = ''
from_neml2 = state/S
neml2_executor = neml2_model_all
neml2_input_derivative = forces/E
outputs = none
to_moose = neml2_jacobian
[]
[]
[Materials]
[convert_strain]
type = RankTwoTensorToSymmetricRankTwoTensor
from = mechanical_strain
outputs = none
to = neml2_strain
[]
[]
[Materials]
[stress]
type = ComputeLagrangianObjectiveCustomSymmetricStress
custom_small_jacobian = neml2_jacobian
custom_small_stress = neml2_stress
large_kinematics = false
outputs = none
[]
[]
[BCs]
[Periodic]
[x]
variable = disp_x
auto_direction = 'x y z'
[]
[y]
variable = disp_y
auto_direction = 'x y z'
[]
[z]
variable = disp_z
auto_direction = 'x y z'
[]
[]
[]
[UserObjects]
[moose_strain_to_jacobian]
type = MOOSESymmetricRankTwoTensorMaterialPropertyToNEML2
block = ''
execute_on = 'INITIAL LINEAR NONLINEAR'
from_moose = neml2_strain
to_neml2 = forces/E
[]
[neml2_index_model_all]
type = NEML2BatchIndexGenerator
block = ''
execute_on = 'INITIAL LINEAR NONLINEAR'
[]
[neml2_model_all]
type = NEML2ModelExecutor
batch_index_generator = neml2_index_model_all
device = cpu
execute_on = 'INITIAL LINEAR NONLINEAR'
gatherers = moose_strain_to_jacobian
input = neml2_elastic.i
model = model
param_gatherers = ''
[]
[]
[Variables]
[disp_x]
type = MooseVariable
family = LAGRANGE
order = FIRST
[]
[disp_y]
type = MooseVariable
family = LAGRANGE
order = FIRST
[]
[disp_z]
type = MooseVariable
family = LAGRANGE
order = FIRST
[]
[hvar]
type = MooseVariableScalar
family = SCALAR
order = SIXTH
[]
[]
[AuxKernels]
[cauchy_stress_xx_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = cauchy_stress_xx
variable = cauchy_stress_xx
[]
[cauchy_stress_xy_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = cauchy_stress_xy
variable = cauchy_stress_xy
[]
[cauchy_stress_xz_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = cauchy_stress_xz
variable = cauchy_stress_xz
[]
[cauchy_stress_yx_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = cauchy_stress_yx
variable = cauchy_stress_yx
[]
[cauchy_stress_yy_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = cauchy_stress_yy
variable = cauchy_stress_yy
[]
[cauchy_stress_yz_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = cauchy_stress_yz
variable = cauchy_stress_yz
[]
[cauchy_stress_zx_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = cauchy_stress_zx
variable = cauchy_stress_zx
[]
[cauchy_stress_zy_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = cauchy_stress_zy
variable = cauchy_stress_zy
[]
[cauchy_stress_zz_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = cauchy_stress_zz
variable = cauchy_stress_zz
[]
[deformation_gradient_xx_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_xx
variable = deformation_gradient_xx
[]
[deformation_gradient_xy_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_xy
variable = deformation_gradient_xy
[]
[deformation_gradient_xz_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_xz
variable = deformation_gradient_xz
[]
[deformation_gradient_yx_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_yx
variable = deformation_gradient_yx
[]
[deformation_gradient_yy_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_yy
variable = deformation_gradient_yy
[]
[deformation_gradient_yz_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_yz
variable = deformation_gradient_yz
[]
[deformation_gradient_zx_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_zx
variable = deformation_gradient_zx
[]
[deformation_gradient_zy_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_zy
variable = deformation_gradient_zy
[]
[deformation_gradient_zz_all]
type = MaterialRealAux
block = ''
execute_on = TIMESTEP_END
property = deformation_gradient_zz
variable = deformation_gradient_zz
[]
[]
[AuxVariables]
[cauchy_stress_xx]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[cauchy_stress_xy]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[cauchy_stress_xz]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[cauchy_stress_yx]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[cauchy_stress_yy]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[cauchy_stress_yz]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[cauchy_stress_zx]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[cauchy_stress_zy]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[cauchy_stress_zz]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_xx]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_xy]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_xz]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_yx]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_yy]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_yz]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_zx]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_zy]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[deformation_gradient_zz]
type = MooseVariableConstMonomial
family = MONOMIAL
order = CONSTANT
[]
[]
[Kernels]
[TM_all0]
type = HomogenizedTotalLagrangianStressDivergence
component = 0
displacements = 'disp_x disp_y disp_z'
large_kinematics = false
stabilize_strain = false
variable = disp_x
macro_var = hvar
constraint_types = ${constraint_types}
targets = ${targets}
[]
[TM_all1]
type = HomogenizedTotalLagrangianStressDivergence
component = 1
displacements = 'disp_x disp_y disp_z'
large_kinematics = false
stabilize_strain = false
variable = disp_y
macro_var = hvar
constraint_types = ${constraint_types}
targets = ${targets}
[]
[TM_all2]
type = HomogenizedTotalLagrangianStressDivergence
component = 2
displacements = 'disp_x disp_y disp_z'
large_kinematics = false
stabilize_strain = false
variable = disp_z
macro_var = hvar
constraint_types = ${constraint_types}
targets = ${targets}
[]
[]
[Materials]
[cauchy_stress_xx_all]
type = RankTwoCartesianComponent
block = ''
index_i = 0
index_j = 0
outputs = none
property_name = cauchy_stress_xx
rank_two_tensor = cauchy_stress
[]
[cauchy_stress_xy_all]
type = RankTwoCartesianComponent
block = ''
index_i = 0
index_j = 1
outputs = none
property_name = cauchy_stress_xy
rank_two_tensor = cauchy_stress
[]
[cauchy_stress_xz_all]
type = RankTwoCartesianComponent
block = ''
index_i = 0
index_j = 2
outputs = none
property_name = cauchy_stress_xz
rank_two_tensor = cauchy_stress
[]
[cauchy_stress_yx_all]
type = RankTwoCartesianComponent
block = ''
index_i = 1
index_j = 0
outputs = none
property_name = cauchy_stress_yx
rank_two_tensor = cauchy_stress
[]
[cauchy_stress_yy_all]
type = RankTwoCartesianComponent
block = ''
index_i = 1
index_j = 1
outputs = none
property_name = cauchy_stress_yy
rank_two_tensor = cauchy_stress
[]
[cauchy_stress_yz_all]
type = RankTwoCartesianComponent
block = ''
index_i = 1
index_j = 2
outputs = none
property_name = cauchy_stress_yz
rank_two_tensor = cauchy_stress
[]
[cauchy_stress_zx_all]
type = RankTwoCartesianComponent
block = ''
index_i = 2
index_j = 0
outputs = none
property_name = cauchy_stress_zx
rank_two_tensor = cauchy_stress
[]
[cauchy_stress_zy_all]
type = RankTwoCartesianComponent
block = ''
index_i = 2
index_j = 1
outputs = none
property_name = cauchy_stress_zy
rank_two_tensor = cauchy_stress
[]
[cauchy_stress_zz_all]
type = RankTwoCartesianComponent
block = ''
index_i = 2
index_j = 2
outputs = none
property_name = cauchy_stress_zz
rank_two_tensor = cauchy_stress
[]
[deformation_gradient_xx_all]
type = RankTwoCartesianComponent
block = ''
index_i = 0
index_j = 0
outputs = none
property_name = deformation_gradient_xx
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_xy_all]
type = RankTwoCartesianComponent
block = ''
index_i = 0
index_j = 1
outputs = none
property_name = deformation_gradient_xy
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_xz_all]
type = RankTwoCartesianComponent
block = ''
index_i = 0
index_j = 2
outputs = none
property_name = deformation_gradient_xz
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_yx_all]
type = RankTwoCartesianComponent
block = ''
index_i = 1
index_j = 0
outputs = none
property_name = deformation_gradient_yx
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_yy_all]
type = RankTwoCartesianComponent
block = ''
index_i = 1
index_j = 1
outputs = none
property_name = deformation_gradient_yy
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_yz_all]
type = RankTwoCartesianComponent
block = ''
index_i = 1
index_j = 2
outputs = none
property_name = deformation_gradient_yz
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_zx_all]
type = RankTwoCartesianComponent
block = ''
index_i = 2
index_j = 0
outputs = none
property_name = deformation_gradient_zx
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_zy_all]
type = RankTwoCartesianComponent
block = ''
index_i = 2
index_j = 1
outputs = none
property_name = deformation_gradient_zy
rank_two_tensor = deformation_gradient
[]
[deformation_gradient_zz_all]
type = RankTwoCartesianComponent
block = ''
index_i = 2
index_j = 2
outputs = none
property_name = deformation_gradient_zz
rank_two_tensor = deformation_gradient
[]
[]
[Executioner]
type = Transient
residual_and_jacobian_together = true
solve_type = 'newton'
line_search = 'none'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
l_max_its = 2
l_tol = 1e-14
nl_max_its = 20
nl_rel_tol = 1e-8
nl_abs_tol = 1e-10
start_time = 0.0
dt = 0.2
dtmin = 0.2
end_time = 1.0
[]
[Outputs]
[out]
type = Exodus
[]
[]
[Postprocessors]
[time]
type = TimePostprocessor
execute_on = 'INITIAL TIMESTEP_BEGIN'
[]
[mCS_xx]
type = ElementAverageValue
variable = cauchy_stress_xx
[]
[mCS_yy]
type = ElementAverageValue
variable = cauchy_stress_yy
[]
[mCS_zz]
type = ElementAverageValue
variable = cauchy_stress_zz
[]
[mCS_xy]
type = ElementAverageValue
variable = cauchy_stress_xy
[]
[mCS_xz]
type = ElementAverageValue
variable = cauchy_stress_xz
[]
[mCS_yx]
type = ElementAverageValue
variable = cauchy_stress_yx
[]
[mCS_yz]
type = ElementAverageValue
variable = cauchy_stress_yz
[]
[mCS_zy]
type = ElementAverageValue
variable = cauchy_stress_zy
[]
[mCS_zx]
type = ElementAverageValue
variable = cauchy_stress_zx
[]
[]