- variableThe name of the variable that this postprocessor operates on
C++ Type:std::vector
Description:The name of the variable that this postprocessor operates on
<!– MOOSE Documentation Stub: Remove this when content is added. –>
NodalMaxValue

The NodalMaxValue has not been documented. The content contained on this page includes the typical automatic documentation associated with a MooseObject; however, what is contained is ultimately determined by what is necessary to make the documentation clear for users.
!syntax description /Postprocessors/NodalMaxValue
Input Parameters
- execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.
Default:TIMESTEP_END
C++ Type:ExecFlagEnum
Options:NONE INITIAL LINEAR NONLINEAR TIMESTEP_END TIMESTEP_BEGIN FINAL CUSTOM
Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.
- boundaryThe list of boundary IDs from the mesh where this boundary condition applies
C++ Type:std::vector
Options:
Description:The list of boundary IDs from the mesh where this boundary condition applies
- blockThe list of block ids (SubdomainID) that this object will be applied
C++ Type:std::vector
Options:
Description:The list of block ids (SubdomainID) that this object will be applied
- unique_node_executeFalseWhen false (default), block restricted objects will have the execute method called multiple times on a single node if the node lies on a interface between two subdomains.
Default:False
C++ Type:bool
Options:
Description:When false (default), block restricted objects will have the execute method called multiple times on a single node if the node lies on a interface between two subdomains.
Optional Parameters
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Options:
Description:Set the enabled status of the MooseObject.
- allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
Default:False
C++ Type:bool
Options:
Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
- 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.
- outputsVector of output names were you would like to restrict the output of variables(s) associated with this object
C++ Type:std::vector
Options:
Description:Vector of output names were you would like to restrict the output of variables(s) associated with this object
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector
Options:
Description:Adds user-defined labels for accessing object parameters via control logic.
- seed0The seed for the master random number generator
Default:0
C++ Type:unsigned int
Options:
Description:The seed for the master random number generator
Advanced Parameters
Input Files
- modules/solid_mechanics/test/tests/volumetric_eigenstrain/volumetric_mechanical.i
- modules/tensor_mechanics/test/tests/thermal_expansion_function/thermal_expansion_function_finite_const_alpha_test.i
- modules/tensor_mechanics/test/tests/volumetric_eigenstrain/volumetric_eigenstrain.i
- modules/tensor_mechanics/test/tests/thermal_expansion_function/thermal_expansion_function_small_linear_alpha_test.i
- modules/tensor_mechanics/test/tests/thermal_expansion_function/thermal_expansion_function_small_const_alpha_test.i
- framework/contrib/hit/test/output.i
- modules/tensor_mechanics/test/tests/thermal_expansion_function/thermal_expansion_function_finite_linear_alpha_test.i
- framework/contrib/hit/test/input.i
- modules/combined/test/tests/solid_mechanics/Rayleigh_damping/Newmark_time_integration/Rayleigh_Newmark.i
- modules/tensor_mechanics/test/tests/dynamics/rayleigh_damping/rayleigh_newmark_material_dependent.i
- modules/tensor_mechanics/test/tests/dynamics/rayleigh_damping/rayleigh_hht_ti.i
- test/tests/postprocessors/block_nodal_pps/block_nodal_pps_test.i
- test/tests/misc/block_user_object_check/block_check.i
- modules/combined/test/tests/solid_mechanics/Time_integration/HHT_time_integration/HHT_test.i
- modules/solid_mechanics/test/tests/thermal_expansion_function/thermal_expansion_function_const_alpha_test.i
- test/tests/postprocessors/nodal_pps/nodal_nodeset_pps_test.i
- test/tests/userobjects/Terminator/terminator.i
- modules/tensor_mechanics/test/tests/dynamics/rayleigh_damping/rayleigh_hht.i
- modules/tensor_mechanics/test/tests/dynamics/time_integration/newmark_test.i
- modules/tensor_mechanics/test/tests/dynamics/time_integration/hht_test_ti.i
- modules/solid_mechanics/test/tests/volumetric_eigenstrain/volumetric_eigenstrain.i
- modules/tensor_mechanics/test/tests/volumetric_eigenstrain/volumetric_mechanical.i
- test/tests/postprocessors/nodal_pps/nodal_max_pps_test.i
- modules/combined/test/tests/solid_mechanics/Rayleigh_damping/HHT_time_integration/Rayleigh_HHT.i
- modules/combined/test/tests/solid_mechanics/Time_integration/Newmark_time_integration/Newmark_test.i
- test/tests/misc/check_error/double_restrict_uo.i
- modules/tensor_mechanics/test/tests/dynamics/time_integration/hht_test.i
- test/tests/postprocessors/nodal_max_value/nodal_max_value_test.i
- modules/tensor_mechanics/test/tests/dynamics/rayleigh_damping/rayleigh_newmark.i
- modules/solid_mechanics/test/tests/thermal_expansion_function/thermal_expansion_function_linear_alpha_test.i
modules/solid_mechanics/test/tests/volumetric_eigenstrain/volumetric_mechanical.i
# This test ensures that the reported volumetric strain for a cube with
# mechanically imposed displacements (through Dirichlet BCs) exactly
# matches that from a version of this test that experiences the same
# defomation, but due to imposed eigenstrains.
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./volumetric_strain]
order = CONSTANT
family = MONOMIAL
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
[../]
[]
[AuxKernels]
[./volumetric_strain]
type = MaterialTensorAux
tensor = total_strain
variable = volumetric_strain
quantity = VolumetricStrain
[../]
[]
[Functions]
[pres_disp]
type = PiecewiseLinear
# These values are taken from the displacements in the eigenstrain
# version of this test. The volume of the cube (which starts out as
# a 1x1x1 cube) is (1 + disp)^3. At time 2, this is
# (1.44224957030741)^3, which is 3.0.
xy_data = '0 0
1 0.25992104989487
2 0.44224957030741'
[]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = back
value = 0.0
[../]
[./right]
type = FunctionPresetBC
variable = disp_x
boundary = right
function = pres_disp
[../]
[./top]
type = FunctionPresetBC
variable = disp_y
boundary = top
function = pres_disp
[../]
[./front]
type = FunctionPresetBC
variable = disp_z
boundary = front
function = pres_disp
[../]
[]
[Materials]
[./linelast]
type = Elastic
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
increment_calculation = Eigen
block = 0
[../]
[]
[Postprocessors]
[./vol]
type = VolumePostprocessor
use_displaced_mesh = true
execute_on = 'initial timestep_end'
[../]
[./volumetric_strain]
type = ElementalVariableValue
variable = volumetric_strain
elementid = 0
[../]
[./disp_right]
type = NodalMaxValue
variable = disp_x
boundary = right
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
l_max_its = 100
l_tol = 1e-4
nl_abs_tol = 1e-8
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 2.0
dt = 1.0
[]
[Outputs]
exodus = true
csv = true
[]
modules/tensor_mechanics/test/tests/thermal_expansion_function/thermal_expansion_function_finite_const_alpha_test.i
# This tests the thermal expansion coefficient function using both
# options to specify that function: mean and instantaneous. There
# two blocks, each containing a single element, and these use the
# two variants of the function.
# In this test, the instantaneous CTE function has a constant value,
# while the mean CTE function is an analytic function designed to
# give the same response. If \bar{alpha}(T) is the mean CTE function,
# and \alpha(T) is the instantaneous CTE function,
# \bar{\alpha}(T) = 1/(T-Tref) \intA^{T}_{Tsf} \alpha(T) dT
# where Tref is the reference temperature used to define the mean CTE
# function, and Tsf is the stress-free temperature.
# This version of the test uses finite deformation theory.
# The two models produce very similar results. There are slight
# differences due to the large deformation treatment.
[Mesh]
file = 'blocks.e'
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[AuxVariables]
[./temp]
order = FIRST
family = LAGRANGE
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
incremental = true
add_variables = true
eigenstrain_names = eigenstrain
generate_output = 'strain_xx strain_yy strain_zz'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = 3
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = 1
value = 0.0
[../]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
block = '1 2'
function = temp_func
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./small_stress]
type = ComputeFiniteStrainElasticStress
[../]
[./thermal_expansion_strain1]
type = ComputeMeanThermalExpansionFunctionEigenstrain
block = 1
thermal_expansion_function = cte_func_mean
thermal_expansion_function_reference_temperature = 0.5
stress_free_temperature = 0.0
temperature = temp
eigenstrain_name = eigenstrain
[../]
[./thermal_expansion_strain2]
type = ComputeInstantaneousThermalExpansionFunctionEigenstrain
block = 2
thermal_expansion_function = cte_func_inst
stress_free_temperature = 0.0
temperature = temp
eigenstrain_name = eigenstrain
[../]
[]
[Functions]
[./cte_func_mean]
type = ParsedFunction
vars = 'tsf tref scale' #stress free temp, reference temp, scale factor
vals = '0.0 0.5 1e-4'
value = 'scale * (t - tsf) / (t - tref)'
[../]
[./cte_func_inst]
type = PiecewiseLinear
xy_data = '0 1.0
2 1.0'
scale_factor = 1e-4
[../]
[./temp_func]
type = PiecewiseLinear
xy_data = '0 1
1 2'
[../]
[]
[Postprocessors]
[./disp_1]
type = NodalMaxValue
variable = disp_x
boundary = 101
[../]
[./disp_2]
type = NodalMaxValue
variable = disp_x
boundary = 102
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
l_max_its = 100
l_tol = 1e-4
nl_abs_tol = 1e-8
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 1.0
dt = 0.1
[]
[Outputs]
file_base = finite_const_alpha_out
exodus = true
csv = true
[]
modules/tensor_mechanics/test/tests/volumetric_eigenstrain/volumetric_eigenstrain.i
# This tests the ability of the ComputeVolumetricEigenstrain material
# to compute an eigenstrain tensor that results in a solution that exactly
# recovers the specified volumetric expansion.
# This model applies volumetric strain that ramps from 0 to 2 to a unit cube
# and computes the final volume, which should be exactly 3. Note that the default
# TaylorExpansion option for decomposition_method gives a small (~4%) error
# with this very large incremental strain, but decomposition_method=EigenSolution
# gives the exact solution.
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./volumetric_strain]
order = CONSTANT
family = MONOMIAL
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Modules/TensorMechanics/Master]
[./master]
use_displaced_mesh = true
strain = FINITE
eigenstrain_names = eigenstrain
decomposition_method = EigenSolution #Necessary for exact solution
[../]
[]
[AuxKernels]
[./volumetric_strain]
type = RankTwoScalarAux
scalar_type = VolumetricStrain
rank_two_tensor = total_strain
variable = volumetric_strain
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = back
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./finite_strain_stress]
type = ComputeFiniteStrainElasticStress
[../]
[./volumetric_eigenstrain]
type = ComputeVolumetricEigenstrain
volumetric_materials = volumetric_change
eigenstrain_name = eigenstrain
args = ''
[../]
[./volumetric_change]
type = GenericFunctionMaterial
prop_names = volumetric_change
prop_values = t
[../]
[]
[Postprocessors]
[./vol]
type = VolumePostprocessor
use_displaced_mesh = true
execute_on = 'initial timestep_end'
[../]
[./volumetric_strain]
type = ElementalVariableValue
variable = volumetric_strain
elementid = 0
[../]
[./disp_right]
type = NodalMaxValue
variable = disp_x
boundary = right
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
l_max_its = 100
l_tol = 1e-4
nl_abs_tol = 1e-8
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 2.0
dt = 1.0
[]
[Outputs]
exodus = true
csv = true
[]
modules/tensor_mechanics/test/tests/thermal_expansion_function/thermal_expansion_function_small_linear_alpha_test.i
# This tests the thermal expansion coefficient function using both
# options to specify that function: mean and instantaneous. There
# two blocks, each containing a single element, and these use the
# two variants of the function.
# In this test, the instantaneous CTE function is a linear function
# while the mean CTE function is an analytic function designed to
# give the same response. If \bar{alpha}(T) is the mean CTE function,
# and \alpha(T) is the instantaneous CTE function,
# \bar{\alpha}(T) = 1/(T-Tref) \intA^{T}_{Tsf} \alpha(T) dT
# where Tref is the reference temperature used to define the mean CTE
# function, and Tsf is the stress-free temperature.
# This version of the test uses small deformation theory. The results
# from the two models are identical.
[Mesh]
file = 'blocks.e'
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[AuxVariables]
[./temp]
order = FIRST
family = LAGRANGE
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
incremental = false
add_variables = true
eigenstrain_names = eigenstrain
generate_output = 'strain_xx strain_yy strain_zz'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = 3
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = 1
value = 0.0
[../]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
block = '1 2'
function = temp_func
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./small_stress]
type = ComputeLinearElasticStress
[../]
[./thermal_expansion_strain1]
type = ComputeMeanThermalExpansionFunctionEigenstrain
block = 1
thermal_expansion_function = cte_func_mean
thermal_expansion_function_reference_temperature = 0.5
stress_free_temperature = 0.0
temperature = temp
eigenstrain_name = eigenstrain
[../]
[./thermal_expansion_strain2]
type = ComputeInstantaneousThermalExpansionFunctionEigenstrain
block = 2
thermal_expansion_function = cte_func_inst
stress_free_temperature = 0.0
temperature = temp
eigenstrain_name = eigenstrain
[../]
[]
[Functions]
[./cte_func_mean]
type = ParsedFunction
vars = 'tsf tref scale' #stress free temp, reference temp, scale factor
vals = '0.0 0.5 1e-4'
value = 'scale * (0.5 * t^2 - 0.5 * tsf^2) / (t - tref)'
[../]
[./cte_func_inst]
type = PiecewiseLinear
xy_data = '0 0.0
2 2.0'
scale_factor = 1e-4
[../]
[./temp_func]
type = PiecewiseLinear
xy_data = '0 1
1 2'
[../]
[]
[Postprocessors]
[./disp_1]
type = NodalMaxValue
variable = disp_x
boundary = 101
[../]
[./disp_2]
type = NodalMaxValue
variable = disp_x
boundary = 102
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
l_max_its = 100
l_tol = 1e-4
nl_abs_tol = 1e-8
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 1.0
dt = 0.1
[]
[Outputs]
file_base = small_linear_alpha_out
exodus = true
csv = true
[]
modules/tensor_mechanics/test/tests/thermal_expansion_function/thermal_expansion_function_small_const_alpha_test.i
# This tests the thermal expansion coefficient function using both
# options to specify that function: mean and instantaneous. There
# two blocks, each containing a single element, and these use the
# two variants of the function.
# In this test, the instantaneous CTE function has a constant value,
# while the mean CTE function is an analytic function designed to
# give the same response. If \bar{alpha}(T) is the mean CTE function,
# and \alpha(T) is the instantaneous CTE function,
# \bar{\alpha}(T) = 1/(T-Tref) \intA^{T}_{Tsf} \alpha(T) dT
# where Tref is the reference temperature used to define the mean CTE
# function, and Tsf is the stress-free temperature.
# This version of the test uses small deformation theory. The results
# from the two models are identical.
[Mesh]
file = 'blocks.e'
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[AuxVariables]
[./temp]
order = FIRST
family = LAGRANGE
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
incremental = false
add_variables = true
eigenstrain_names = eigenstrain
generate_output = 'strain_xx strain_yy strain_zz'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = 3
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = 1
value = 0.0
[../]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
block = '1 2'
function = temp_func
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./small_stress]
type = ComputeLinearElasticStress
[../]
[./thermal_expansion_strain1]
type = ComputeMeanThermalExpansionFunctionEigenstrain
block = 1
thermal_expansion_function = cte_func_mean
thermal_expansion_function_reference_temperature = 0.5
stress_free_temperature = 0.0
temperature = temp
eigenstrain_name = eigenstrain
[../]
[./thermal_expansion_strain2]
type = ComputeInstantaneousThermalExpansionFunctionEigenstrain
block = 2
thermal_expansion_function = cte_func_inst
stress_free_temperature = 0.0
temperature = temp
eigenstrain_name = eigenstrain
[../]
[]
[Functions]
[./cte_func_mean]
type = ParsedFunction
vars = 'tsf tref scale' #stress free temp, reference temp, scale factor
vals = '0.0 0.5 1e-4'
value = 'scale * (t - tsf) / (t - tref)'
[../]
[./cte_func_inst]
type = PiecewiseLinear
xy_data = '0 1.0
2 1.0'
scale_factor = 1e-4
[../]
[./temp_func]
type = PiecewiseLinear
xy_data = '0 1
1 2'
[../]
[]
[Postprocessors]
[./disp_1]
type = NodalMaxValue
variable = disp_x
boundary = 101
[../]
[./disp_2]
type = NodalMaxValue
variable = disp_x
boundary = 102
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
l_max_its = 100
l_tol = 1e-4
nl_abs_tol = 1e-8
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 1.0
dt = 0.1
[]
[Outputs]
file_base = small_const_alpha_out
exodus = true
csv = true
[]
framework/contrib/hit/test/output.i
# This tests the thermal expansion coefficient function using both
# options to specify that function: mean and instantaneous. There
# two blocks, each containing a single element, and these use the
# two variants of the function.
# In this test, the instantaneous CTE function has a constant value,
# while the mean CTE function is an analytic function designed to
# give the same response. If \bar{alpha}(T) is the mean CTE function,
# and \alpha(T) is the instantaneous CTE function,
# \bar{\alpha}(T) = 1/(T-Tref) \intA^{T}_{Tsf} \alpha(T) dT
# where Tref is the reference temperature used to define the mean CTE
# function, and Tsf is the stress-free temperature.
# The two models produce very similar results. There are slight
# differences due to the large deformation treatment.
[Mesh]
file = 'blocks.e'
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[./disp_z]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./temp]
order = FIRST
family = LAGRANGE
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
[../]
[]
[BCs]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[left]
type = FunctionPresetBC
variable = disp_x
function = 0.02*t
boundary = 3
[]
[back]
type = FunctionPresetBC
variable = disp_z
function = 0.01*t
boundary = 1
[]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
block = '1 2'
function = temp_func
[../]
[]
[Materials]
[./mean_alpha]
type = Elastic
block = 1
youngs_modulus = 1e6
poissons_ratio = .3
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
thermal_expansion_function = cte_func_mean
stress_free_temperature = 0.0
thermal_expansion_reference_temperature = 0.5
thermal_expansion_function_type = mean
[../]
[./inst_alpha]
type = Elastic
block = 2
youngs_modulus = 1e6
poissons_ratio = .3
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
thermal_expansion_function = cte_func_inst
stress_free_temperature = 0.0
thermal_expansion_function_type = instantaneous
[../]
[]
[Functions]
[./cte_func_mean]
type = ParsedFunction
vars = 'tsf tref scale' #stress free temp, reference temp, scale factor
vals = '0.0 0.5 1e-4'
value = 'scale * (t - tsf) / (t - tref)'
[../]
[./cte_func_inst]
type = PiecewiseLinear
xy_data = '0 1.0
2 1.0'
scale_factor = 1e-4
[../]
[./temp_func]
type = PiecewiseLinear
xy_data = '0 1
1 2'
[../]
[]
[Postprocessors]
[./disp_1]
type = NodalMaxValue
variable = disp_x
boundary = 101
[../]
[./disp_2]
type = NodalMaxValue
variable = disp_x
boundary = 102
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
l_max_its = 100
l_tol = 1e-4
nl_abs_tol = 1e-8
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 1.0
dt = 0.1
[]
[Outputs]
file_base = const_alpha_out
exodus = true
csv = true
[]
modules/tensor_mechanics/test/tests/thermal_expansion_function/thermal_expansion_function_finite_linear_alpha_test.i
# This tests the thermal expansion coefficient function using both
# options to specify that function: mean and instantaneous. There
# two blocks, each containing a single element, and these use the
# two variants of the function.
# In this test, the instantaneous CTE function is a linear function
# while the mean CTE function is an analytic function designed to
# give the same response. If \bar{alpha}(T) is the mean CTE function,
# and \alpha(T) is the instantaneous CTE function,
# \bar{\alpha}(T) = 1/(T-Tref) \intA^{T}_{Tsf} \alpha(T) dT
# where Tref is the reference temperature used to define the mean CTE
# function, and Tsf is the stress-free temperature.
# This version of the test uses finite deformation theory.
# The two models produce very similar results. There are slight
# differences due to the large deformation treatment.
[Mesh]
file = 'blocks.e'
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[AuxVariables]
[./temp]
order = FIRST
family = LAGRANGE
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
incremental = true
add_variables = true
eigenstrain_names = eigenstrain
generate_output = 'strain_xx strain_yy strain_zz'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = 3
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = 1
value = 0.0
[../]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
block = '1 2'
function = temp_func
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./small_stress]
type = ComputeFiniteStrainElasticStress
[../]
[./thermal_expansion_strain1]
type = ComputeMeanThermalExpansionFunctionEigenstrain
block = 1
thermal_expansion_function = cte_func_mean
thermal_expansion_function_reference_temperature = 0.5
stress_free_temperature = 0.0
temperature = temp
eigenstrain_name = eigenstrain
[../]
[./thermal_expansion_strain2]
type = ComputeInstantaneousThermalExpansionFunctionEigenstrain
block = 2
thermal_expansion_function = cte_func_inst
stress_free_temperature = 0.0
temperature = temp
eigenstrain_name = eigenstrain
[../]
[]
[Functions]
[./cte_func_mean]
type = ParsedFunction
vars = 'tsf tref scale' #stress free temp, reference temp, scale factor
vals = '0.0 0.5 1e-4'
value = 'scale * (0.5 * t^2 - 0.5 * tsf^2) / (t - tref)'
[../]
[./cte_func_inst]
type = PiecewiseLinear
xy_data = '0 0.0
2 2.0'
scale_factor = 1e-4
[../]
[./temp_func]
type = PiecewiseLinear
xy_data = '0 1
1 2'
[../]
[]
[Postprocessors]
[./disp_1]
type = NodalMaxValue
variable = disp_x
boundary = 101
[../]
[./disp_2]
type = NodalMaxValue
variable = disp_x
boundary = 102
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
l_max_its = 100
l_tol = 1e-4
nl_abs_tol = 1e-8
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 1.0
dt = 0.1
[]
[Outputs]
file_base = finite_linear_alpha_out
exodus = true
csv = true
[]
framework/contrib/hit/test/input.i
# This tests the thermal expansion coefficient function using both
# options to specify that function: mean and instantaneous. There
# two blocks, each containing a single element, and these use the
# two variants of the function.
# In this test, the instantaneous CTE function has a constant value,
# while the mean CTE function is an analytic function designed to
# give the same response. If \bar{alpha}(T) is the mean CTE function,
# and \alpha(T) is the instantaneous CTE function,
# \bar{\alpha}(T) = 1/(T-Tref) \intA^{T}_{Tsf} \alpha(T) dT
# where Tref is the reference temperature used to define the mean CTE
# function, and Tsf is the stress-free temperature.
# The two models produce very similar results. There are slight
# differences due to the large deformation treatment.
[Mesh]
file = 'blocks.e'
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[./disp_z]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./temp]
order = FIRST
family = LAGRANGE
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
[../]
[]
[BCs]
[./left]
type = FunctionDirichletBC
variable = disp_x
boundary = 3
function = 0.02*t
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[./back]
type = FunctionDirichletBC
variable = disp_z
boundary = 1
function = 0.01*t
[../]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
block = '1 2'
function = temp_func
[../]
[]
[Materials]
[./mean_alpha]
type = Elastic
block = 1
youngs_modulus = 1e6
poissons_ratio = .3
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
thermal_expansion_function = cte_func_mean
stress_free_temperature = 0.0
thermal_expansion_reference_temperature = 0.5
thermal_expansion_function_type = mean
[../]
[./inst_alpha]
type = Elastic
block = 2
youngs_modulus = 1e6
poissons_ratio = .3
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
thermal_expansion_function = cte_func_inst
stress_free_temperature = 0.0
thermal_expansion_function_type = instantaneous
[../]
[]
[Functions]
[./cte_func_mean]
type = ParsedFunction
vars = 'tsf tref scale' #stress free temp, reference temp, scale factor
vals = '0.0 0.5 1e-4'
value = 'scale * (t - tsf) / (t - tref)'
[../]
[./cte_func_inst]
type = PiecewiseLinear
xy_data = '0 1.0
2 1.0'
scale_factor = 1e-4
[../]
[./temp_func]
type = PiecewiseLinear
xy_data = '0 1
1 2'
[../]
[]
[Postprocessors]
[./disp_1]
type = NodalMaxValue
variable = disp_x
boundary = 101
[../]
[./disp_2]
type = NodalMaxValue
variable = disp_x
boundary = 102
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
l_max_its = 100
l_tol = 1e-4
nl_abs_tol = 1e-8
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 1.0
dt = 0.1
[]
[Outputs]
file_base = const_alpha_out
exodus = true
csv = true
[]
modules/combined/test/tests/solid_mechanics/Rayleigh_damping/Newmark_time_integration/Rayleigh_Newmark.i
# Test for rayleigh damping implemented using Newmark time integration
# The test is for an 1-D bar element of unit length fixed on one end
# with a ramped pressure boundary condition applied to the other end.
# zeta and eta correspond to the stiffness and mass proportional
# rayleigh damping beta and gamma are Newmark time integration
# parameters The equation of motion in terms of matrices is:
#
# M*accel + eta*M*vel + zeta*K*vel + K*disp = P*Area
#
# Here M is the mass matrix, K is the stiffness matrix, P is the applied pressure
#
# This equation is equivalent to:
#
# density*accel + eta*density*vel + zeta*d/dt(Div stress) + Div stress = P
#
# The first two terms on the left are evaluated using the Inertial
# force kernel The next two terms on the left involving zeta ise
# evaluated using the StressDivergence Kernel The residual due to
# Pressure is evaluated using Pressure boundary condition
#
# The system will come to steady state slowly after the pressure
# becomes constant.
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0.0
xmax = 0.1
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
eta=0.1
[../]
[./stiffness_x]
type = StressDivergence
variable = disp_x
component = 0
zeta = 0.1
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
eta=0.1
[../]
[./stiffness_y]
type = StressDivergence
variable = disp_y
component = 1
zeta = 0.1
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
eta = 0.1
[../]
[./stiffness_z]
type = StressDivergence
variable = disp_z
component = 2
zeta = 0.1
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./stress_yy]
type = MaterialTensorAux
variable = stress_yy
tensor = stress
index = 1
[../]
[./strain_yy]
type = MaterialTensorAux
variable = strain_yy
tensor = total_strain
index = 1
[../]
[]
[BCs]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = top
value=0.0
[../]
[./top_x]
type = DirichletBC
variable = disp_x
boundary = top
value=0.0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value=0.0
[../]
[./bottom_x]
type = DirichletBC
variable = disp_x
boundary = bottom
value=0.0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value=0.0
[../]
[./Pressure]
[./Side1]
boundary = bottom
function = pressure
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
factor = 1
[../]
[../]
[]
[Materials]
[./constant]
type = Elastic
block = 0
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
youngs_modulus = 210e+09
poissons_ratio = 0
thermal_expansion = 0
[../]
[./density]
type = GenericConstantMaterial
block = 0
prop_names = 'density'
prop_values = '7750'
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 2
dtmax = 0.1
dtmin = 0.1
[./TimeStepper]
type = ConstantDT
dt = 0.1
[../]
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0.0 0.1 0.2 1.0 2.0 5.0'
y = '0.0 0.1 0.2 1.0 1.0 1.0'
scale_factor = 1e9
[../]
[./vel_ic]
type = PiecewiseLinear
x = '0.0 0.5 1.0'
y = '0.1 0.1 0.1'
scale_factor = 1
[../]
[]
[Postprocessors]
[./_dt]
type = TimestepSize
[../]
[./disp]
type = NodalMaxValue
variable = disp_y
boundary = bottom
[../]
[./vel]
type = NodalMaxValue
variable = vel_y
boundary = bottom
[../]
[./accel]
type = NodalMaxValue
variable = accel_y
boundary = bottom
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./strain_yy]
type = ElementAverageValue
variable = strain_yy
[../]
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/dynamics/rayleigh_damping/rayleigh_newmark_material_dependent.i
# Test for rayleigh damping implemented using Newmark time integration
# The test is for an 1D bar element of unit length fixed on one end
# with a ramped pressure boundary condition applied to the other end.
# zeta and eta correspond to the stiffness and mass proportional rayleigh damping
# beta and gamma are Newmark time integration parameters
# The equation of motion in terms of matrices is:
#
# M*accel + eta*M*vel + zeta*K*vel + K*disp = P*Area
#
# Here M is the mass matrix, K is the stiffness matrix, P is the applied pressure
#
# This equation is equivalent to:
#
# density*accel + eta*density*vel + zeta*d/dt(Div stress) + Div stress = P
#
# The first two terms on the left are evaluated using the Inertial force kernel
# The next two terms on the left involving zeta are evaluated using the
# DynamicStressDivergenceTensors Kernel
# The residual due to Pressure is evaluated using Pressure boundary condition
#
# The system will come to steady state slowly after the pressure becomes constant.
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0.0
xmax = 0.1
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
zeta = 'zeta_rayleigh'
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
eta = 'eta_rayleigh'
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
eta = 'eta_rayleigh'
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
eta = 'eta_rayleigh'
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 0
index_j = 1
[../]
[./strain_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = strain_yy
index_i = 0
index_j = 1
[../]
[]
[BCs]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = top
value=0.0
[../]
[./top_x]
type = DirichletBC
variable = disp_x
boundary = top
value=0.0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value=0.0
[../]
[./bottom_x]
type = DirichletBC
variable = disp_x
boundary = bottom
value=0.0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value=0.0
[../]
[./Pressure]
[./Side1]
boundary = bottom
function = pressure
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
factor = 1
[../]
[../]
[]
[Materials]
[./Elasticity_tensor]
type = ComputeElasticityTensor
block = 0
fill_method = symmetric_isotropic
C_ijkl = '210e9 0'
[../]
[./strain]
type = ComputeSmallStrain
block = 0
displacements = 'disp_x disp_y disp_z'
[../]
[./stress]
type = ComputeLinearElasticStress
block = 0
[../]
[./density]
type = GenericConstantMaterial
block = 0
prop_names = 'density'
prop_values = '7750'
[../]
[./material_zeta]
type = GenericConstantMaterial
block = 0
prop_names = 'zeta_rayleigh'
prop_values = '0.1'
[../]
[./material_eta]
type = GenericConstantMaterial
block = 0
prop_names = 'eta_rayleigh'
prop_values = '0.1'
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 2
dt = 0.1
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0.0 0.1 0.2 1.0 2.0 5.0'
y = '0.0 0.1 0.2 1.0 1.0 1.0'
scale_factor = 1e9
[../]
[]
[Postprocessors]
[./_dt]
type = TimestepSize
[../]
[./disp]
type = NodalMaxValue
variable = disp_y
boundary = bottom
[../]
[./vel]
type = NodalMaxValue
variable = vel_y
boundary = bottom
[../]
[./accel]
type = NodalMaxValue
variable = accel_y
boundary = bottom
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./strain_yy]
type = ElementAverageValue
variable = strain_yy
[../]
[]
[Outputs]
file_base = 'rayleigh_newmark_out'
exodus = true
perf_graph = true
[]
modules/tensor_mechanics/test/tests/dynamics/rayleigh_damping/rayleigh_hht_ti.i
# Test for rayleigh damping implemented using HHT time integration
#
# The test is for an 1D bar element of unit length fixed on one end
# with a ramped pressure boundary condition applied to the other end.
# zeta and eta correspond to the stiffness and mass proportional rayleigh damping
# alpha, beta and gamma are HHT time integration parameters
# The equation of motion in terms of matrices is:
#
# M*accel + (eta*M+zeta*K)*[(1+alpha)vel-alpha vel_old]
# + alpha*(K*disp - K*disp_old) + K*disp = P(t+alpha dt)*Area
#
# Here M is the mass matrix, K is the stiffness matrix, P is the applied pressure
#
# This equation is equivalent to:
#
# density*accel + eta*density*[(1+alpha)vel-alpha vel_old]
# + zeta*[(1+alpha)*d/dt(Div stress)- alpha*d/dt(Div stress_old)]
# + alpha *(Div stress - Div stress_old) +Div Stress= P(t+alpha dt)
#
# The first two terms on the left are evaluated using the Inertial force kernel
# The next three terms on the left involving zeta and alpha are evaluated using
# the DynamicStressDivergenceTensors Kernel
# The residual due to Pressure is evaluated using Pressure boundary condition
#
# The system will come to steady state slowly after the pressure becomes constant.
# Alpha equal to zero will result in Newmark integration.
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0.0
xmax = 0.1
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
zeta = 0.1
alpha = 0.11
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
eta=0.1
alpha = 0.11
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
eta=0.1
alpha = 0.11
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
eta = 0.1
alpha = 0.11
[../]
[]
[AuxKernels]
[./accel_x] # These auxkernels are only to check output
type = TestNewmarkTI
displacement = disp_x
variable = accel_x
first = false
[../]
[./accel_y]
type = TestNewmarkTI
displacement = disp_y
variable = accel_y
first = false
[../]
[./accel_z]
type = TestNewmarkTI
displacement = disp_z
variable = accel_z
first = false
[../]
[./vel_x]
type = TestNewmarkTI
displacement = disp_x
variable = vel_x
[../]
[./vel_y]
type = TestNewmarkTI
displacement = disp_y
variable = vel_y
[../]
[./vel_z]
type = TestNewmarkTI
displacement = disp_z
variable = vel_z
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 0
index_j = 1
[../]
[./strain_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = strain_yy
index_i = 0
index_j = 1
[../]
[]
[BCs]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = top
value=0.0
[../]
[./top_x]
type = DirichletBC
variable = disp_x
boundary = top
value=0.0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value=0.0
[../]
[./bottom_x]
type = DirichletBC
variable = disp_x
boundary = bottom
value=0.0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value=0.0
[../]
[./Pressure]
[./Side1]
boundary = bottom
function = pressure
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
factor = 1
alpha = 0.11
[../]
[../]
[]
[Materials]
[./Elasticity_tensor]
type = ComputeElasticityTensor
block = 0
fill_method = symmetric_isotropic
C_ijkl = '210e9 0'
[../]
[./strain]
type = ComputeSmallStrain
block = 0
displacements = 'disp_x disp_y disp_z'
[../]
[./stress]
type = ComputeLinearElasticStress
block = 0
[../]
[./density]
type = GenericConstantMaterial
block = 0
prop_names = 'density'
prop_values = '7750'
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 2
dt = 0.1
# Time integrator scheme
scheme = "newmark-beta"
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0.0 0.1 0.2 1.0 2.0 5.0'
y = '0.0 0.1 0.2 1.0 1.0 1.0'
scale_factor = 1e9
[../]
[]
[Postprocessors]
[./_dt]
type = TimestepSize
[../]
[./disp]
type = NodalMaxValue
variable = disp_y
boundary = bottom
[../]
[./vel]
type = NodalMaxValue
variable = vel_y
boundary = bottom
[../]
[./accel]
type = NodalMaxValue
variable = accel_y
boundary = bottom
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./strain_yy]
type = ElementAverageValue
variable = strain_yy
[../]
[]
[Outputs]
file_base = 'rayleigh_hht_out'
exodus = true
perf_graph = true
[]
test/tests/postprocessors/block_nodal_pps/block_nodal_pps_test.i
[Mesh]
file = rect-2blk.e
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = 1
[../]
[./v]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[]
[BCs]
[./left_u]
type = DirichletBC
variable = u
boundary = 6
value = 0
[../]
[./right_u]
type = NeumannBC
variable = u
boundary = 8
value = 4
[../]
[./left_v]
type = DirichletBC
variable = v
boundary = 6
value = 1
[../]
[./right_v]
type = DirichletBC
variable = v
boundary = 3
value = 6
[../]
[]
[Postprocessors]
# This test demonstrates that you can have a block restricted NodalPostprocessor
[./restricted_max]
type = NodalMaxValue
variable = v
block = 1 # Block restricted
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
exodus = true
[]
test/tests/misc/block_user_object_check/block_check.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 5
[]
[MeshModifiers]
[./left_block]
type = SubdomainBoundingBox
block_id = 1
bottom_left = '0 0 0'
top_right = '0.5 1 0'
[../]
[./right_block]
type = SubdomainBoundingBox
block_id = 2
bottom_left = '0.5 0 0'
top_right = '1 1 0'
[../]
[]
[Variables]
[./var_1]
block = 1
initial_condition = 100
[../]
[./var_2]
block = 2
initial_condition = 200
[../]
[]
[Problem]
type = FEProblem
kernel_coverage_check = true
solve = false
[]
[Executioner]
type = Steady
[]
[Postprocessors]
[./obj]
type = NodalMaxValue
variable = var_1
#block = 1 # this is what being tested, see the test spec
execute_on = 'initial'
[../]
[]
modules/combined/test/tests/solid_mechanics/Time_integration/HHT_time_integration/HHT_test.i
# Test for HHT time integration
# The test is for an 1-D bar element of unit length fixed on one end
# with a ramped pressure boundary condition applied to the other end.
# alpha, beta and gamma are HHT time integration parameters The
# equation of motion in terms of matrices is:
#
# M*accel + alpha*(K*disp - K*disp_old) + K*disp = P(t+alpha dt)*Area
#
# Here M is the mass matrix, K is the stiffness matrix, P is the applied pressure
#
# This equation is equivalent to:
#
# density*accel + alpha*(Div stress - Div stress_old) +Div Stress= P(t+alpha dt)
#
# The first term on the left is evaluated using the Inertial force
# kernel The next two terms on the left involving alpha is evaluated
# using the StressDivergence Kernel The residual due to Pressure is
# evaluated using Pressure boundary condition
#
# The system will come to steady state slowly after the pressure
# becomes constant. Alpha equal to zero will result in Newmark
# integration.
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0.0
xmax = 0.1
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
[../]
[./stiffness_x]
type = StressDivergence
variable = disp_x
component = 0
alpha = 0.11
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
[../]
[./stiffness_y]
type = StressDivergence
variable = disp_y
component = 1
alpha = 0.11
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
[../]
[./stiffness_z]
type = StressDivergence
variable = disp_z
component = 2
alpha = 0.11
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./stress_yy]
type = MaterialTensorAux
variable = stress_yy
tensor = stress
index = 1
[../]
[./strain_yy]
type = MaterialTensorAux
variable = strain_yy
tensor = total_strain
index = 1
[../]
[]
[BCs]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = top
value=0.0
[../]
[./top_x]
type = DirichletBC
variable = disp_x
boundary = top
value=0.0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value=0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = right
value=0.0
[../]
[./right_z]
type = DirichletBC
variable = disp_z
boundary = right
value=0.0
[../]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = left
value=0.0
[../]
[./left_z]
type = DirichletBC
variable = disp_z
boundary = left
value=0.0
[../]
[./front_x]
type = DirichletBC
variable = disp_x
boundary = front
value=0.0
[../]
[./front_z]
type = DirichletBC
variable = disp_z
boundary = front
value=0.0
[../]
[./back_x]
type = DirichletBC
variable = disp_x
boundary = back
value=0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = back
value=0.0
[../]
[./bottom_x]
type = DirichletBC
variable = disp_x
boundary = bottom
value=0.0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value=0.0
[../]
[./Pressure]
[./Side1]
boundary = bottom
function = pressure
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
factor = 1
alpha = 0.11
[../]
[../]
[]
[Materials]
[./constant]
type = Elastic
block = 0
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
youngs_modulus = 210e+09
poissons_ratio = 0
thermal_expansion = 0
[../]
[./density]
type = GenericConstantMaterial
block = 0
prop_names = 'density'
prop_values = '7750'
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 2
dtmax = 0.1
dtmin = 0.1
[./TimeStepper]
type = ConstantDT
dt = 0.1
[../]
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0.0 0.1 0.2 1.0 2.0 5.0'
y = '0.0 0.1 0.2 1.0 1.0 1.0'
scale_factor = 1e9
[../]
[./vel_ic]
type = PiecewiseLinear
x = '0.0 0.5 1.0'
y = '0.1 0.1 0.1'
scale_factor = 1
[../]
[]
[Postprocessors]
[./_dt]
type = TimestepSize
[../]
[./disp]
type = NodalMaxValue
variable = disp_y
boundary = bottom
[../]
[./vel]
type = NodalMaxValue
variable = vel_y
boundary = bottom
[../]
[./accel]
type = NodalMaxValue
variable = accel_y
boundary = bottom
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./strain_yy]
type = ElementAverageValue
variable = strain_yy
[../]
[]
[Outputs]
exodus = true
[]
modules/solid_mechanics/test/tests/thermal_expansion_function/thermal_expansion_function_const_alpha_test.i
# This tests the thermal expansion coefficient function using both
# options to specify that function: mean and instantaneous. There
# two blocks, each containing a single element, and these use the
# two variants of the function.
# In this test, the instantaneous CTE function has a constant value,
# while the mean CTE function is an analytic function designed to
# give the same response. If \bar{alpha}(T) is the mean CTE function,
# and \alpha(T) is the instantaneous CTE function,
# \bar{\alpha}(T) = 1/(T-Tref) \intA^{T}_{Tsf} \alpha(T) dT
# where Tref is the reference temperature used to define the mean CTE
# function, and Tsf is the stress-free temperature.
# The two models produce very similar results. There are slight
# differences due to the large deformation treatment.
[Mesh]
file = 'blocks.e'
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[./disp_z]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./temp]
order = FIRST
family = LAGRANGE
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = 3
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = 1
value = 0.0
[../]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
block = '1 2'
function = temp_func
[../]
[]
[Materials]
[./mean_alpha]
type = Elastic
block = 1
youngs_modulus = 1e6
poissons_ratio = .3
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
thermal_expansion_function = cte_func_mean
stress_free_temperature = 0.0
thermal_expansion_reference_temperature = 0.5
thermal_expansion_function_type = mean
[../]
[./inst_alpha]
type = Elastic
block = 2
youngs_modulus = 1e6
poissons_ratio = .3
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
thermal_expansion_function = cte_func_inst
stress_free_temperature = 0.0
thermal_expansion_function_type = instantaneous
[../]
[]
[Functions]
[./cte_func_mean]
type = ParsedFunction
vars = 'tsf tref scale' #stress free temp, reference temp, scale factor
vals = '0.0 0.5 1e-4'
value = 'scale * (t - tsf) / (t - tref)'
[../]
[./cte_func_inst]
type = PiecewiseLinear
xy_data = '0 1.0
2 1.0'
scale_factor = 1e-4
[../]
[./temp_func]
type = PiecewiseLinear
xy_data = '0 1
1 2'
[../]
[]
[Postprocessors]
[./disp_1]
type = NodalMaxValue
variable = disp_x
boundary = 101
[../]
[./disp_2]
type = NodalMaxValue
variable = disp_x
boundary = 102
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
l_max_its = 100
l_tol = 1e-4
nl_abs_tol = 1e-8
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 1.0
dt = 0.1
[]
[Outputs]
file_base = const_alpha_out
exodus = true
csv = true
[]
test/tests/postprocessors/nodal_pps/nodal_nodeset_pps_test.i
[Mesh]
file = block_nodeset.e
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[DiracKernels]
[./point_source_left]
type = ConstantPointSource
variable = u
value = 1.0
point = '0.2 0.2'
[../]
[./point_source_right]
type = ConstantPointSource
variable = u
value = 2.0
point = '0.8 0.8'
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 'left'
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 'right'
value = 0
[../]
[]
[Postprocessors]
# This postprocessor will search all nodes in the mesh since it isn't restricted to a nodeset
[./global_max_value]
type = NodalMaxValue
variable = u
[../]
# This postprocessor will only act on the specified nodeset so it will find a different max value
[./left_max_value]
type = NodalMaxValue
variable = u
boundary = 'left_side_nodes'
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/Terminator/terminator.i
###########################################################
# This is a test of the UserObject System. The
# Terminator UserObject executes independently after
# each solve and can terminate the solve early due to
# user-defined criteria. (Type: GeneralUserObject)
#
# @Requirement F6.40
###########################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 30
ny = 6
xmin = -15.0
xmax = 15.0
ymin = -3.0
ymax = 3.0
elem_type = QUAD4
[]
[Variables]
[./c]
order = FIRST
family = LAGRANGE
initial_condition = 1
[../]
[]
[Postprocessors]
[./max_c]
type = NodalMaxValue
variable = c
execute_on = 'initial timestep_end'
[../]
[]
[UserObjects]
[./arnold]
type = Terminator
expression = 'max_c < 0.5'
[../]
[]
[Kernels]
[./cres]
type = Diffusion
variable = c
[../]
[./time]
type = TimeDerivative
variable = c
[../]
[]
[BCs]
[./c]
type = DirichletBC
variable = c
boundary = left
value = 0
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
dt = 100
num_steps = 6
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/dynamics/rayleigh_damping/rayleigh_hht.i
# Test for rayleigh damping implemented using HHT time integration
#
# The test is for an 1D bar element of unit length fixed on one end
# with a ramped pressure boundary condition applied to the other end.
# zeta and eta correspond to the stiffness and mass proportional rayleigh damping
# alpha, beta and gamma are HHT time integration parameters
# The equation of motion in terms of matrices is:
#
# M*accel + (eta*M+zeta*K)*[(1+alpha)vel-alpha vel_old]
# + alpha*(K*disp - K*disp_old) + K*disp = P(t+alpha dt)*Area
#
# Here M is the mass matrix, K is the stiffness matrix, P is the applied pressure
#
# This equation is equivalent to:
#
# density*accel + eta*density*[(1+alpha)vel-alpha vel_old]
# + zeta*[(1+alpha)*d/dt(Div stress)- alpha*d/dt(Div stress_old)]
# + alpha *(Div stress - Div stress_old) +Div Stress= P(t+alpha dt)
#
# The first two terms on the left are evaluated using the Inertial force kernel
# The next three terms on the left involving zeta and alpha are evaluated using
# the DynamicStressDivergenceTensors Kernel
# The residual due to Pressure is evaluated using Pressure boundary condition
#
# The system will come to steady state slowly after the pressure becomes constant.
# Alpha equal to zero will result in Newmark integration.
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0.0
xmax = 0.1
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
zeta = 0.1
alpha = 0.11
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
eta=0.1
alpha = 0.11
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
eta=0.1
alpha = 0.11
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
eta = 0.1
alpha = 0.11
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 0
index_j = 1
[../]
[./strain_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = strain_yy
index_i = 0
index_j = 1
[../]
[]
[BCs]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = top
value=0.0
[../]
[./top_x]
type = DirichletBC
variable = disp_x
boundary = top
value=0.0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value=0.0
[../]
[./bottom_x]
type = DirichletBC
variable = disp_x
boundary = bottom
value=0.0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value=0.0
[../]
[./Pressure]
[./Side1]
boundary = bottom
function = pressure
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
factor = 1
alpha = 0.11
[../]
[../]
[]
[Materials]
[./Elasticity_tensor]
type = ComputeElasticityTensor
block = 0
fill_method = symmetric_isotropic
C_ijkl = '210e9 0'
[../]
[./strain]
type = ComputeSmallStrain
block = 0
displacements = 'disp_x disp_y disp_z'
[../]
[./stress]
type = ComputeLinearElasticStress
block = 0
[../]
[./density]
type = GenericConstantMaterial
block = 0
prop_names = 'density'
prop_values = '7750'
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 2
dt = 0.1
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0.0 0.1 0.2 1.0 2.0 5.0'
y = '0.0 0.1 0.2 1.0 1.0 1.0'
scale_factor = 1e9
[../]
[]
[Postprocessors]
[./_dt]
type = TimestepSize
[../]
[./disp]
type = NodalMaxValue
variable = disp_y
boundary = bottom
[../]
[./vel]
type = NodalMaxValue
variable = vel_y
boundary = bottom
[../]
[./accel]
type = NodalMaxValue
variable = accel_y
boundary = bottom
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./strain_yy]
type = ElementAverageValue
variable = strain_yy
[../]
[]
[Outputs]
exodus = true
perf_graph = true
[]
modules/tensor_mechanics/test/tests/dynamics/time_integration/newmark_test.i
# Test for Newmark time integration
# The test is for an 1D bar element of unit length fixed on one end
# with a ramped pressure boundary condition applied to the other end.
# beta and gamma are Newmark time integration parameters
# The equation of motion in terms of matrices is:
#
# M*accel + K*disp = P*Area
#
# Here M is the mass matrix, K is the stiffness matrix, P is the applied pressure
#
# This equation is equivalent to:
#
# density*accel + Div Stress = P
#
# The first term on the left is evaluated using the Inertial force kernel
# The last term on the left is evaluated using StressDivergenceTensors
# The residual due to Pressure is evaluated using Pressure boundary condition
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0.0
xmax = 0.1
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./TensorMechanics]
displacements = 'disp_x disp_y disp_z'
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 0
index_j = 1
[../]
[./strain_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = strain_yy
index_i = 0
index_j = 1
[../]
[]
[BCs]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = top
value=0.0
[../]
[./top_x]
type = DirichletBC
variable = disp_x
boundary = top
value=0.0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value=0.0
[../]
[./bottom_x]
type = DirichletBC
variable = disp_x
boundary = bottom
value=0.0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value=0.0
[../]
[./Pressure]
[./Side1]
boundary = bottom
function = pressure
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
factor = 1
[../]
[../]
[]
[Materials]
[./Elasticity_tensor]
type = ComputeElasticityTensor
block = 0
fill_method = symmetric_isotropic
C_ijkl = '210e9 0'
[../]
[./strain]
type = ComputeSmallStrain
block = 0
displacements = 'disp_x disp_y disp_z'
[../]
[./stress]
type = ComputeLinearElasticStress
block = 0
[../]
[./density]
type = GenericConstantMaterial
block = 0
prop_names = 'density'
prop_values = '7750'
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 2
dt = 0.1
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0.0 0.1 0.2 1.0 2.0 5.0'
y = '0.0 0.1 0.2 1.0 1.0 1.0'
scale_factor = 1e9
[../]
[]
[Postprocessors]
[./_dt]
type = TimestepSize
[../]
[./disp]
type = NodalMaxValue
variable = disp_y
boundary = bottom
[../]
[./vel]
type = NodalMaxValue
variable = vel_y
boundary = bottom
[../]
[./accel]
type = NodalMaxValue
variable = accel_y
boundary = bottom
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./strain_yy]
type = ElementAverageValue
variable = strain_yy
[../]
[]
[Outputs]
exodus = true
perf_graph = true
[]
modules/tensor_mechanics/test/tests/dynamics/time_integration/hht_test_ti.i
# Test for HHT time integration
# The test is for an 1D bar element of unit length fixed on one end
# with a ramped pressure boundary condition applied to the other end.
# alpha, beta and gamma are HHT time integration parameters
# The equation of motion in terms of matrices is:
#
# M*accel + alpha*(K*disp - K*disp_old) + K*disp = P(t+alpha dt)*Area
#
# Here M is the mass matrix, K is the stiffness matrix, P is the applied pressure
#
# This equation is equivalent to:
#
# density*accel + alpha*(Div stress - Div stress_old) +Div Stress= P(t+alpha dt)
#
# The first term on the left is evaluated using the Inertial force kernel
# The next two terms on the left involving alpha are evaluated using the
# DynamicStressDivergenceTensors Kernel
# The residual due to Pressure is evaluated using Pressure boundary condition
#
# The system will come to steady state slowly after the pressure becomes constant.
# Alpha equal to zero will result in Newmark integration.
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0.0
xmax = 0.1
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
alpha = 0.11
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
[../]
[]
[AuxKernels]
[./accel_x] # These auxkernls are only for checking output
type = TestNewmarkTI
displacement = disp_x
variable = accel_x
first = false
[../]
[./accel_y]
type = TestNewmarkTI
displacement = disp_y
variable = accel_y
first = false
[../]
[./accel_z]
type = TestNewmarkTI
displacement = disp_z
variable = accel_z
first = false
[../]
[./vel_x]
type = TestNewmarkTI
displacement = disp_x
variable = vel_x
[../]
[./vel_y]
type = TestNewmarkTI
displacement = disp_y
variable = vel_y
[../]
[./vel_z]
type = TestNewmarkTI
displacement = disp_z
variable = vel_z
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 0
index_j = 1
[../]
[./strain_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = strain_yy
index_i = 0
index_j = 1
[../]
[]
[BCs]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = top
value=0.0
[../]
[./top_x]
type = DirichletBC
variable = disp_x
boundary = top
value=0.0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value=0.0
[../]
[./bottom_x]
type = DirichletBC
variable = disp_x
boundary = bottom
value=0.0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value=0.0
[../]
[./Pressure]
[./Side1]
boundary = bottom
function = pressure
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
factor = 1
alpha = 0.11
[../]
[../]
[]
[Materials]
[./Elasticity_tensor]
type = ComputeElasticityTensor
block = 0
fill_method = symmetric_isotropic
C_ijkl = '210e9 0'
[../]
[./strain]
type = ComputeSmallStrain
block = 0
displacements = 'disp_x disp_y disp_z'
[../]
[./stress]
type = ComputeLinearElasticStress
block = 0
[../]
[./density]
type = GenericConstantMaterial
block = 0
prop_names = 'density'
prop_values = '7750'
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 2
dt = 0.1
# Time integration scheme
scheme = 'newmark-beta'
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0.0 0.1 0.2 1.0 2.0 5.0'
y = '0.0 0.1 0.2 1.0 1.0 1.0'
scale_factor = 1e9
[../]
[]
[Postprocessors]
[./_dt]
type = TimestepSize
[../]
[./disp]
type = NodalMaxValue
variable = disp_y
boundary = bottom
[../]
[./vel]
type = NodalMaxValue
variable = vel_y
boundary = bottom
[../]
[./accel]
type = NodalMaxValue
variable = accel_y
boundary = bottom
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./strain_yy]
type = ElementAverageValue
variable = strain_yy
[../]
[]
[Outputs]
file_base = 'hht_test_out'
exodus = true
perf_graph = true
[]
modules/solid_mechanics/test/tests/volumetric_eigenstrain/volumetric_eigenstrain.i
# This tests the ability of the SolidMechanics system to exactly recover
# a specified volumetric expansion.
# This model applies volumetric strain that ramps from 0 to 2 to a unit cube
# and computes the final volume, which should be exactly 3. Note that the default
# Taylor expansion option for increment_calculation gives a small (~4%) error
# with this very large incremental strain, but increment_calculation = Eigen
# gives the exact solution.
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./volumetric_strain]
order = CONSTANT
family = MONOMIAL
[../]
[./temp]
initial_condition = 0
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
[../]
[]
[AuxKernels]
[./volumetric_strain]
type = MaterialTensorAux
tensor = total_strain
variable = volumetric_strain
quantity = VolumetricStrain
[../]
[./temp]
type = FunctionAux
variable = temp
function = pres_temp
[../]
[]
[Functions]
[pres_temp]
type = PiecewiseLinear
# Because SolidMechanics does not offer a way to directly prescribe the
# volumetric eigenstrain, we do this by prescribing a thermal strain. The
# CTE of the material is set to 1, so the numbers here are the linear strains
# that are applied. The engineering linear strains that give a volumetric
# strain equal to 1 at time 1 and 2 at time 2 are commented out below. These
# are converted to log strains as log(1+linear_strain):
xy_data = '0 0
1 0.23104906018664598
2 0.3662040962227044'
# Linear strains that these are computed from:
# xy_data = '0 0
# 1 0.25992104989487
# 2 0.44224957030741'
[]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = back
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = Elastic
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
increment_calculation = Eigen
block = 0
thermal_expansion = 1.0
stress_free_temperature = 0.0
temp = temp
[../]
[]
[Postprocessors]
[./vol]
type = VolumePostprocessor
use_displaced_mesh = true
execute_on = 'initial timestep_end'
[../]
[./volumetric_strain]
type = ElementalVariableValue
variable = volumetric_strain
elementid = 0
[../]
[./disp_right]
type = NodalMaxValue
variable = disp_x
boundary = right
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
l_max_its = 100
l_tol = 1e-4
nl_abs_tol = 1e-8
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 2.0
dt = 1.0
[]
[Outputs]
exodus = true
csv = true
[]
modules/tensor_mechanics/test/tests/volumetric_eigenstrain/volumetric_mechanical.i
# This test ensures that the reported volumetric strain for a cube with
# mechanically imposed displacements (through Dirichlet BCs) exactly
# matches that from a version of this test that experiences the same
# defomation, but due to imposed eigenstrains.
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./volumetric_strain]
order = CONSTANT
family = MONOMIAL
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Modules/TensorMechanics/Master]
[./master]
use_displaced_mesh = true
strain = FINITE
decomposition_method = EigenSolution #Necessary for exact solution
[../]
[]
[AuxKernels]
[./volumetric_strain]
type = RankTwoScalarAux
scalar_type = VolumetricStrain
rank_two_tensor = total_strain
variable = volumetric_strain
[../]
[]
[Functions]
[pres_disp]
type = PiecewiseLinear
# These values are taken from the displacements in the eigenstrain
# version of this test. The volume of the cube (which starts out as
# a 1x1x1 cube) is (1 + disp)^3. At time 2, this is
# (1.44224957030741)^3, which is 3.0.
xy_data = '0 0
1 0.25992104989487
2 0.44224957030741'
[]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = back
value = 0.0
[../]
[./right]
type = FunctionPresetBC
variable = disp_x
boundary = right
function = pres_disp
[../]
[./top]
type = FunctionPresetBC
variable = disp_y
boundary = top
function = pres_disp
[../]
[./front]
type = FunctionPresetBC
variable = disp_z
boundary = front
function = pres_disp
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./finite_strain_stress]
type = ComputeFiniteStrainElasticStress
[../]
[./volumetric_change]
type = GenericFunctionMaterial
prop_names = volumetric_change
prop_values = t
[../]
[]
[Postprocessors]
[./vol]
type = VolumePostprocessor
use_displaced_mesh = true
execute_on = 'initial timestep_end'
[../]
[./volumetric_strain]
type = ElementalVariableValue
variable = volumetric_strain
elementid = 0
[../]
[./disp_right]
type = NodalMaxValue
variable = disp_x
boundary = right
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
l_max_its = 100
l_tol = 1e-4
nl_abs_tol = 1e-8
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 2.0
dt = 1.0
[]
[Outputs]
exodus = true
csv = true
[]
test/tests/postprocessors/nodal_pps/nodal_max_pps_test.i
[Mesh]
file = trapezoid.e
uniform_refine = 1
# This test will not work in parallel with DistributedMesh enabled
# due to a bug in PeriodicBCs.
parallel_type = replicated
[]
[Functions]
active = '
tr_x tr_y
itr_x itr_y'
[./tr_x]
type = ParsedFunction
value = -x*cos(pi/3)
[../]
[./tr_y]
type = ParsedFunction
value = x*sin(pi/3)
[../]
[./itr_x]
type = ParsedFunction
value = -x/cos(pi/3)
[../]
[./itr_y]
type = ParsedFunction
value = 0
[../]
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
active = 'diff forcing dot'
[./diff]
type = Diffusion
variable = u
[../]
[./forcing]
type = GaussContForcing
variable = u
x_center = 2
y_center = -1
x_spread = 0.25
y_spread = 0.5
[../]
[./dot]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
#active = ' '
[./Periodic]
[./x]
primary = 1
secondary = 4
transform_func = 'tr_x tr_y'
inv_transform_func = 'itr_x itr_y'
[../]
[../]
[]
[Postprocessors]
[./max_nodal_pps]
type = NodalMaxValue
variable = u
block = ANY_BLOCK_ID
[../]
[./max_node_id]
type = NodalProxyMaxValue
variable = u
block = ANY_BLOCK_ID
[../]
[]
[Executioner]
type = Transient
dt = 0.5
num_steps = 6
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
modules/combined/test/tests/solid_mechanics/Rayleigh_damping/HHT_time_integration/Rayleigh_HHT.i
# Test for rayleigh damping implemented using HHT time integration
#
# The test is for an 1-D bar element of unit length fixed on one end
# with a ramped pressure boundary condition applied to the other end.
# zeta and eta correspond to the stiffness and mass proportional
# rayleigh damping alpha, beta and gamma are HHT time integration
# parameters The equation of motion in terms of matrices is:
#
# M*accel + (eta*M+zeta*K)*[(1+alpha)vel-alpha vel_old]
# + alpha*(K*disp - K*disp_old) + K*disp = P(t+alpha dt)*Area
#
# Here M is the mass matrix, K is the stiffness matrix, P is the applied pressure
#
# This equation is equivalent to:
#
# density*accel + eta*density*[(1+alpha)vel-alpha vel_old] +
# zeta*[(1+alpha)*d/dt(Div stress)- alpha*d/dt(Div stress_old)] +
# alpha *(Div stress - Div stress_old) +Div Stress= P(t+alpha dt)
#
# The first two terms on the left are evaluated using the Inertial
# force kernel The next three terms on the left involving zeta and
# alpha are evaluated using the StressDivergence Kernel The residual
# due to Pressure is evaluated using Pressure boundary condition
#
# The system will come to steady state slowly after the pressure
# becomes constant. Alpha equal to zero will result in Newmark
# integration.
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0.0
xmax = 0.1
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
eta=0.1
[../]
[./stiffness_x]
type = StressDivergence
variable = disp_x
component = 0
zeta = 0.1
alpha = 0.11
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
eta=0.1
[../]
[./stiffness_y]
type = StressDivergence
variable = disp_y
component = 1
zeta = 0.1
alpha = 0.11
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
eta = 0.1
[../]
[./stiffness_z]
type = StressDivergence
variable = disp_z
component = 2
zeta = 0.1
alpha = 0.11
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./stress_yy]
type = MaterialTensorAux
variable = stress_yy
tensor = stress
index = 1
[../]
[./strain_yy]
type = MaterialTensorAux
variable = strain_yy
tensor = total_strain
index = 1
[../]
[]
[BCs]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = top
value=0.0
[../]
[./top_x]
type = DirichletBC
variable = disp_x
boundary = top
value=0.0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value=0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = right
value=0.0
[../]
[./right_z]
type = DirichletBC
variable = disp_z
boundary = right
value=0.0
[../]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = left
value=0.0
[../]
[./left_z]
type = DirichletBC
variable = disp_z
boundary = left
value=0.0
[../]
[./front_x]
type = DirichletBC
variable = disp_x
boundary = front
value=0.0
[../]
[./front_z]
type = DirichletBC
variable = disp_z
boundary = front
value=0.0
[../]
[./back_x]
type = DirichletBC
variable = disp_x
boundary = back
value=0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = back
value=0.0
[../]
[./bottom_x]
type = DirichletBC
variable = disp_x
boundary = bottom
value=0.0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value=0.0
[../]
[./Pressure]
[./Side1]
boundary = bottom
function = pressure
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
factor = 1
alpha = 0.11
[../]
[../]
[]
[Materials]
[./constant]
type = Elastic
block = 0
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
youngs_modulus = 210e+09
poissons_ratio = 0
thermal_expansion = 0
[../]
[./density]
type = GenericConstantMaterial
block = 0
prop_names = 'density'
prop_values = '7750'
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 2
dtmax = 0.1
dtmin = 0.1
[./TimeStepper]
type = ConstantDT
dt = 0.1
[../]
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0.0 0.1 0.2 1.0 2.0 5.0'
y = '0.0 0.1 0.2 1.0 1.0 1.0'
scale_factor = 1e9
[../]
[./vel_ic]
type = PiecewiseLinear
x = '0.0 0.5 1.0'
y = '0.1 0.1 0.1'
scale_factor = 1
[../]
[]
[Postprocessors]
[./_dt]
type = TimestepSize
[../]
[./disp]
type = NodalMaxValue
variable = disp_y
boundary = bottom
[../]
[./vel]
type = NodalMaxValue
variable = vel_y
boundary = bottom
[../]
[./accel]
type = NodalMaxValue
variable = accel_y
boundary = bottom
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./strain_yy]
type = ElementAverageValue
variable = strain_yy
[../]
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/solid_mechanics/Time_integration/Newmark_time_integration/Newmark_test.i
# Test for Newmark time integration
#
# The test is for an 1-D bar element of unit length fixed on one end
# with a ramped pressure boundary condition applied to the other end.
# beta and gamma are Newmark time integration parameters The equation
# of motion in terms of matrices is:
#
# M*accel + K*disp = P*Area
#
# Here M is the mass matrix, K is the stiffness matrix, P is the applied pressure
#
# This equation is equivalent to:
#
# density*accel + Div Stress = P
#
# The first term on the left is evaluated using the Inertial force
# kernel The last term on the left is evaluated using StressDivergence
# Kernel The residual due to Pressure is evaluated using Pressure
# boundary condition
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0.0
xmax = 0.1
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
[../]
[./stiffness_x]
type = StressDivergence
variable = disp_x
component = 0
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
[../]
[./stiffness_y]
type = StressDivergence
variable = disp_y
component = 1
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
[../]
[./stiffness_z]
type = StressDivergence
variable = disp_z
component = 2
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./stress_yy]
type = MaterialTensorAux
variable = stress_yy
tensor = stress
index = 1
[../]
[./strain_yy]
type = MaterialTensorAux
variable = strain_yy
tensor = total_strain
index = 1
[../]
[]
[BCs]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = top
value=0.0
[../]
[./top_x]
type = DirichletBC
variable = disp_x
boundary = top
value=0.0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value=0.0
[../]
[./bottom_x]
type = DirichletBC
variable = disp_x
boundary = bottom
value=0.0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value=0.0
[../]
[./Pressure]
[./Side1]
boundary = bottom
function = pressure
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
factor = 1
[../]
[../]
[]
[Materials]
[./constant]
type = Elastic
block = 0
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
youngs_modulus = 210e+09
poissons_ratio = 0
thermal_expansion = 0
[../]
[./density]
type = GenericConstantMaterial
block = 0
prop_names = 'density'
prop_values = '7750'
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 2
dtmax = 0.1
dtmin = 0.1
[./TimeStepper]
type = ConstantDT
dt = 0.1
[../]
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0.0 0.1 0.2 1.0 2.0 5.0'
y = '0.0 0.1 0.2 1.0 1.0 1.0'
scale_factor = 1e9
[../]
[./vel_ic]
type = PiecewiseLinear
x = '0.0 0.5 1.0'
y = '0.1 0.1 0.1'
scale_factor = 1
[../]
[]
[Postprocessors]
[./_dt]
type = TimestepSize
[../]
[./disp]
type = NodalMaxValue
variable = disp_y
boundary = bottom
[../]
[./vel]
type = NodalMaxValue
variable = vel_y
boundary = bottom
[../]
[./accel]
type = NodalMaxValue
variable = accel_y
boundary = bottom
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./strain_yy]
type = ElementAverageValue
variable = strain_yy
[../]
[]
[Outputs]
exodus = true
[]
test/tests/misc/check_error/double_restrict_uo.i
[Mesh]
file = sq-2blk.e
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = 1
[../]
[./v]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[]
[BCs]
[./left_u]
type = DirichletBC
variable = u
boundary = 6
value = 0
[../]
[./right_u]
type = NeumannBC
variable = u
boundary = 8
value = 4
[../]
[./left_v]
type = DirichletBC
variable = v
boundary = 6
value = 1
[../]
[./right_v]
type = DirichletBC
variable = v
boundary = 3
value = 6
[../]
[]
[Postprocessors]
# This test demonstrates that you can have a block restricted NodalPostprocessor
[./restricted_max]
type = NodalMaxValue
variable = v
block = 1 # Block restricted
boundary = 1 # Boundary restricted
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/dynamics/time_integration/hht_test.i
# Test for HHT time integration
# The test is for an 1D bar element of unit length fixed on one end
# with a ramped pressure boundary condition applied to the other end.
# alpha, beta and gamma are HHT time integration parameters
# The equation of motion in terms of matrices is:
#
# M*accel + alpha*(K*disp - K*disp_old) + K*disp = P(t+alpha dt)*Area
#
# Here M is the mass matrix, K is the stiffness matrix, P is the applied pressure
#
# This equation is equivalent to:
#
# density*accel + alpha*(Div stress - Div stress_old) +Div Stress= P(t+alpha dt)
#
# The first term on the left is evaluated using the Inertial force kernel
# The next two terms on the left involving alpha are evaluated using the
# DynamicStressDivergenceTensors Kernel
# The residual due to Pressure is evaluated using Pressure boundary condition
#
# The system will come to steady state slowly after the pressure becomes constant.
# Alpha equal to zero will result in Newmark integration.
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0.0
xmax = 0.1
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
alpha = 0.11
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 0
index_j = 1
[../]
[./strain_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = strain_yy
index_i = 0
index_j = 1
[../]
[]
[BCs]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = top
value=0.0
[../]
[./top_x]
type = DirichletBC
variable = disp_x
boundary = top
value=0.0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value=0.0
[../]
[./bottom_x]
type = DirichletBC
variable = disp_x
boundary = bottom
value=0.0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value=0.0
[../]
[./Pressure]
[./Side1]
boundary = bottom
function = pressure
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
factor = 1
alpha = 0.11
[../]
[../]
[]
[Materials]
[./Elasticity_tensor]
type = ComputeElasticityTensor
block = 0
fill_method = symmetric_isotropic
C_ijkl = '210e9 0'
[../]
[./strain]
type = ComputeSmallStrain
block = 0
displacements = 'disp_x disp_y disp_z'
[../]
[./stress]
type = ComputeLinearElasticStress
block = 0
[../]
[./density]
type = GenericConstantMaterial
block = 0
prop_names = 'density'
prop_values = '7750'
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 2
dt = 0.1
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0.0 0.1 0.2 1.0 2.0 5.0'
y = '0.0 0.1 0.2 1.0 1.0 1.0'
scale_factor = 1e9
[../]
[]
[Postprocessors]
[./_dt]
type = TimestepSize
[../]
[./disp]
type = NodalMaxValue
variable = disp_y
boundary = bottom
[../]
[./vel]
type = NodalMaxValue
variable = vel_y
boundary = bottom
[../]
[./accel]
type = NodalMaxValue
variable = accel_y
boundary = bottom
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./strain_yy]
type = ElementAverageValue
variable = strain_yy
[../]
[]
[Outputs]
exodus = true
perf_graph = true
[]
test/tests/postprocessors/nodal_max_value/nodal_max_value_test.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 20
ny = 20
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = (sin(pi*t))
[../]
[./forcing_fn]
type = ParsedFunction
value = sin(pi*t)
[../]
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
active = 'diff' #ffn'
[./ie]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = exact_fn
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
dt = 0.1
start_time = 0
num_steps = 20
[]
[Postprocessors]
[./max_nodal_val]
type = NodalMaxValue
variable = u
[../]
[]
[Outputs]
file_base = out_nodal_max
exodus = true
[]
modules/tensor_mechanics/test/tests/dynamics/rayleigh_damping/rayleigh_newmark.i
# Test for rayleigh damping implemented using Newmark time integration
# The test is for an 1D bar element of unit length fixed on one end
# with a ramped pressure boundary condition applied to the other end.
# zeta and eta correspond to the stiffness and mass proportional rayleigh damping
# beta and gamma are Newmark time integration parameters
# The equation of motion in terms of matrices is:
#
# M*accel + eta*M*vel + zeta*K*vel + K*disp = P*Area
#
# Here M is the mass matrix, K is the stiffness matrix, P is the applied pressure
#
# This equation is equivalent to:
#
# density*accel + eta*density*vel + zeta*d/dt(Div stress) + Div stress = P
#
# The first two terms on the left are evaluated using the Inertial force kernel
# The next two terms on the left involving zeta are evaluated using the
# DynamicStressDivergenceTensors Kernel
# The residual due to Pressure is evaluated using Pressure boundary condition
#
# The system will come to steady state slowly after the pressure becomes constant.
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0.0
xmax = 0.1
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.1
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./vel_x]
[../]
[./accel_x]
[../]
[./vel_y]
[../]
[./accel_y]
[../]
[./vel_z]
[../]
[./accel_z]
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./DynamicTensorMechanics]
displacements = 'disp_x disp_y disp_z'
zeta = 0.1
[../]
[./inertia_x]
type = InertialForce
variable = disp_x
velocity = vel_x
acceleration = accel_x
beta = 0.25
gamma = 0.5
eta=0.1
[../]
[./inertia_y]
type = InertialForce
variable = disp_y
velocity = vel_y
acceleration = accel_y
beta = 0.25
gamma = 0.5
eta=0.1
[../]
[./inertia_z]
type = InertialForce
variable = disp_z
velocity = vel_z
acceleration = accel_z
beta = 0.25
gamma = 0.5
eta = 0.1
[../]
[]
[AuxKernels]
[./accel_x]
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
beta = 0.25
execute_on = timestep_end
[../]
[./vel_x]
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
beta = 0.25
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
gamma = 0.5
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
beta = 0.25
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
gamma = 0.5
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 0
index_j = 1
[../]
[./strain_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = strain_yy
index_i = 0
index_j = 1
[../]
[]
[BCs]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = top
value=0.0
[../]
[./top_x]
type = DirichletBC
variable = disp_x
boundary = top
value=0.0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value=0.0
[../]
[./bottom_x]
type = DirichletBC
variable = disp_x
boundary = bottom
value=0.0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value=0.0
[../]
[./Pressure]
[./Side1]
boundary = bottom
function = pressure
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
factor = 1
[../]
[../]
[]
[Materials]
[./Elasticity_tensor]
type = ComputeElasticityTensor
block = 0
fill_method = symmetric_isotropic
C_ijkl = '210e9 0'
[../]
[./strain]
type = ComputeSmallStrain
block = 0
displacements = 'disp_x disp_y disp_z'
[../]
[./stress]
type = ComputeLinearElasticStress
block = 0
[../]
[./density]
type = GenericConstantMaterial
block = 0
prop_names = 'density'
prop_values = '7750'
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 2
dt = 0.1
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0.0 0.1 0.2 1.0 2.0 5.0'
y = '0.0 0.1 0.2 1.0 1.0 1.0'
scale_factor = 1e9
[../]
[]
[Postprocessors]
[./_dt]
type = TimestepSize
[../]
[./disp]
type = NodalMaxValue
variable = disp_y
boundary = bottom
[../]
[./vel]
type = NodalMaxValue
variable = vel_y
boundary = bottom
[../]
[./accel]
type = NodalMaxValue
variable = accel_y
boundary = bottom
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./strain_yy]
type = ElementAverageValue
variable = strain_yy
[../]
[]
[Outputs]
exodus = true
perf_graph = true
[]
modules/solid_mechanics/test/tests/thermal_expansion_function/thermal_expansion_function_linear_alpha_test.i
# This tests the thermal expansion coefficient function using both
# options to specify that function: mean and instantaneous. There
# two blocks, each containing a single element, and these use the
# two variants of the function.
# In this test, the instantaneous CTE function is a linear function
# while the mean CTE function is an analytic function designed to
# give the same response. If \bar{alpha}(T) is the mean CTE function,
# and \alpha(T) is the instantaneous CTE function,
# \bar{\alpha}(T) = 1/(T-Tref) \intA^{T}_{Tsf} \alpha(T) dT
# where Tref is the reference temperature used to define the mean CTE
# function, and Tsf is the stress-free temperature.
# The two models produce very similar results. There are slight
# differences due to the large deformation treatment.
[Mesh]
file = 'blocks.e'
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[./disp_z]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./temp]
order = FIRST
family = LAGRANGE
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = 3
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = 1
value = 0.0
[../]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
block = '1 2'
function = temp_func
[../]
[]
[Materials]
[./mean_alpha]
type = Elastic
block = 1
youngs_modulus = 1e6
poissons_ratio = .3
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
thermal_expansion_function = cte_func_mean
stress_free_temperature = 0.0
thermal_expansion_reference_temperature = 0.5
thermal_expansion_function_type = mean
[../]
[./inst_alpha]
type = Elastic
block = 2
youngs_modulus = 1e6
poissons_ratio = .3
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
thermal_expansion_function = cte_func_inst
stress_free_temperature = 0.0
thermal_expansion_function_type = instantaneous
[../]
[]
[Functions]
[./cte_func_mean]
type = ParsedFunction
vars = 'tsf tref scale' #stress free temp, reference temp, scale factor
vals = '0.0 0.5 1e-4'
value = 'scale * (0.5 * t^2 - 0.5 * tsf^2) / (t - tref)'
[../]
[./cte_func_inst]
type = PiecewiseLinear
xy_data = '0 0.0
2 2.0'
scale_factor = 1e-4
[../]
[./temp_func]
type = PiecewiseLinear
xy_data = '0 1
1 2'
[../]
[]
[Postprocessors]
[./disp_1]
type = NodalMaxValue
variable = disp_x
boundary = 101
[../]
[./disp_2]
type = NodalMaxValue
variable = disp_x
boundary = 102
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
l_max_its = 100
l_tol = 1e-4
nl_abs_tol = 1e-8
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 1.0
dt = 0.1
[]
[Outputs]
file_base = linear_alpha_out
exodus = true
csv = true
[]