- file_baseThe desired solution output name without an extension. If not provided, MOOSE sets it with Outputs/file_base when available. Otherwise, MOOSE uses input file name and this object name for a master input or uses master file_base, the subapp name and this object name for a subapp input to set it.
C++ Type:std::string
Description:The desired solution output name without an extension. If not provided, MOOSE sets it with Outputs/file_base when available. Otherwise, MOOSE uses input file name and this object name for a master input or uses master file_base, the subapp name and this object name for a subapp input to set it.
Console
The Console object in MOOSE is a buffered ostringstream object that should be used to for all screen based output. Each MooseObject derived class has access to the _console member for screen writing. Output to this object can be controlled in various ways from the [Outputs]
block. Information can be disabled, output at a lower frequency, colored, or color removed.
Multiapp Output
When using the MOOSE Multiapp system, Output to the _console object will be automatically indented and labeled according to the multiapp level. This can make it easier to identify where output is coming from in a more complex simulation.
Input Parameters
- additional_execute_onThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, FAILED, CUSTOM.
C++ Type:ExecFlagEnum
Options:NONE INITIAL LINEAR NONLINEAR TIMESTEP_END TIMESTEP_BEGIN FINAL FAILED 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, FAILED, CUSTOM.
- append_dateFalseWhen true the date and time are appended to the output filename.
Default:False
C++ Type:bool
Options:
Description:When true the date and time are appended to the output filename.
- append_date_formatThe format of the date/time to append, if not given UTC format is used (see http://www.cplusplus.com/reference/ctime/strftime).
C++ Type:std::string
Options:
Description:The format of the date/time to append, if not given UTC format is used (see http://www.cplusplus.com/reference/ctime/strftime).
- append_restartFalseAppend existing file on restart
Default:False
C++ Type:bool
Options:
Description:Append existing file on restart
- end_stepTime step at which this output object stop operating
C++ Type:int
Options:
Description:Time step at which this output object stop operating
- execute_onINITIAL TIMESTEP_BEGIN LINEAR NONLINEAR FAILEDThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, FAILED, CUSTOM.
Default:INITIAL TIMESTEP_BEGIN LINEAR NONLINEAR FAILED
C++ Type:ExecFlagEnum
Options:NONE INITIAL LINEAR NONLINEAR TIMESTEP_END TIMESTEP_BEGIN FINAL FAILED 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, FAILED, CUSTOM.
- fit_modeENVIRONMENTSpecifies the wrapping mode for post-processor tables that are printed to the screen (ENVIRONMENT: Read "MOOSE_PPS_WIDTH" for desired width, AUTO: Attempt to determine width automatically (serial only),
: Desired width Default:ENVIRONMENT
C++ Type:MooseEnum
Options:ENVIRONMENT AUTO 80 120 160
Description:Specifies the wrapping mode for post-processor tables that are printed to the screen (ENVIRONMENT: Read "MOOSE_PPS_WIDTH" for desired width, AUTO: Attempt to determine width automatically (serial only),
: Desired width - new_row_tolerance1e-12The independent variable tolerance for determining when a new row should be added to the table (Note: This value must be set independently for Postprocessor output to type=Console and type=CSV file separately.
Default:1e-12
C++ Type:double
Options:
Description:The independent variable tolerance for determining when a new row should be added to the table (Note: This value must be set independently for Postprocessor output to type=Console and type=CSV file separately.
- output_fileFalseOutput to the file
Default:False
C++ Type:bool
Options:
Description:Output to the file
- output_linearFalseSpecifies whether output occurs on each linear residual evaluation
Default:False
C++ Type:bool
Options:
Description:Specifies whether output occurs on each linear residual evaluation
- output_nonlinearFalseSpecifies whether output occurs on each nonlinear residual evaluation
Default:False
C++ Type:bool
Options:
Description:Specifies whether output occurs on each nonlinear residual evaluation
- output_screenTrueOutput to the screen
Default:True
C++ Type:bool
Options:
Description:Output to the screen
- print_mesh_changed_infoFalseWhen true, each time the mesh is changed the mesh information is printed
Default:False
C++ Type:bool
Options:
Description:When true, each time the mesh is changed the mesh information is printed
- scientific_timeFalseControl the printing of time and dt in scientific notation
Default:False
C++ Type:bool
Options:
Description:Control the printing of time and dt in scientific notation
- start_stepTime step at which this output object begins to operate
C++ Type:int
Options:
Description:Time step at which this output object begins to operate
- time_columnTrueWhether or not the 'time' column should be written for Postprocessor CSV files
Default:True
C++ Type:bool
Options:
Description:Whether or not the 'time' column should be written for Postprocessor CSV files
- time_dataFalseWhen true and VecptorPostprocessor data exists, write a csv file containing the timestep and time information.
Default:False
C++ Type:bool
Options:
Description:When true and VecptorPostprocessor data exists, write a csv file containing the timestep and time information.
- time_precisionThe number of significant digits that are printed on time related outputs
C++ Type:unsigned int
Options:
Description:The number of significant digits that are printed on time related outputs
- use_displacedFalseEnable/disable the use of the displaced mesh for outputting
Default:False
C++ Type:bool
Options:
Description:Enable/disable the use of the displaced mesh for outputting
Optional Parameters
- all_variable_normsFalseIf true, all variable norms will be printed after each solve
Default:False
C++ Type:bool
Options:
Description:If true, all variable norms will be printed after each solve
- outlier_multiplier0.8 2 Multiplier utilized to determine if a residual norm is an outlier. If the variable residual is less than multiplier[0] times the total residual it is colored red. If the variable residual is less than multiplier[1] times the average residual it is colored yellow.
Default:0.8 2
C++ Type:std::vector
Options:
Description:Multiplier utilized to determine if a residual norm is an outlier. If the variable residual is less than multiplier[0] times the total residual it is colored red. If the variable residual is less than multiplier[1] times the average residual it is colored yellow.
- outlier_variable_normsTrueIf true, outlier variable norms will be printed after each solve
Default:True
C++ Type:bool
Options:
Description:If true, outlier variable norms will be printed after each solve
Norms Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector
Options:
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Options:
Description:Set the enabled status of the MooseObject.
- max_rows15The maximum number of postprocessor/scalar values displayed on screen during a timestep (set to 0 for unlimited)
Default:15
C++ Type:unsigned int
Options:
Description:The maximum number of postprocessor/scalar values displayed on screen during a timestep (set to 0 for unlimited)
- output_if_base_containsIf this is supplied then output will only be done in the case that the output base contains one of these strings. This is helpful in outputting only a subset of outputs when using MultiApps.
C++ Type:std::vector
Options:
Description:If this is supplied then output will only be done in the case that the output base contains one of these strings. This is helpful in outputting only a subset of outputs when using MultiApps.
- padding4The number of for extension suffix (e.g., out.e-s002)
Default:4
C++ Type:unsigned int
Options:
Description:The number of for extension suffix (e.g., out.e-s002)
- show_multiapp_nameFalseIndent multiapp output using the multiapp name
Default:False
C++ Type:bool
Options:
Description:Indent multiapp output using the multiapp name
- system_infoframework mesh aux nonlinear relationship executionList of information types to display ('framework', 'mesh', 'aux', 'nonlinear', 'relationship', 'execution', 'output')
Default:framework mesh aux nonlinear relationship execution
C++ Type:MultiMooseEnum
Options:framework mesh aux nonlinear relationship execution output
Description:List of information types to display ('framework', 'mesh', 'aux', 'nonlinear', 'relationship', 'execution', 'output')
- verboseFalsePrint detailed diagnostics on timestep calculation
Default:False
C++ Type:bool
Options:
Description:Print detailed diagnostics on timestep calculation
Advanced Parameters
- end_timeTime at which this output object stop operating
C++ Type:double
Options:
Description:Time at which this output object stop operating
- interval1The interval at which time steps are output to the solution file
Default:1
C++ Type:unsigned int
Options:
Description:The interval at which time steps are output to the solution file
- start_timeTime at which this output object begins to operate
C++ Type:double
Options:
Description:Time at which this output object begins to operate
- sync_onlyFalseOnly export results at sync times
Default:False
C++ Type:bool
Options:
Description:Only export results at sync times
- sync_timesTimes at which the output and solution is forced to occur
C++ Type:std::vector
Options:
Description:Times at which the output and solution is forced to occur
- time_tolerance1e-14Time tolerance utilized checking start and end times
Default:1e-14
C++ Type:double
Options:
Description:Time tolerance utilized checking start and end times
Timing Parameters
- execute_input_onEnable/disable the output of the input file
C++ Type:ExecFlagEnum
Options:NONE INITIAL LINEAR NONLINEAR TIMESTEP_END TIMESTEP_BEGIN FINAL FAILED CUSTOM
Description:Enable/disable the output of the input file
- execute_postprocessors_onINITIAL TIMESTEP_ENDControl of when postprocessors are output
Default:INITIAL TIMESTEP_END
C++ Type:ExecFlagEnum
Options:NONE INITIAL LINEAR NONLINEAR TIMESTEP_END TIMESTEP_BEGIN FINAL FAILED CUSTOM
Description:Control of when postprocessors are output
- execute_scalars_onINITIAL TIMESTEP_ENDControl the output of scalar variables
Default:INITIAL TIMESTEP_END
C++ Type:ExecFlagEnum
Options:NONE INITIAL LINEAR NONLINEAR TIMESTEP_END TIMESTEP_BEGIN FINAL FAILED CUSTOM
Description:Control the output of scalar variables
- execute_system_information_onINITIALControl when the output of the simulation information occurs
Default:INITIAL
C++ Type:ExecFlagEnum
Options:NONE INITIAL LINEAR NONLINEAR TIMESTEP_END TIMESTEP_BEGIN FINAL FAILED CUSTOM
Description:Control when the output of the simulation information occurs
- execute_vector_postprocessors_onINITIAL TIMESTEP_ENDEnable/disable the output of VectorPostprocessors
Default:INITIAL TIMESTEP_END
C++ Type:ExecFlagEnum
Options:NONE INITIAL LINEAR NONLINEAR TIMESTEP_END TIMESTEP_BEGIN FINAL FAILED CUSTOM
Description:Enable/disable the output of VectorPostprocessors
- hideA list of the variables and postprocessors that should NOT be output to the Exodus file (may include Variables, ScalarVariables, and Postprocessor names).
C++ Type:std::vector
Options:
Description:A list of the variables and postprocessors that should NOT be output to the Exodus file (may include Variables, ScalarVariables, and Postprocessor names).
- showA list of the variables and postprocessors that should be output to the Exodus file (may include Variables, ScalarVariables, and Postprocessor names).
C++ Type:std::vector
Options:
Description:A list of the variables and postprocessors that should be output to the Exodus file (may include Variables, ScalarVariables, and Postprocessor names).
Variables Parameters
- libmesh_logTruePrint the libMesh performance log, requires libMesh to be configured with --enable-perflog
Default:True
C++ Type:bool
Options:
Description:Print the libMesh performance log, requires libMesh to be configured with --enable-perflog
Performance Log Parameters
- linear_residual_dt_divisor1000Number of divisions applied to time step when outputting linear residuals
Default:1000
C++ Type:double
Options:
Description:Number of divisions applied to time step when outputting linear residuals
- linear_residual_end_timeSpecifies an end time to begin output on each linear residual evaluation
C++ Type:double
Options:
Description:Specifies an end time to begin output on each linear residual evaluation
- linear_residual_start_timeSpecifies a start time to begin output on each linear residual evaluation
C++ Type:double
Options:
Description:Specifies a start time to begin output on each linear residual evaluation
- nonlinear_residual_dt_divisor1000Number of divisions applied to time step when outputting non-linear residuals
Default:1000
C++ Type:double
Options:
Description:Number of divisions applied to time step when outputting non-linear residuals
- nonlinear_residual_end_timeSpecifies an end time to begin output on each nonlinear residual evaluation
C++ Type:double
Options:
Description:Specifies an end time to begin output on each nonlinear residual evaluation
- nonlinear_residual_start_timeSpecifies a start time to begin output on each nonlinear residual evaluation
C++ Type:double
Options:
Description:Specifies a start time to begin output on each nonlinear residual evaluation
Petsc Parameters
- solve_logFalseToggles the printing of the 'Moose Test Performance' log
Default:False
C++ Type:bool
Options:
Description:Toggles the printing of the 'Moose Test Performance' log
Perf Log Parameters
Input Files
- modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_force_step_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_aug.i
- modules/xfem/test/tests/second_order_elements/sm/square_branch_tri6_2d.i
- test/tests/time_integrators/actually_explicit_euler_verification/ee-2d-quadratic.i
- modules/phase_field/tutorials/spinodal_decomposition/s2_fasttest.i
- modules/xfem/test/tests/solid_mechanics_basic/square_branch_quad_2d.i
- modules/xfem/test/tests/solid_mechanics_basic/sm/penny_crack_cfp.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_3/cyl3_template1_sm.i
- test/tests/problems/eigen_problem/ipm.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/glued_kinematic_sm.i
- modules/phase_field/tutorials/spinodal_decomposition/s5_energycurve.i
- modules/combined/test/tests/inelastic_strain/elas_plas/elas_plas_nl1.i
- modules/combined/test/tests/gap_heat_transfer_htonly/sphere2DRZ.i
- modules/xfem/test/tests/single_var_constraint_2d/stationary_jump_func.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_1/plane1_template1.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_3/ring3_template1.i
- modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_change_restart2.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_2/plane2_mu_0_2_pen_sm.i
- modules/tensor_mechanics/test/tests/material_limit_time_step/elas_plas/nafems_nl1_lim.i
- modules/xfem/test/tests/moving_interface/phase_transition.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_4/brick4_mu_0_2_pen_sm.i
- modules/combined/test/tests/sliding_block/sliding/dirac/sm/frictionless_kinematic_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_4/brick4_template2.i
- modules/xfem/test/tests/pressure_bc/sm/2d_pressure_displaced_mesh.i
- test/tests/userobjects/toggle_mesh_adaptivity/toggle_mesh_adaptivity_gaussian_ic_stop_time.i
- test/tests/time_integrators/actually_explicit_euler_verification/ee-1d-quadratic.i
- modules/xfem/test/tests/solid_mechanics_basic/penny_crack_cfp.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_4/brick4_mu_0_2_pen.i
- modules/phase_field/examples/rigidbodymotion/AC_CH_Multigrain.i
- modules/combined/test/tests/sliding_block/sliding/constraint/sm/frictional_02_penalty_sm.i
- test/tests/multiapps/multilevel/time_dt_from_master_master.i
- modules/porous_flow/test/tests/sinks/s02.i
- modules/porous_flow/test/tests/sinks/s03.i
- modules/xfem/test/tests/corner_nodes_cut/corner_node_cut_twice.i
- test/tests/postprocessors/table_tolerance/table_tolerance_test.i
- modules/phase_field/examples/grain_growth/grain_growth_2D_graintracker.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_1/plane1_mu_0_2_pen.i
- modules/combined/test/tests/sliding_block/sliding/constraint/frictionless_kinematic.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/glued_penalty_dirac_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_2/plane2_template2_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_2/cyl2_template1_sm.i
- modules/porous_flow/test/tests/sinks/s09.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_4/ring4_mu_0_2_pen.i
- test/tests/userobjects/toggle_mesh_adaptivity/toggle_mesh_adaptivity_gaussian_ic.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/frictionless_kinematic_dirac.i
- modules/tensor_mechanics/examples/coal_mining/cosserat_mc_wp.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_3/cyl3_mu_0_2_pen_sm.i
- modules/combined/test/tests/sliding_block/in_and_out/constraint/sm/frictionless_kinematic_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_2/ring2_mu_0_2_pen.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_aug_sm.i
- modules/xfem/test/tests/moment_fitting/diffusion_moment_fitting_six_points.i
- modules/combined/test/tests/fieldsplit_contact/2blocks3d.i
- modules/xfem/test/tests/second_order_elements/diffusion_2d_quad9_test.i
- modules/xfem/test/tests/pressure_bc/edge_3d_pressure.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_template2.i
- modules/combined/test/tests/sliding_block/in_and_out/constraint/sm/frictional_04_penalty_sm.i
- test/tests/time_integrators/explicit-euler/ee-1d-linear.i
- modules/combined/test/tests/contact_verification/overclosure_removal/overclosure.i
- modules/combined/test/tests/sliding_block/sliding/dirac/frictional_04_penalty.i
- test/tests/userobjects/toggle_mesh_adaptivity/toggle_mesh_adaptivity.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_4/ring4_template2.i
- modules/porous_flow/test/tests/sinks/s01.i
- modules/combined/test/tests/frictional_contact/single_point_2d/single_point_2d.i
- test/tests/markers/two_circle_marker/two_circle_marker.i
- modules/xfem/test/tests/second_order_elements/diffusion_3d_hex27.i
- modules/combined/test/tests/contact_verification/hertz_cyl/quart_symm_q8/hertz_cyl_qsym_1deg_template1.i
- modules/xfem/test/tests/single_var_constraint_3d/stationary_jump_3d.i
- modules/xfem/test/tests/solid_mechanics_basic/sm/square_branch_quad_2d.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_2/cyl2_template2.i
- modules/combined/test/tests/sliding_block/sliding/constraint/sm/frictional_02_aug_sm.i
- modules/porous_flow/test/tests/sinks/s09_fully_saturated.i
- modules/richards/test/tests/pressure_pulse/pp_fu_lumped_22.i
- test/tests/problems/eigen_problem/gipm.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_3/brick3_mu_0_2_pen.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_4/cyl4_template1.i
- test/tests/multiapps/multilevel/time_dt_from_master_sub.i
- modules/combined/test/tests/frictional_contact/single_point_2d/sm/single_point_2d_predictor_sm.i
- modules/xfem/test/tests/bimaterials/inclusion_bimaterials_2d.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_3/plane3_mu_0_2_pen.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_4/brick4_template1_sm.i
- modules/xfem/test/tests/single_var_constraint_2d/stationary_fluxjump.i
- modules/phase_field/examples/measure_interface_energy/1Dinterface_energy.i
- modules/xfem/test/tests/diffusion_xfem/diffusion.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_3/ring3_mu_0_2_pen_sm.i
- test/tests/outputs/console/console_warning.i
- modules/xfem/test/tests/solid_mechanics_basic/square_branch_tri_2d.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_1/ring1_template2.i
- modules/xfem/test/tests/pressure_bc/2d_pressure_displaced_mesh.i
- modules/combined/test/tests/sliding_block/sliding/constraint/frictional_02_penalty.i
- modules/xfem/test/tests/corner_nodes_cut/sm/corner_node_cut.i
- modules/xfem/test/tests/second_order_elements/square_branch_tri6_2d.i
- modules/xfem/test/tests/solid_mechanics_basic/edge_crack_3d_propagation.i
- modules/combined/test/tests/sliding_block/in_and_out/constraint/frictionless_kinematic.i
- modules/xfem/test/tests/second_order_elements/sm/square_branch_quad9_2d.i
- modules/xfem/test/tests/solid_mechanics_basic/mesh_grow.i
- test/tests/outputs/format/pps_screen_out_warn.i
- modules/combined/test/tests/sliding_block/sliding/constraint/frictional_04_penalty.i
- modules/xfem/test/tests/second_order_elements/diffusion_3d_hex20.i
- modules/combined/test/tests/frictional_contact/sliding_elastic_blocks_2d/sm/sliding_elastic_blocks_2d_tp_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_3/plane3_template1.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_2/plane2_template2.i
- modules/combined/test/tests/inelastic_strain/elas_plas/elas_plas_nl1_cycle.i
- modules/combined/test/tests/sliding_block/in_and_out/dirac/frictionless_kinematic.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/glued_penalty.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_1/ring1_template1.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_1/plane1_template1_sm.i
- modules/combined/test/tests/sliding_block/in_and_out/dirac/sm/frictionless_kinematic_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/single_pnt_2d/single_point_2d.i
- test/tests/postprocessors/variable_residual_norm/variable_residual.i
- modules/xfem/test/tests/moving_interface/verification/2D_xy_lsdep1mat.i
- modules/combined/test/tests/sliding_block/sliding/dirac/sm/frictional_04_penalty_sm.i
- modules/xfem/test/tests/crack_tip_enrichment/penny_crack_3d.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_1/cyl1_mu_0_2_pen.i
- modules/combined/examples/phase_field-mechanics/grain_texture.i
- modules/xfem/test/tests/moving_interface/verification/1D_xy_discrete2mat.i
- modules/xfem/test/tests/pressure_bc/inclined_edge_2d_pressure.i
- modules/xfem/test/tests/init_solution_propagation/sm/init_solution_propagation.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_1/ring1_template1_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_mu_0_2_pen.i
- modules/combined/test/tests/contact_verification/hertz_cyl/half_symm_q8/hertz_cyl_half_1deg_template3.i
- modules/richards/test/tests/buckley_leverett/bl20_lumped.i
- modules/combined/test/tests/contact_verification/patch_tests/single_pnt_2d/single_point_2d_contact_line_search.i
- modules/xfem/test/tests/moment_fitting/sm/solid_mechanics_moment_fitting.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_3/cyl3_template1.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_2/cyl2_template1.i
- modules/xfem/test/tests/solid_mechanics_basic/sm/edge_crack_3d_propagation.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_1/ring1_template2_sm.i
- modules/xfem/test/tests/mechanical_constraint/glued_penalty.i
- modules/combined/test/tests/sliding_block/in_and_out/dirac/frictional_02_penalty.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_2/cyl2_mu_0_2_pen_sm.i
- modules/combined/test/tests/contact_verification/hertz_cyl/quart_symm_q4/hertz_cyl_qsym_1deg_template1.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_4/brick4_template2_sm.i
- modules/xfem/test/tests/corner_nodes_cut/corner_edge_cut.i
- modules/tensor_mechanics/examples/coal_mining/cosserat_mc_only.i
- modules/combined/test/tests/frictional_contact/single_point_2d/sm/single_point_2d_sm.i
- modules/combined/test/tests/sliding_block/in_and_out/constraint/frictional_04_penalty.i
- modules/xfem/test/tests/solid_mechanics_basic/sm/mesh_grow.i
- modules/xfem/test/tests/solid_mechanics_basic/crack_propagation_2d.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_2/ring2_template1.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_3/ring3_mu_0_2_pen.i
- modules/xfem/test/tests/moving_interface/verification/2D_rz_homog1mat.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_2/ring2_template2_sm.i
- modules/richards/test/tests/gravity_head_1/gh23.i
- modules/combined/test/tests/sliding_block/sliding/dirac/frictionless_kinematic.i
- modules/phase_field/tutorials/spinodal_decomposition/s3_decomp.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_1/cyl1_template1_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_mu_0_2_pen_sm.i
- modules/richards/test/tests/gravity_head_2/gh18.i
- modules/xfem/test/tests/corner_nodes_cut/notch.i
- modules/xfem/test/tests/diffusion_xfem/diffusion_flux_bc.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_2/ring2_mu_0_2_pen_sm.i
- modules/combined/examples/xfem/xfem_thermomechanics_stress_growth.i
- test/tests/time_integrators/actually_explicit_euler_verification/ee-2d-linear.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/glued_penalty_dirac.i
- modules/xfem/test/tests/moving_interface/verification/2D_xy_homog1mat.i
- modules/xfem/test/tests/second_order_elements/diffusion_2d_quad8.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_4/plane4_template1.i
- test/tests/time_integrators/actually_explicit_euler_verification/ee-2d-linear-adapt.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_4/cyl4_mu_0_2_pen.i
- modules/combined/test/tests/sliding_block/sliding/dirac/sm/frictionless_penalty_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_1/cyl1_template1.i
- modules/solid_mechanics/test/tests/material_limit_time_step/creep/nafems_test5a_lim_no_comb.i
- modules/combined/test/tests/sliding_block/sliding/dirac/frictional_02_penalty.i
- test/tests/markers/two_circle_marker/two_circle_marker_coarsen.i
- modules/xfem/test/tests/corner_nodes_cut/sm/notch.i
- modules/combined/test/tests/sliding_block/in_and_out/dirac/frictionless_penalty.i
- modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_change_restart2_sm.i
- modules/xfem/test/tests/single_var_constraint_2d/stationary_jump.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_4/cyl4_template2_sm.i
- modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_force_step.i
- modules/xfem/test/tests/second_order_elements/square_branch_quad9_2d.i
- modules/combined/test/tests/heat_conduction_xfem/heat.i
- modules/xfem/test/tests/corner_nodes_cut/sm/corner_edge_cut.i
- modules/phase_field/examples/grain_growth/grain_growth_2D_voronoi.i
- modules/combined/test/tests/sliding_block/in_and_out/dirac/sm/frictional_02_penalty_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_3/ring3_template2.i
- modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_change.i
- modules/combined/test/tests/frictional_contact/single_point_2d/single_point_2d_tp.i
- modules/tensor_mechanics/test/tests/dynamics/linear_constraint/disp_mid.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_template1_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_3/brick3_mu_0_2_pen_sm.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/frictionless_penalty.i
- modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_change_sm.i
- modules/porous_flow/test/tests/dirackernels/squarepulse1.i
- test/tests/outputs/postprocessor/output_pps_hidden_shown_check.i
- modules/combined/test/tests/gap_heat_transfer_htonly/sphere3D.i
- test/tests/functions/vector_postprocessor_function/vector_postprocessor_function.i
- modules/xfem/test/tests/side_integral/side_integral_3d.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_4/ring4_mu_0_2_pen_sm.i
- modules/combined/test/tests/sliding_block/in_and_out/constraint/frictionless_penalty.i
- test/tests/multiapps/multilevel/dt_from_master_master.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_mu_0_2_pen_sm.i
- modules/combined/test/tests/sliding_block/in_and_out/constraint/sm/frictional_02_penalty_sm.i
- modules/xfem/test/tests/moment_fitting/diffusion_moment_fitting_four_points.i
- modules/xfem/test/tests/diffusion_xfem/levelsetcut2d_aux.i
- modules/combined/test/tests/fieldsplit_contact/2blocks3d_sm.i
- modules/combined/test/tests/inelastic_strain/elas_plas/elas_plas_nl1_sm.i
- modules/xfem/test/tests/solid_mechanics_basic/sm/penny_crack.i
- modules/combined/test/tests/sliding_block/in_and_out/dirac/sm/frictional_04_penalty_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_3/ring3_template2_sm.i
- modules/xfem/test/tests/single_var_constraint_2d/stationary_fluxjump_func.i
- modules/phase_field/tutorials/spinodal_decomposition/s4_mobility.i
- modules/tensor_mechanics/examples/coal_mining/cosserat_wp_only.i
- modules/combined/test/tests/sliding_block/in_and_out/dirac/sm/frictionless_penalty_sm.i
- test/tests/time_integrators/explicit-euler/ee-2d-linear.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_4/ring4_template1.i
- modules/xfem/test/tests/single_var_constraint_3d/stationary_fluxjump_3d.i
- modules/combined/test/tests/contact_verification/hertz_cyl/half_symm_q4/hertz_cyl_half_1deg_template1.i
- modules/xfem/test/tests/crack_tip_enrichment/edge_crack_2d.i
- modules/solid_mechanics/test/tests/material_limit_time_step/elas_plas/nafems_nl1_lim_no_comb.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_3/plane3_template2_sm.i
- modules/combined/test/tests/frictional_contact/single_point_2d/single_point_2d_predictor.i
- test/tests/postprocessors/pps_interval/pps_interval_mismatch.i
- test/tests/userobjects/toggle_mesh_adaptivity/toggle_mesh_adaptivity_wait.i
- modules/xfem/test/tests/init_solution_propagation/init_solution_propagation.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/glued_kinematic_dirac.i
- modules/xfem/test/tests/solid_mechanics_basic/edge_crack_3d.i
- modules/xfem/test/tests/moving_interface/moving_level_set.i
- modules/xfem/test/tests/bimaterials/glued_bimaterials_2d.i
- modules/combined/test/tests/sliding_block/in_and_out/constraint/frictionless_penalty_contact_line_search.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_2/ring2_template1_sm.i
- modules/xfem/test/tests/single_var_constraint_2d/stationary_jump_fluxjump.i
- test/tests/outputs/console/console_transient.i
- tutorials/darcy_thermo_mech/step10_multiapps/tests/auxkernels/corrosion/corrosion.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_1/ring1_mu_0_2_pen.i
- modules/combined/test/tests/gap_heat_transfer_htonly/cyl3D.i
- modules/xfem/test/tests/side_integral/side_integral.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/frictionless_penalty_dirac_sm.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/glued_kinematic_dirac_sm.i
- test/tests/markers/two_circle_marker/two_circle_marker_gaussian_ic.i
- modules/xfem/test/tests/second_order_elements/square_branch_quad8_2d.i
- modules/solid_mechanics/test/tests/material_limit_time_step/elas_plas/nafems_nl1_lim.i
- test/tests/postprocessors/pps_interval/pps_bad_interval2.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_1/cyl1_template2_sm.i
- modules/xfem/test/tests/second_order_elements/diffusion_2d_tri6.i
- test/tests/multiapps/picard/picard.i
- modules/xfem/test/tests/single_var_constraint_2d/propagating_2field_2constraint.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_1/cyl1_template2.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_1/plane1_template2.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_4/cyl4_template1_sm.i
- modules/xfem/test/tests/moving_interface/verification/1D_rz_homog1mat.i
- test/tests/outputs/output_on/postprocessors.i
- modules/combined/test/tests/frictional_contact/sliding_elastic_blocks_2d/sliding_elastic_blocks_2d.i
- modules/xfem/test/tests/corner_nodes_cut/sm/corner_node_cut_twice.i
- modules/porous_flow/test/tests/sinks/s07.i
- test/tests/time_integrators/explicit-euler/ee-2d-linear-adapt.i
- modules/combined/test/tests/frictional_contact/sliding_elastic_blocks_2d/sm/sliding_elastic_blocks_2d_sm.i
- modules/combined/test/tests/sliding_block/in_and_out/constraint/sm/frictionless_penalty_sm.i
- modules/combined/examples/phase_field-mechanics/kks_mechanics_VTS.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_4/plane4_mu_0_2_pen.i
- modules/combined/test/tests/axisymmetric_2d3d_solution_function/3dy.i
- modules/combined/test/tests/contact_verification/patch_tests/single_pnt_2d/single_point_2d_frictional_sm.i
- modules/xfem/test/tests/moving_interface/verification/2D_rz_lsdep1mat.i
- modules/xfem/test/tests/solid_mechanics_basic/sm/edge_crack_3d.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_4/plane4_template1_sm.i
- modules/combined/test/tests/sliding_block/in_and_out/constraint/frictional_02_penalty.i
- modules/combined/test/tests/sliding_block/sliding/constraint/sm/frictionless_kinematic_sm.i
- modules/combined/test/tests/sliding_block/sliding/constraint/sm/frictional_04_penalty_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_template2.i
- modules/combined/test/tests/contact_verification/hertz_cyl/half_symm_q4/hertz_cyl_half_1deg_template3.i
- test/tests/time_integrators/actually_explicit_euler_verification/ee-1d-quadratic-neumann.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_3/plane3_template2.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_mu_0_2_pen.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_4/cyl4_mu_0_2_pen_sm.i
- test/tests/outputs/console/console_print_toggles.i
- modules/xfem/test/tests/second_order_elements/sm/square_branch_quad8_2d.i
- modules/xfem/test/tests/pressure_bc/sm/edge_2d_pressure.i
- modules/tensor_mechanics/examples/coal_mining/cosserat_mc_wp_sticky_longitudinal.i
- modules/combined/test/tests/sliding_block/in_and_out/dirac/frictional_04_penalty.i
- modules/xfem/test/tests/moving_interface/verification/1D_xy_lsdep1mat.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_3/plane3_template1_sm.i
- modules/solid_mechanics/test/tests/material_limit_time_step/creep/nafems_test5a_lim.i
- modules/tensor_mechanics/examples/coal_mining/cosserat_elastic.i
- modules/combined/test/tests/inelastic_strain/elas_plas/elas_plas_nl1_cycle_sm.i
- test/tests/postprocessors/nodal_var_value/screen_output_test.i
- test/tests/transfers/multiapp_conservative_transfer/master_conservative_transfer.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_template1.i
- test/tests/time_integrators/explicit-euler/ee-1d-quadratic-neumann.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_1/plane1_mu_0_2_pen_sm.i
- modules/combined/test/tests/frictional_contact/sliding_elastic_blocks_2d/sliding_elastic_blocks_2d_tp.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_2/ring2_template2.i
- modules/phase_field/examples/grain_growth/grain_growth_2D_voronoi_newadapt.i
- test/tests/postprocessors/pps_interval/pps_out_interval.i
- modules/xfem/test/tests/moving_interface/moving_bimaterial.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_4/plane4_template2_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_2/plane2_template1_sm.i
- modules/phase_field/examples/grain_growth/3D_6000_gr.i
- modules/combined/test/tests/sliding_block/sliding/constraint/frictionless_aug.i
- modules/xfem/test/tests/pressure_bc/sm/inclined_edge_2d_pressure.i
- modules/xfem/test/tests/second_order_elements/diffusion_3d_tet10.i
- modules/xfem/test/tests/moment_fitting/solid_mechanics_moment_fitting.i
- modules/xfem/test/tests/moving_interface/verification/1D_rz_lsdep1mat.i
- modules/combined/test/tests/axisymmetric_2d3d_solution_function/2d_sm.i
- test/tests/time_integrators/explicit-euler/ee-2d-quadratic.i
- modules/xfem/test/tests/moving_interface/moving_diffusion.i
- modules/porous_flow/test/tests/sinks/s06.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_template1_sm.i
- modules/combined/test/tests/sliding_block/sliding/constraint/frictionless_penalty.i
- modules/combined/test/tests/contact_verification/patch_tests/single_pnt_2d/single_point_2d_frictional.i
- test/tests/outputs/postprocessor/show_hide.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_3/cyl3_template2.i
- modules/tensor_mechanics/test/tests/material_limit_time_step/creep/nafems_test5a_lim.i
- modules/combined/test/tests/sliding_block/in_and_out/constraint/sm/frictionless_penalty_contact_line_search_sm.i
- modules/combined/test/tests/inelastic_strain/creep/creep_nl1.i
- modules/xfem/test/tests/single_var_constraint_2d/propagating_2field_1constraint.i
- test/tests/problems/eigen_problem/gipm_ibc.i
- modules/combined/test/tests/frictional_contact/single_point_2d/sm/single_point_2d_tp_sm.i
- modules/xfem/test/tests/single_var_constraint_2d/stationary_equal.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_1/ring1_mu_0_2_pen_sm.i
- test/tests/outputs/console/console.i
- modules/combined/test/tests/inelastic_strain/creep/creep_nl1_sm.i
- modules/combined/test/tests/sliding_block/sliding/constraint/frictional_02_aug.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_aug_sm.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/frictionless_kinematic.i
- test/tests/time_integrators/actually_explicit_euler_verification/ee-1d-linear.i
- test/tests/adaptivity/recompute_markers_during_cycles/recompute_markers_during_cycles.i
- modules/porous_flow/test/tests/sinks/s04.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_4/plane4_template2.i
- modules/xfem/test/tests/solid_mechanics_basic/sm/square_branch_tri_2d.i
- modules/porous_flow/test/tests/sinks/s08.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_1/plane1_template2_sm.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/frictionless_kinematic_sm.i
- modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_change_restart1_sm.i
- modules/xfem/test/tests/solid_mechanics_basic/penny_crack.i
- modules/xfem/test/tests/pressure_bc/edge_2d_pressure.i
- modules/combined/test/tests/sliding_block/sliding/dirac/frictionless_penalty.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/glued_kinematic.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/glued_penalty_sm.i
- modules/xfem/test/tests/second_order_elements/diffusion_2d_quad9.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_aug.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_2/cyl2_template2_sm.i
- modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_change_restart1.i
- test/tests/time_integrators/explicit-euler/ee-1d-quadratic.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/frictionless_penalty_dirac.i
- modules/xfem/test/tests/single_var_constraint_2d/equal_value.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_3/ring3_template1_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_2/plane2_mu_0_2_pen.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_3/plane3_mu_0_2_pen_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_1/cyl1_mu_0_2_pen_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_template2_sm.i
- modules/combined/test/tests/contact_verification/hertz_cyl/half_symm_q8/hertz_cyl_half_1deg_template1.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_3/cyl3_template2_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_3/brick3_template2_sm.i
- modules/xfem/test/tests/solid_mechanics_basic/sm/elliptical_crack.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_4/brick4_template1.i
- modules/xfem/test/tests/single_var_constraint_3d/stationary_jump_fluxjump_3d.i
- modules/xfem/test/tests/diffusion_xfem/levelsetcut3d.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_template1.i
- modules/porous_flow/test/tests/sinks/s05.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_3/brick3_template2.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_template2_sm.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/frictionless_kinematic_dirac_sm.i
- test/tests/outputs/console/additional_execute_on.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_4/plane4_mu_0_2_pen_sm.i
- modules/combined/test/tests/sliding_block/sliding/constraint/sm/frictionless_aug_sm.i
- modules/xfem/test/tests/diffusion_xfem/levelsetcut2d.i
- test/tests/multiapps/multilevel/time_dt_from_master_subsub.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_3/cyl3_mu_0_2_pen.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_4/cyl4_template2.i
- modules/xfem/test/tests/solid_mechanics_basic/elliptical_crack.i
- modules/xfem/test/tests/single_var_constraint_2d/propagating_1field.i
- modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/frictionless_penalty_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/cyl_2/cyl2_mu_0_2_pen.i
- modules/phase_field/examples/grain_growth/grain_growth_2D_random.i
- modules/xfem/test/tests/single_var_constraint_3d/stationary_equal_3d.i
- modules/combined/examples/xfem/xfem_mechanics_prescribed_growth.i
- modules/xfem/test/tests/pressure_bc/sm/edge_3d_pressure.i
- modules/solid_mechanics/test/tests/cracking/cracking_plane_stress.i
- modules/xfem/test/tests/second_order_elements/diffusion_quad9_levelsetcut.i
- modules/combined/test/tests/axisymmetric_2d3d_solution_function/2d.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_4/ring4_template1_sm.i
- modules/xfem/test/tests/solid_mechanics_basic/sm/crack_propagation_2d.i
- modules/combined/test/tests/sliding_block/sliding/constraint/sm/frictionless_penalty_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/plane_2/plane2_template1.i
- modules/combined/test/tests/gap_heat_transfer_htonly/cyl2D.i
- modules/combined/test/tests/contact_verification/patch_tests/single_pnt_2d/single_point_2d_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_3/brick3_template1.i
- modules/combined/test/tests/contact_verification/patch_tests/brick_3/brick3_template1_sm.i
- modules/richards/test/tests/buckley_leverett/bl20_lumped_fu.i
- modules/combined/test/tests/axisymmetric_2d3d_solution_function/3dy_sm.i
- modules/combined/test/tests/contact_verification/patch_tests/ring_4/ring4_template2_sm.i
- modules/xfem/test/tests/moving_interface/verification/1D_xy_homog1mat.i
- modules/xfem/test/tests/corner_nodes_cut/corner_node_cut.i
modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_force_step_sm.i
# This is a test designed to evaluate the cabability of the
# IterationAdaptiveDT TimeStepper to adjust time step size according to
# a function. For example, if the power input function for a BISON
# simulation rapidly increases or decreases, the IterationAdaptiveDT
# TimeStepper should take time steps small enough to capture the
# oscillation.
[GlobalParams]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
order = FIRST
family = LAGRANGE
block = 1
[]
[Mesh]
file = 1hex8_10mm_cube.e
displacements = 'disp_x disp_y disp_z'
[]
[Functions]
[./Fiss_Function]
type = PiecewiseLinear
data_file = blip.csv
format = columns
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./temp]
initial_condition = 300.0
[../]
[]
[AuxVariables]
[./vonmises_stress]
order = CONSTANT
family = MONOMIAL
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
[../]
[]
[Kernels]
[./heat]
type = HeatConduction
variable = temp
[../]
[./heat_ie]
type = HeatConductionTimeDerivative
variable = temp
[../]
[./heat_source]
type = HeatSource
variable = temp
value = 1.0
function = Fiss_Function
[../]
[]
[AuxKernels]
[./vonmises_stress]
type = MaterialTensorAux
tensor = stress
variable = vonmises_stress
quantity = vonmises
execute_on = timestep_end
[../]
[]
[BCs]
[./bottom_temp]
type = DirichletBC
variable = temp
boundary = 1
value = 300
[../]
[./top_bottom_disp_x]
type = DirichletBC
variable = disp_x
boundary = '1'
value = 0
[../]
[./top_bottom_disp_y]
type = DirichletBC
variable = disp_y
boundary = '1'
value = 0
[../]
[./top_bottom_disp_z]
type = DirichletBC
variable = disp_z
boundary = '1'
value = 0
[../]
[]
[Materials]
[./thermal]
type = HeatConductionMaterial
temp = temp
specific_heat = 1.0
thermal_conductivity = 1.0
[../]
[./elastic]
type = Elastic
youngs_modulus = 300e6
poissons_ratio = .3
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
thermal_expansion = 5e-6
formulation = Nonlinear3D
[../]
[./density]
type = Density
density = 10963.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
verbose = true
nl_abs_tol = 1e-10
start_time = 0.0
num_steps = 50000
end_time = 5.1e3
[./TimeStepper]
type = IterationAdaptiveDT
timestep_limiting_function = Fiss_Function
max_function_change = 3e20
force_step_every_function_point = true
dt = 1e2
[../]
[]
[Postprocessors]
[./Temperature_of_Block]
type = ElementAverageValue
variable = temp
execute_on = 'initial timestep_end'
[../]
[./vonMises]
type = ElementAverageValue
variable = vonmises_stress
execute_on = 'initial timestep_end'
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 10
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_aug.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick1_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 100
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x8]
type = NodalVariableValue
nodeid = 7
variable = disp_x
[../]
[./disp_x13]
type = NodalVariableValue
nodeid = 12
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y8]
type = NodalVariableValue
nodeid = 7
variable = disp_y
[../]
[./disp_y13]
type = NodalVariableValue
nodeid = 12
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_x8 disp_x13 disp_x16 disp_y5 disp_y8 disp_y13 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
tangential_tolerance = 1e-3
formulation = augmented_lagrange
system = constraint
normalize_penalty = true
penalty = 1e8
model = frictionless
al_penetration_tolerance = 1e-8
[../]
[]
modules/xfem/test/tests/second_order_elements/sm/square_branch_tri6_2d.i
[GlobalParams]
order = SECOND
family = LAGRANGE
volumetric_locking_correction = false
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = TRI6
displacements = 'disp_x disp_y'
[]
[UserObjects]
[./line_seg_cut_set_uo]
type = LineSegmentCutSetUserObject
cut_data = '-1.0000e-10 6.6340e-01 6.6340e-01 -1.0000e-10 0.0 1.0
3.3120e-01 3.3200e-01 1.0001e+00 3.3200e-01 1.0 2.0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
use_displaced_mesh = false
[../]
[]
[Functions]
[./right_disp_x]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[./top_disp_y]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[]
[BCs]
[./right_x]
type = FunctionDirichletBC
boundary = 1
variable = disp_x
function = right_disp_x
[../]
[./top_y]
type = FunctionDirichletBC
boundary = 2
variable = disp_y
function = top_disp_y
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./left_x]
type = DirichletBC
boundary = 3
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = LinearIsotropicMaterial
block = 0
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 2.2
num_steps = 5000
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
test/tests/time_integrators/actually_explicit_euler_verification/ee-2d-quadratic.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 10
ny = 10
elem_type = QUAD9
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = ((x*x)+(y*y))-(4*t)
[../]
[./exact_fn]
type = ParsedFunction
value = t*((x*x)+(y*y))
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1 2 3'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
l_tol = 1e-13
start_time = 0.0
num_steps = 20
dt = 0.00005
[./TimeIntegrator]
type = ActuallyExplicitEuler
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/phase_field/tutorials/spinodal_decomposition/s2_fasttest.i
#
# Simulation of an iron-chromium alloy using simple code and a test set of
# initial conditions.
#
[Mesh]
# generate a 2D, 25nm x 25nm mesh
type = GeneratedMesh
dim = 2
elem_type = QUAD4
nx = 100
ny = 100
nz = 0
xmin = 0
xmax = 25
ymin = 0
ymax = 25
zmin = 0
zmax = 0
[]
[Variables]
[./c] # Mole fraction of Cr (unitless)
order = FIRST
family = LAGRANGE
[../]
[./w] # Chemical potential (eV/mol)
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
# Use a bounding box IC at equilibrium concentrations to make sure the
# model behaves as expected.
[./testIC]
type = BoundingBoxIC
variable = c
x1 = 5
x2 = 20
y1 = 5
y2 = 20
inside = 0.823
outside = 0.236
[../]
[]
[BCs]
# periodic BC as is usually done on phase-field models
[./Periodic]
[./c_bcs]
auto_direction = 'x y'
[../]
[../]
[]
[Kernels]
# See wiki page "Developing Phase Field Models" for more information on Split
# Cahn-Hilliard equation kernels.
# http://mooseframework.org/wiki/PhysicsModules/PhaseField/DevelopingModels/
[./w_dot]
variable = w
v = c
type = CoupledTimeDerivative
[../]
[./coupled_res]
variable = w
type = SplitCHWRes
mob_name = M
[../]
[./coupled_parsed]
variable = c
type = SplitCHParsed
f_name = f_loc
kappa_name = kappa_c
w = w
[../]
[]
[Materials]
# d is a scaling factor that makes it easier for the solution to converge
# without changing the results. It is defined in each of the materials and
# must have the same value in each one.
[./constants]
# Define constant values kappa_c and M. Eventually M will be replaced with
# an equation rather than a constant.
type = GenericFunctionMaterial
prop_names = 'kappa_c M'
prop_values = '8.125e-16*6.24150934e+18*1e+09^2*1e-27
2.2841e-26*1e+09^2/6.24150934e+18/1e-27'
# kappa_c*eV_J*nm_m^2*d
# M*nm_m^2/eV_J/d
[../]
[./local_energy]
# Defines the function for the local free energy density as given in the
# problem, then converts units and adds scaling factor.
type = DerivativeParsedMaterial
f_name = f_loc
args = c
constant_names = 'A B C D E F G eV_J d'
constant_expressions = '-2.446831e+04 -2.827533e+04 4.167994e+03 7.052907e+03
1.208993e+04 2.568625e+03 -2.354293e+03
6.24150934e+18 1e-27'
function = 'eV_J*d*(A*c+B*(1-c)+C*c*log(c)+D*(1-c)*log(1-c)+
E*c*(1-c)+F*c*(1-c)*(2*c-1)+G*c*(1-c)*(2*c-1)^2)'
derivative_order = 2
[../]
[]
[Postprocessors]
[./evaluations] # Cumulative residual calculations for simulation
type = NumResidualEvaluations
[../]
[./elapsed]
type = PerfGraphData
section_name = "Root"
data_type = total
[../]
[]
[Preconditioning]
# Preconditioning is required for Newton's method. See wiki page "Solving
# Phase Field Models" for more information.
# http://mooseframework.org/wiki/PhysicsModules/PhaseField/SolvingModels/
[./coupled]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
l_max_its = 30
l_tol = 1e-6
nl_max_its = 50
nl_abs_tol = 1e-9
end_time = 86400 # 1 day. We only need to run this long enough to verify
# the model is working properly.
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type
-sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly
ilu 1'
[./TimeStepper]
# Turn on time stepping
type = IterationAdaptiveDT
dt = 10
cutback_factor = 0.8
growth_factor = 1.5
optimal_iterations = 7
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[Outputs]
exodus = true
console = true
csv = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/square_branch_quad_2d.i
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = true
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[UserObjects]
[./line_seg_cut_uo0]
type = LineSegmentCutUserObject
cut_data = '-1.0000e-10 6.6340e-01 6.6340e-01 -1.0000e-10'
time_start_cut = 0.0
time_end_cut = 1.0
[../]
[./line_seg_cut_uo1]
type = LineSegmentCutUserObject
cut_data = '3.3120e-01 3.3200e-01 1.0001e+00 3.3200e-01'
time_start_cut = 1.0
time_end_cut = 2.0
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
planar_formulation = PLANE_STRAIN
add_variables = true
[../]
[]
[Functions]
[./right_disp_x]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[./top_disp_y]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[]
[BCs]
[./right_x]
type = FunctionDirichletBC
boundary = 1
variable = disp_x
function = right_disp_x
[../]
[./top_y]
type = FunctionDirichletBC
boundary = 2
variable = disp_y
function = top_disp_y
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./left_x]
type = DirichletBC
boundary = 3
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 2.2
num_steps = 5000
[]
[Outputs]
file_base = square_branch_quad_2d_out
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/sm/penny_crack_cfp.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 3
ny = 3
nz = 3
xmin = -1.1
xmax = 1.1
ymin = -1.1
ymax = 1.1
zmin = -1.1
zmax = 1.1
elem_type = HEX8
displacements = 'disp_x disp_y disp_z'
[]
[UserObjects]
[./circle_cut_uo]
type = CircleCutUserObject
cut_data = '0 0 0
0 -0.5 0
-0.5 0 0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises_stress]
order = CONSTANT
family = MONOMIAL
[../]
[./SED]
order = CONSTANT
family = MONOMIAL
[../]
[]
[DomainIntegral]
integrals = 'Jintegral'
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
crack_direction_method = CurvedCrackFront
radius_inner = '0.3'
radius_outer = '0.6'
poissons_ratio = 0.3
youngs_modulus = 207000
block = 0
crack_front_points_provider = circle_cut_uo
number_points_from_provider = 10
convert_J_to_K = true
closed_loop = true
incremental = true
solid_mechanics = true
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
use_displaced_mesh = true
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
execute_on = timestep_end
[../]
[./vonmises_stress]
type = MaterialTensorAux
tensor = stress
variable = vonmises_stress
quantity = vonmises
execute_on = timestep_end
[../]
[./SED]
type = MaterialRealAux
variable = SED
property = strain_energy_density
execute_on = timestep_end
block = 0
[../]
[]
[Functions]
[./top_trac_z]
type = ConstantFunction
value = 10
[../]
[]
[BCs]
[./top_z]
type = FunctionNeumannBC
boundary = front
variable = disp_z
function = top_trac_z
[../]
[./bottom_x]
type = DirichletBC
boundary = back
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = back
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = back
variable = disp_z
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = Elastic
block = 0
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 207000
compute_JIntegral = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_3/cyl3_template1_sm.i
#
# This input file is a template for both the frictionless and glued test
# variations for the current problem geometry. In order to create an input
# file to run outside the runtest framework, look at the tests file and add the
# appropriate input file lines from the cli_args line.
#
[Mesh]
file = cyl3_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
test/tests/problems/eigen_problem/ipm.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 100
ymin = 0
ymax = 100
elem_type = QUAD4
nx = 8
ny = 8
uniform_refine = 0
displacements = 'x_disp y_disp'
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./x_disp]
[../]
[./y_disp]
[../]
[]
[AuxKernels]
[./x_disp]
type = FunctionAux
variable = x_disp
function = x_disp_func
[../]
[./y_disp]
type = FunctionAux
variable = y_disp
function = y_disp_func
[../]
[]
[Functions]
[./x_disp_func]
type = ParsedFunction
value = 0
[../]
[./y_disp_func]
type = ParsedFunction
value = 0
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
use_displaced_mesh = true
[../]
[./rea]
type = CoefReaction
variable = u
coefficient = 2.0
use_displaced_mesh = true
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
use_displaced_mesh = true
[../]
[]
[Executioner]
type = Eigenvalue
which_eigen_pairs = largest_magnitude
eigen_problem_type = NON_HERMITIAN
n_eigen_pairs = 5
n_basis_vectors = 15
solve_type = krylovschur
petsc_options = '-eps_view'
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
execute_on = 'timestep_end'
[./console]
type = Console
outlier_variable_norms = false
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/glued_kinematic_sm.i
[Mesh]
file = blocks_2d_nogap.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.01
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e7
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
system = Constraint
master = 2
slave = 3
model = glued
penalty = 1e+6
[../]
[]
modules/phase_field/tutorials/spinodal_decomposition/s5_energycurve.i
#
# Example simulation of an iron-chromium alloy at 500 C. Equilibrium
# concentrations are at 23.6 and 82.3 mol% Cr. Kappa value, free energy equation,
# and mobility equation were provided by Lars Hoglund. Solved using the split
# form of the Cahn-Hilliard equation.
[Mesh]
type = GeneratedMesh
dim = 2
elem_type = QUAD4
nx = 25
ny = 25
nz = 0
xmin = 0
xmax = 25
ymin = 0
ymax = 25
zmin = 0
zmax = 0
uniform_refine = 2
[]
[Variables]
[./c] # Mole fraction of Cr (unitless)
order = FIRST
family = LAGRANGE
scaling = 1e+04
[../]
[./w] # Chemical potential (eV/mol)
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./f_density] # Local energy density (eV/mol)
order = CONSTANT
family = MONOMIAL
[../]
[]
[ICs]
[./concentrationIC] # 46.774 mol% Cr with variations
type = RandomIC
min = 0.44774
max = 0.48774
seed = 210
variable = c
[../]
[]
[BCs]
[./Periodic]
[./c_bcs]
auto_direction = 'x y'
[../]
[../]
[]
[Kernels]
[./w_dot]
variable = w
v = c
type = CoupledTimeDerivative
[../]
[./coupled_res]
variable = w
type = SplitCHWRes
mob_name = M
[../]
[./coupled_parsed]
variable = c
type = SplitCHParsed
f_name = f_loc
kappa_name = kappa_c
w = w
[../]
[]
[AuxKernels]
# Calculates the energy density by combining the local and gradient energies
[./f_density] # (eV/mol/nm^2)
type = TotalFreeEnergy
variable = f_density
f_name = 'f_loc'
kappa_names = 'kappa_c'
interfacial_vars = c
[../]
[]
[Materials]
# d is a scaling factor that makes it easier for the solution to converge
# without changing the results. It is defined in each of the first three
# materials and must have the same value in each one.
[./kappa] # Gradient energy coefficient (eV nm^2/mol)
type = GenericFunctionMaterial
prop_names = 'kappa_c'
prop_values = '8.125e-16*6.24150934e+18*1e+09^2*1e-27'
# kappa_c *eV_J*nm_m^2* d
[../]
[./mobility] # Mobility (nm^2 mol/eV/s)
# NOTE: This is a fitted equation, so only 'Conv' has units
type = DerivativeParsedMaterial
f_name = M
args = c
constant_names = 'Acr Bcr Ccr Dcr
Ecr Fcr Gcr
Afe Bfe Cfe Dfe
Efe Ffe Gfe
nm_m eV_J d'
constant_expressions = '-32.770969 -25.8186669 -3.29612744 17.669757
37.6197853 20.6941796 10.8095813
-31.687117 -26.0291774 0.2286581 24.3633544
44.3334237 8.72990497 20.956768
1e+09 6.24150934e+18 1e-27'
function = 'nm_m^2/eV_J/d*((1-c)^2*c*10^
(Acr*c+Bcr*(1-c)+Ccr*c*log(c)+Dcr*(1-c)*log(1-c)+
Ecr*c*(1-c)+Fcr*c*(1-c)*(2*c-1)+Gcr*c*(1-c)*(2*c-1)^2)
+c^2*(1-c)*10^
(Afe*c+Bfe*(1-c)+Cfe*c*log(c)+Dfe*(1-c)*log(1-c)+
Efe*c*(1-c)+Ffe*c*(1-c)*(2*c-1)+Gfe*c*(1-c)*(2*c-1)^2))'
derivative_order = 1
outputs = exodus
[../]
[./local_energy] # Local free energy function (eV/mol)
type = DerivativeParsedMaterial
f_name = f_loc
args = c
constant_names = 'A B C D E F G eV_J d'
constant_expressions = '-2.446831e+04 -2.827533e+04 4.167994e+03 7.052907e+03
1.208993e+04 2.568625e+03 -2.354293e+03
6.24150934e+18 1e-27'
function = 'eV_J*d*(A*c+B*(1-c)+C*c*log(c)+D*(1-c)*log(1-c)+
E*c*(1-c)+F*c*(1-c)*(2*c-1)+G*c*(1-c)*(2*c-1)^2)'
derivative_order = 2
[../]
[./precipitate_indicator] # Returns 1/625 if precipitate
type = ParsedMaterial
f_name = prec_indic
args = c
function = if(c>0.6,0.0016,0)
[../]
[]
[Postprocessors]
[./step_size] # Size of the time step
type = TimestepSize
[../]
[./iterations] # Number of iterations needed to converge timestep
type = NumNonlinearIterations
[../]
[./nodes] # Number of nodes in mesh
type = NumNodes
[../]
[./evaluations] # Cumulative residual calculations for simulation
type = NumResidualEvaluations
[../]
[./total_energy] # Total free energy at each timestep
type = ElementIntegralVariablePostprocessor
variable = f_density
execute_on = 'initial timestep_end'
[../]
[./num_features] # Number of precipitates formed
type = FeatureFloodCount
variable = c
threshold = 0.6
[../]
[./precipitate_area] # Fraction of surface devoted to precipitates
type = ElementIntegralMaterialProperty
mat_prop = prec_indic
[../]
[./active_time] # Time computer spent on simulation
type = PerfGraphData
section_name = "Root"
data_type = total
[../]
[]
[Preconditioning]
[./coupled]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
l_max_its = 30
l_tol = 1e-6
nl_max_its = 50
nl_abs_tol = 1e-9
end_time = 604800 # 7 days
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type
-sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly
ilu 1'
[./TimeStepper]
type = IterationAdaptiveDT
dt = 10
cutback_factor = 0.8
growth_factor = 1.5
optimal_iterations = 7
[../]
[./Adaptivity]
coarsen_fraction = 0.1
refine_fraction = 0.7
max_h_level = 2
[../]
[]
[Outputs]
exodus = true
console = true
csv = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/combined/test/tests/inelastic_strain/elas_plas/elas_plas_nl1.i
#
# Test for effective strain calculation.
# Boundary conditions from NAFEMS test NL1
#
# This is not a verification test. The boundary conditions are applied such
# that the first step generates only elastic stresses. The second and third
# steps generate plastic deformation and the effective strain should be
# increasing throughout the run.
#
[GlobalParams]
order = FIRST
family = LAGRANGE
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = one_elem2.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[./pressure]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./eff_plastic_strain]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./vonmises]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = vonmises
scalar_type = VonMisesStress
execute_on = timestep_end
[../]
[./pressure]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = pressure
scalar_type = Hydrostatic
execute_on = timestep_end
[../]
[./elastic_strain_xx]
type = RankTwoAux
rank_two_tensor = elastic_strain
variable = elastic_strain_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./elastic_strain_yy]
type = RankTwoAux
rank_two_tensor = elastic_strain
variable = elastic_strain_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./elastic_strain_zz]
type = RankTwoAux
rank_two_tensor = elastic_strain
variable = elastic_strain_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./plastic_strain_xx]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = plastic_strain_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./plastic_strain_yy]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = plastic_strain_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./plastic_strain_zz]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = plastic_strain_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./tot_strain_xx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = tot_strain_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./tot_strain_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = tot_strain_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./tot_strain_zz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = tot_strain_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./eff_plastic_strain]
type = MaterialRealAux
property = effective_plastic_strain
variable = eff_plastic_strain
[../]
[]
[Functions]
[./appl_dispy]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0.0 0.208e-4 0.50e-4 1.00e-4'
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 101
value = 0.0
[../]
[./origin_x]
type = DirichletBC
variable = disp_x
boundary = 103
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 102
value = 0.0
[../]
[./origin_y]
type = DirichletBC
variable = disp_y
boundary = 103
value = 0.0
[../]
[./top_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1
function = appl_dispy
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
block = 1
youngs_modulus = 250e9
poissons_ratio = 0.25
[../]
[./strain]
type = ComputePlaneFiniteStrain
block = 1
[../]
[./stress]
type = ComputeMultipleInelasticStress
inelastic_models = 'isoplas'
block = 1
[../]
[./isoplas]
type = IsotropicPlasticityStressUpdate
yield_stress = 5e6
hardening_constant = 0.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
l_tol = 1e-4
l_max_its = 100
nl_max_its = 20
dt = 1.0
start_time = 0.0
num_steps = 100
end_time = 3.0
[] # Executioner
[Postprocessors]
[./stress_xx]
type = ElementAverageValue
variable = stress_xx
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./stress_xy]
type = ElementAverageValue
variable = stress_xy
[../]
[./vonmises]
type = ElementAverageValue
variable = vonmises
[../]
[./pressure]
type = ElementAverageValue
variable = pressure
[../]
[./el_strain_xx]
type = ElementAverageValue
variable = elastic_strain_xx
[../]
[./el_strain_yy]
type = ElementAverageValue
variable = elastic_strain_yy
[../]
[./el_strain_zz]
type = ElementAverageValue
variable = elastic_strain_zz
[../]
[./pl_strain_xx]
type = ElementAverageValue
variable = plastic_strain_xx
[../]
[./pl_strain_yy]
type = ElementAverageValue
variable = plastic_strain_yy
[../]
[./pl_strain_zz]
type = ElementAverageValue
variable = plastic_strain_zz
[../]
[./eff_plastic_strain]
type = ElementAverageValue
variable = eff_plastic_strain
[../]
[./tot_strain_xx]
type = ElementAverageValue
variable = tot_strain_xx
[../]
[./tot_strain_yy]
type = ElementAverageValue
variable = tot_strain_yy
[../]
[./tot_strain_zz]
type = ElementAverageValue
variable = tot_strain_zz
[../]
[./disp_x1]
type = NodalVariableValue
nodeid = 0
variable = disp_x
[../]
[./disp_x4]
type = NodalVariableValue
nodeid = 3
variable = disp_x
[../]
[./disp_y1]
type = NodalVariableValue
nodeid = 0
variable = disp_y
[../]
[./disp_y4]
type = NodalVariableValue
nodeid = 3
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[]
[Outputs]
exodus = true
csv = true
[./console]
type = Console
output_linear = true
[../]
[] # Outputs
modules/combined/test/tests/gap_heat_transfer_htonly/sphere2DRZ.i
#
# 2DRZ Spherical Gap Heat Transfer Test.
#
# This test exercises 2D gap heat transfer for a constant conductivity gap.
#
# The mesh consists of an inner solid sphere of radius = 1 unit, and outer
# hollow sphere with an inner radius of 2. In other words, the gap between
# them is 1 radial unit in length.
#
# The conductivity of both spheres is set very large to achieve a uniform
# temperature in each sphere. The temperature of the center node of the
# inner sphere is ramped from 100 to 200 over one time unit. The
# temperature of the outside of the outer, hollow sphere is held fixed
# at 100.
#
# A simple analytical solution is possible for the integrated heat flux
# between the inner and outer spheres:
#
# Integrated Flux = (T_left - T_right) * (gapK/(r^2*((1/r1)-(1/r2)))) * Area
#
# For gapK = 1 (default value)
#
# The area is taken as the area of the slave (inner) surface:
#
# Area = 4 * pi * 1^2 (4*pi*r^2)
#
# The integrated heat flux across the gap at time 1 is then:
#
# 4*pi*k*delta_T/((1/r1)-(1/r2))
# 4*pi*1*100/((1/1) - (1/2)) = 2513.3 watts
#
# For comparison, see results from the integrated flux post processors.
# This simulation makes use of symmetry, so only 1/2 of the spheres is meshed
# As such, the integrated flux from the post processors is 1/2 of the total,
# or 1256.6 watts... i.e. 400*pi.
# The value coming from the post processor is slightly less than this
# but converges as mesh refinement increases.
#
# Simulating contact is challenging. Regression tests that exercise
# contact features can be difficult to solve consistently across multiple
# platforms. While designing these tests, we felt it worth while to note
# some aspects of these tests. The following applies to:
# sphere3D.i, sphere2DRZ.i, cyl2D.i, and cyl3D.i.
# 1. We decided that to perform consistently across multiple platforms we
# would use very small convergence tolerance. In this test we chose an
# nl_rel_tol of 1e-12.
# 2. Due to such a high value for thermal conductivity (used here so that the
# domains come to a uniform temperature) the integrated flux at time = 0
# was relatively large (the value coming from SideIntegralFlux =
# -_diffusion_coef[_qp]*_grad_u[_qp]*_normals[_qp] where the diffusion coefficient
# here is thermal conductivity).
# Even though _grad_u[_qp] is small, in this case the diffusion coefficient
# is large. The result is a number that isn't exactly zero and tends to
# fail exodiff. For this reason the parameter execute_on = initial should not
# be used. That parameter is left to default settings in these regression tests.
#
[GlobalParams]
order = SECOND
family = LAGRANGE
[]
[Problem]
coord_type = RZ
[]
[Mesh]
file = cyl2D.e
[]
[Functions]
[./temp]
type = PiecewiseLinear
x = '0 1'
y = '100 200'
[../]
[]
[Variables]
[./temp]
initial_condition = 100
[../]
[]
[AuxVariables]
[./gap_conductance]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./heat_conduction]
type = HeatConduction
variable = temp
[../]
[]
[AuxKernels]
[./gap_cond]
type = MaterialRealAux
property = gap_conductance
variable = gap_conductance
boundary = 2
[../]
[]
[Materials]
[./heat1]
type = HeatConductionMaterial
block = '1 2'
specific_heat = 1.0
thermal_conductivity = 1000000.0
[../]
[]
[ThermalContact]
[./thermal_contact]
type = GapHeatTransfer
variable = temp
master = 3
slave = 2
gap_conductivity = 1
quadrature = true
gap_geometry_type = SPHERE
sphere_origin = '0 0 0'
[../]
[]
[BCs]
[./mid]
type = FunctionDirichletBC
boundary = 1
variable = temp
function = temp
[../]
[./temp_far_right]
type = DirichletBC
boundary = 4
variable = temp
value = 100
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
dt = 1
dtmin = 0.01
end_time = 1
nl_rel_tol = 1e-12
nl_abs_tol = 1e-7
[./Quadrature]
order = fifth
side_order = seventh
[../]
[]
[Outputs]
exodus = true
[./Console]
type = Console
[../]
[]
[Postprocessors]
[./temp_left]
type = SideAverageValue
boundary = 2
variable = temp
[../]
[./temp_right]
type = SideAverageValue
boundary = 3
variable = temp
[../]
[./flux_left]
type = SideFluxIntegral
variable = temp
boundary = 2
diffusivity = thermal_conductivity
[../]
[./flux_right]
type = SideFluxIntegral
variable = temp
boundary = 3
diffusivity = thermal_conductivity
[../]
[]
modules/xfem/test/tests/single_var_constraint_2d/stationary_jump_func.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.0'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
jump = jump_func
jump_flux = 0
geometric_cut_userobject = 'line_seg_cut_uo'
[../]
[]
[Functions]
[./jump_func]
type = ParsedFunction
value = '0.5'
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_1/plane1_template1.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = plane1_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeIncrementalSmallStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeIncrementalSmallStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_3/ring3_template1.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = ring3_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
petsc_options = '-mat_superlu_dist_iterrefine -mat_superlu_dist_replacetinypivot'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_change_restart2.i
# This is a test designed to evaluate the cabability of the
# IterationAdaptiveDT TimeStepper to adjust time step size according to
# a function. For example, if the power input function for a BISON
# simulation rapidly increases or decreases, the IterationAdaptiveDT
# TimeStepper should take time steps small enough to capture the
# oscillation.
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
order = FIRST
family = LAGRANGE
block = 1
[]
[Mesh]
file = 1hex8_10mm_cube.e
[]
[Functions]
[./Fiss_Function]
type = PiecewiseLinear
x = '0 1e6 2e6 2.001e6 2.002e6'
y = '0 3e8 3e8 12e8 0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./temp]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
volumetric_locking_correction = true
incremental = true
eigenstrain_names = thermal_expansion
decomposition_method = EigenSolution
add_variables = true
generate_output = 'vonmises_stress'
[../]
[]
[Kernels]
[./heat]
type = HeatConduction
variable = temp
[../]
[./heat_ie]
type = HeatConductionTimeDerivative
variable = temp
[../]
[./heat_source]
type = HeatSource
variable = temp
value = 1.0
function = Fiss_Function
[../]
[]
[BCs]
[./bottom_temp]
type = DirichletBC
variable = temp
boundary = 1
value = 300
[../]
[./top_bottom_disp_x]
type = DirichletBC
variable = disp_x
boundary = '1'
value = 0
[../]
[./top_bottom_disp_y]
type = DirichletBC
variable = disp_y
boundary = '1'
value = 0
[../]
[./top_bottom_disp_z]
type = DirichletBC
variable = disp_z
boundary = '1'
value = 0
[../]
[]
[Materials]
[./thermal]
type = HeatConductionMaterial
temp = temp
specific_heat = 1.0
thermal_conductivity = 1.0
[../]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 300e6
poissons_ratio = .3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[./thermal_expansion]
type = ComputeThermalExpansionEigenstrain
thermal_expansion_coeff = 5e-6
stress_free_temperature = 300.0
temperature = temp
eigenstrain_name = thermal_expansion
[../]
[./density]
type = Density
density = 10963.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
verbose = true
nl_abs_tol = 1e-10
num_steps = 50000
end_time = 2.002e6
[./TimeStepper]
type = IterationAdaptiveDT
timestep_limiting_function = Fiss_Function
max_function_change = 3e7
dt = 1e6
[../]
[]
[Postprocessors]
[./Temperature_of_Block]
type = ElementAverageValue
variable = temp
execute_on = 'timestep_end'
[../]
[./vonMises]
type = ElementAverageValue
variable = vonmises_stress
execute_on = 'timestep_end'
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 10
[../]
[]
[Problem]
restart_file_base = adapt_tstep_function_change_restart1_checkpoint_cp/0065
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_2/plane2_mu_0_2_pen_sm.i
[Mesh]
file = plane2_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_x = diag_saved_x
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = LinearIsotropicMaterial
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = LinearIsotropicMaterial
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-8
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = plane2_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = plane2_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/tensor_mechanics/test/tests/material_limit_time_step/elas_plas/nafems_nl1_lim.i
#
# Tests material model IsotropicPlasticity with material based time stepper
# Boundary conditions from NAFEMS test NL1
#
[GlobalParams]
order = FIRST
family = LAGRANGE
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]#Comment
file = one_elem2.e
[] # Mesh
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[] # Variables
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_eff]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[] # AuxVariables
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
[../]
[./vonmises]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = vonmises
scalar_type = VonMisesStress
execute_on = timestep_end
[../]
[./elastic_strain_yy]
type = RankTwoAux
rank_two_tensor = elastic_strain
variable = elastic_strain_yy
index_i = 1
index_j = 1
[../]
[./plastic_strain_eff]
type = MaterialRealAux
property = effective_plastic_strain
variable = plastic_strain_eff
[../]
[./tot_strain_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = tot_strain_yy
index_i = 1
index_j = 1
[../]
[] # AuxKernels
[Functions]
[./appl_dispx]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0'
y = '0.0 0.25e-4 0.50e-4 0.50e-4 0.50e-4 0.25e-4 0.0 0.0 0.0'
[../]
[./appl_dispy]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0'
y = '0.0 0.0 0.0 0.25e-4 0.50e-4 0.50e-4 0.50e-4 0.25e-4 0.0 '
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 101
value = 0.0
[../]
[./origin_x]
type = DirichletBC
variable = disp_x
boundary = 103
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 102
value = 0.0
[../]
[./origin_y]
type = DirichletBC
variable = disp_y
boundary = 103
value = 0.0
[../]
[./top_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1
function = appl_dispy
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 2
function = appl_dispx
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
block = 1
youngs_modulus = 250e9
poissons_ratio = 0.25
[../]
[./strain]
type = ComputePlaneFiniteStrain
block = 1
[../]
[./stress]
type = ComputeMultipleInelasticStress
inelastic_models = 'isoplas'
block = 1
[../]
[./isoplas]
type = IsotropicPlasticityStressUpdate
yield_stress = 5e6
hardening_constant = 0.0
relative_tolerance = 1e-20
absolute_tolerance = 1e-8
max_inelastic_increment = 0.000001
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
l_tol = 1e-4
l_max_its = 100
nl_max_its = 20
[./TimeStepper]
type = IterationAdaptiveDT
dt = 0.1
time_t = '1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0'
time_dt = '0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1'
optimal_iterations = 30
iteration_window = 9
growth_factor = 2.0
cutback_factor = 0.5
timestep_limiting_postprocessor = matl_ts_min
[../]
start_time = 0.0
num_steps = 1000
end_time = 8.0
[] # Executioner
[Postprocessors]
[./matl_ts_min]
type = MaterialTimeStepPostprocessor
[../]
[./stress_xx]
type = ElementAverageValue
variable = stress_xx
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./vonmises]
type = ElementAverageValue
variable = vonmises
[../]
[./el_strain_yy]
type = ElementAverageValue
variable = elastic_strain_yy
[../]
[./plas_strain_eff]
type = ElementAverageValue
variable = plastic_strain_eff
[../]
[./tot_strain_yy]
type = ElementAverageValue
variable = tot_strain_yy
[../]
[./disp_x1]
type = NodalVariableValue
nodeid = 0
variable = disp_x
[../]
[./disp_x4]
type = NodalVariableValue
nodeid = 3
variable = disp_x
[../]
[./disp_y1]
type = NodalVariableValue
nodeid = 0
variable = disp_y
[../]
[./disp_y4]
type = NodalVariableValue
nodeid = 3
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[]
[Outputs]
exodus = true
csv = true
[./console]
type = Console
output_linear = true
[../]
[] # Outputs
modules/xfem/test/tests/moving_interface/phase_transition.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 11
ny = 1
xmin = 0
xmax = 2
ymin = 0
ymax = 1
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./velocity]
type = XFEMPhaseTransitionMovingInterfaceVelocity
diffusivity_at_positive_level_set = 5
diffusivity_at_negative_level_set = 1
equilibrium_concentration_jump = 1
value_at_interface_uo = value_uo
[../]
[./value_uo]
type = PointValueAtXFEMInterface
variable = 'u'
geometric_cut_userobject = 'moving_line_segments'
execute_on = 'nonlinear'
level_set_var = ls
[../]
[./moving_line_segments]
type = MovingLineSegmentCutSetUserObject
cut_data = '0.5 0 0.5 1.0 0 0'
heal_always = true
interface_velocity = velocity
[../]
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./ic_u]
type = FunctionIC
variable = u
function = 'if(x<0.51, 2, 1)'
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[Constraints]
[./u_constraint]
type = XFEMEqualValueAtInterface
geometric_cut_userobject = 'moving_line_segments'
use_displaced_mesh = false
variable = u
value = 2
alpha = 1e5
[../]
[]
[Kernels]
[./diff]
type = MatDiffusion
variable = u
diffusivity = diffusion_coefficient
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[AuxKernels]
[./ls]
type = LineSegmentLevelSetAux
line_segment_cut_set_user_object = 'moving_line_segments'
variable = ls
[../]
[]
[Materials]
[./diffusivity_A]
type = GenericConstantMaterial
prop_names = A_diffusion_coefficient
prop_values = 5
[../]
[./diffusivity_B]
type = GenericConstantMaterial
prop_names = B_diffusion_coefficient
prop_values = 1
[../]
[./diff_combined]
type = LevelSetBiMaterialReal
levelset_positive_base = 'A'
levelset_negative_base = 'B'
level_set_var = ls
prop_name = diffusion_coefficient
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
value = 2
boundary = 3
[../]
[./right_u]
type = NeumannBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-12
nl_abs_tol = 1e-11
start_time = 0.0
dt = 0.01
num_steps = 4
max_xfem_update = 1
[]
[Outputs]
execute_on = timestep_end
exodus = true
perf_graph = true
[./console]
type = Console
output_linear = true
[../]
csv = true
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_4/brick4_mu_0_2_pen_sm.i
[Mesh]
file = brick4_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[./tang_force_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x59]
type = NodalVariableValue
nodeid = 58
variable = disp_x
[../]
[./disp_x64]
type = NodalVariableValue
nodeid = 63
variable = disp_x
[../]
[./disp_y59]
type = NodalVariableValue
nodeid = 58
variable = disp_y
[../]
[./disp_y64]
type = NodalVariableValue
nodeid = 63
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
file_base = brick4_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = brick4_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x59 disp_y59 disp_x64 disp_y64 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+6
[../]
[]
modules/combined/test/tests/sliding_block/sliding/dirac/sm/frictionless_kinematic_sm.i
# This is a benchmark test that checks Dirac based frictionless
# contact using the kinematic method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 4 101'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 100
nl_max_its = 1000
dt = 0.05
end_time = 10
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+6
formulation = kinematic
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_4/brick4_template2.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick4_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x59]
type = NodalVariableValue
nodeid = 58
variable = disp_x
[../]
[./disp_x64]
type = NodalVariableValue
nodeid = 63
variable = disp_x
[../]
[./disp_y59]
type = NodalVariableValue
nodeid = 58
variable = disp_y
[../]
[./disp_y64]
type = NodalVariableValue
nodeid = 63
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x59 disp_y59 disp_x64 disp_y64 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/xfem/test/tests/pressure_bc/sm/2d_pressure_displaced_mesh.i
[GlobalParams]
order = FIRST
family = LAGRANGE
volumetric_locking_correction = false
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
displacements = 'disp_x disp_y'
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.0 0.5 1.0 0.5'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx] # stress aux variables are defined for output; this is a way to get integration point variables to the output file
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_xx] # computes stress components for output
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
execute_on = timestep_end # for efficiency, only compute at the end of a timestep
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
execute_on = timestep_end
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
use_displaced_mesh = true
[../]
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0 1.0'
y = '500 500'
[../]
[./bc_func_tx]
type = ParsedFunction
value = '0.5-(0.5-x)*cos(pi*t/2.0)-x'
[../]
[./bc_func_ty]
type = ParsedFunction
value = '(0.5-x)*sin(pi*t/2.0)+0.5'
[../]
[]
[BCs]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./bottom_x]
type = DirichletBC
boundary = 0
variable = disp_x
value = 0.0
[../]
[./top_right_y]
type = FunctionDirichletBC
boundary = 2
preset = false
variable = disp_y
function = bc_func_ty
[../]
[./top_right_x]
type = FunctionDirichletBC
boundary = 2
preset = false
variable = disp_x
function = bc_func_tx
[../]
[]
[DiracKernels]
[./pressure_x]
type = XFEMPressure
variable = disp_x
component = 0
function = pressure
use_displaced_mesh = true
[../]
[./pressure_y]
type = XFEMPressure
variable = disp_y
component = 1
function = pressure
use_displaced_mesh = true
[../]
[]
[Materials]
[./elast]
type = Elastic
block = 0
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
formulation = NonlinearPlaneStrain
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-14
# time control
start_time = 0.0
dt = 0.1
end_time = 1.0
[]
[Outputs]
file_base = 2d_pressure_displaced_mesh_out
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
test/tests/userobjects/toggle_mesh_adaptivity/toggle_mesh_adaptivity_gaussian_ic_stop_time.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./gaussian_ic]
type = FunctionIC
variable = u
function = gaussian_2d
[../]
[]
[Functions]
[./gaussian_2d]
type = ParsedFunction
value = exp(-((x-x0)*(x-x0)+(y-y0)*(y-y0))/2.0/sigma/sigma)
vars = 'sigma x0 y0'
vals = '0.05 0.35 0.25'
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.02
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./Periodic]
[./all]
variable = u
auto_direction = 'x y'
[../]
[../]
[]
[Executioner]
type = Transient
num_steps = 4
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
initial_steps = 1
initial_marker = marker
cycles_per_step = 1
marker = marker
max_h_level = 2
stop_time = 0.0
[./Markers]
[./marker]
type = CircleMarker
point = '0.35 0.25 0'
radius = 0.2
inside = refine
outside = coarsen
[../]
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
print_mesh_changed_info = true
[../]
[]
test/tests/time_integrators/actually_explicit_euler_verification/ee-1d-quadratic.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 20
elem_type = EDGE3
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x*x-2*t
[../]
[./exact_fn]
type = ParsedFunction
value = t*x*x
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
l_tol = 1e-12
start_time = 0.0
num_steps = 20
dt = 0.00005
[./TimeIntegrator]
type = ActuallyExplicitEuler
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/penny_crack_cfp.i
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
volumetric_locking_correction = true
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 3
ny = 3
nz = 3
xmin = -1.1
xmax = 1.1
ymin = -1.1
ymax = 1.1
zmin = -1.1
zmax = 1.1
elem_type = HEX8
displacements = 'disp_x disp_y disp_z'
[]
[UserObjects]
[./circle_cut_uo]
type = CircleCutUserObject
cut_data = '0 0 0
0 -0.5 0
-0.5 0 0'
[../]
[]
[AuxVariables]
[./SED]
order = CONSTANT
family = MONOMIAL
[../]
[]
[DomainIntegral]
integrals = 'Jintegral'
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
crack_direction_method = CurvedCrackFront
radius_inner = '0.3'
radius_outer = '0.6'
poissons_ratio = 0.3
youngs_modulus = 207000
block = 0
crack_front_points_provider = circle_cut_uo
number_points_from_provider = 10
convert_J_to_K = true
closed_loop = true
incremental = true
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
add_variables = true
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress'
[../]
[]
[AuxKernels]
[./SED]
type = MaterialRealAux
variable = SED
property = strain_energy_density
execute_on = timestep_end
block = 0
[../]
[]
[Functions]
[./top_trac_z]
type = ConstantFunction
value = 10
[../]
[]
[BCs]
[./top_z]
type = FunctionNeumannBC
boundary = front
variable = disp_z
function = top_trac_z
[../]
[./bottom_x]
type = DirichletBC
boundary = back
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = back
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = back
variable = disp_z
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 207000
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_4/brick4_mu_0_2_pen.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick4_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[./tang_force_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x59]
type = NodalVariableValue
nodeid = 58
variable = disp_x
[../]
[./disp_x64]
type = NodalVariableValue
nodeid = 63
variable = disp_x
[../]
[./disp_y59]
type = NodalVariableValue
nodeid = 58
variable = disp_y
[../]
[./disp_y64]
type = NodalVariableValue
nodeid = 63
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
file_base = brick4_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = brick4_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x59 disp_y59 disp_x64 disp_y64 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+6
[../]
[]
modules/phase_field/examples/rigidbodymotion/AC_CH_Multigrain.i
# Tests the rigid body motion due to applied force of multiple particles.
# ***COPY AND PASTE THESE AS NEEDED***
# 'gr0 gr1 gr2 gr3 gr4 gr5 gr6 gr7 gr8 gr9 gr10 gr11 gr12 gr13 gr14 gr15 gr16 gr17 gr18 gr19'
# (gr0^2+gr1^2+gr2^2+gr3^2+gr4^2+gr5^2+gr6^2+gr7^2+gr8^2+gr9^2+gr10^2+gr11^2+gr12^2+gr13^2+gr14^2+gr15^2+gr16^2+gr17^2+gr18^2+gr19^2)
# (gr0^3+gr1^3+gr2^3+gr3^3+gr4^3+gr5^3+gr6^3+gr7^3+gr8^3+gr9^3+gr10^3+gr11^3+gr12^3+gr13^3+gr14^3+gr15^3+gr16^3+gr17^3+gr18^3+gr19^3)
[GlobalParams]
op_num = 4
var_name_base = gr
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 15
ny = 15
xmin = 0
xmax = 600
ymin = 0
ymax = 600
elem_type = QUAD4
uniform_refine = 1
[]
[Variables]
[./c]
[../]
[./w]
[../]
[./PolycrystalVariables] # Automatically creates order parameter variables
[../]
[]
[AuxVariables]
[./bnds]
[../]
[./force]
order = CONSTANT
family = MONOMIAL
[../]
[./free_energy]
order = CONSTANT
family = MONOMIAL
[../]
[./unique_grains]
order = CONSTANT
family = MONOMIAL
[../]
[./var_indices]
order = CONSTANT
family = MONOMIAL
[../]
[./centroids]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Functions]
[./load_x]
# Defines the force on the grains in the x-direction
type = ParsedFunction
value = 0.005*cos(x*pi/600)
[../]
[./load_y]
# Defines the force on the grains in the y-direction
type = ConstantFunction
value = 0.002
[../]
[]
[Kernels]
[./RigidBodyMultiKernel]
# Creates all of the necessary Allen Cahn kernels automatically
c = c
f_name = f_loc
mob_name = L
kappa_name = kappa_gr
grain_force = grain_force
grain_volumes = grain_volumes
grain_tracker_object = grain_center
[../]
# Cahn Hilliard kernels
[./dt_w]
type = CoupledTimeDerivative
variable = w
v = c
[../]
[./CH_wres]
type = SplitCHWRes
variable = w
mob_name = M
[../]
[./CH_Parsed]
type = SplitCHParsed
variable = c
f_name = f_loc
w = w
kappa_name = kappa_c
args = 'gr0 gr1 gr2 gr3' # Must be changed as op_num changes. Copy/paste from line 4
[../]
[./CH_RBM]
type = MultiGrainRigidBodyMotion
variable = w
c = c
v = 'gr0 gr1 gr2 gr3'
grain_force = grain_force
grain_volumes = grain_volumes
grain_tracker_object = grain_center
[../]
[]
[AuxKernels]
[./force_x]
type = FunctionAux
variable = force
function = load_x
[../]
[./force_y]
type = FunctionAux
variable = force
function = load_y
[../]
[./energy_density]
type = TotalFreeEnergy
variable = free_energy
f_name = f_loc
kappa_names = kappa_c
interfacial_vars = c
[../]
[./bnds]
type = BndsCalcAux
variable = bnds
[../]
[]
[BCs]
[./bcs]
#zero flux BC
type = NeumannBC
value = 0
variable = c
boundary = '0 1 2 3'
[../]
[]
[Materials]
[./constants]
type = GenericConstantMaterial
prop_names = 'kappa_gr kappa_c M L'
prop_values = '250 4000 4.5 60'
[../]
[./free_energy]
type = DerivativeParsedMaterial
f_name = f_loc
constant_names = 'A B'
constant_expressions = '450 1.5'
args = 'c gr0 gr1 gr2 gr3' #Must be changed as op_num changes. Copy/paste from line 4
function = 'A*c^2*(1-c)^2+B*(c^2+6*(1-c)*(gr0^2+gr1^2+gr2^2+gr3^2)
-4*(2-c)*(gr0^3+gr1^3+gr2^3+gr3^3)
+3*(gr0^2+gr1^2+gr2^2+gr3^2)^2)'
#Copy/paste from lines 5-6
derivative_order = 2
[../]
[./force_density]
type = ExternalForceDensityMaterial
c = c
k = 10.0
force_x = load_x
force_y = load_y
[../]
[]
[Postprocessors]
[./total_energy]
type = ElementIntegralVariablePostprocessor
variable = free_energy
execute_on = 'initial timestep_end'
[../]
[]
[VectorPostprocessors]
[./forces]
type = GrainForcesPostprocessor
grain_force = grain_force
[../]
[./grain_volumes]
type = FeatureVolumeVectorPostprocessor
flood_counter = grain_center
execute_on = 'initial timestep_begin'
[../]
[]
[UserObjects]
[./grain_center]
type = GrainTracker
outputs = none
compute_var_to_feature_map = true
execute_on = 'initial timestep_begin'
[../]
[./grain_force]
type = ComputeExternalGrainForceAndTorque
grain_data = grain_center
c = c
etas = 'gr0 gr1 gr2 gr3'
force_density = force_density_ext
execute_on = 'linear nonlinear'
[../]
[]
[Preconditioning]
[./coupled]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = NEWTON
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type
-sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly
ilu 2'
l_tol = 1e-05
nl_max_its = 30
l_max_its = 30
nl_rel_tol = 1e-07
nl_abs_tol = 1e-09
start_time = 0.0
end_time = 4
dt = 0.05
[]
[Outputs]
exodus = true
perf_graph = true
[./display]
type = Console
max_rows = 12
[../]
[]
[ICs]
[./concentration_IC]
type = SpecifiedSmoothCircleIC
x_positions = '150 450 150 450'
y_positions = '150 150 450 450'
z_positions = '0 0 0 0'
radii = '120 120 120 120'
variable = c
invalue = 1.0
outvalue = 0.0
int_width = 25
[../]
[./gr0_IC]
type = SmoothCircleIC
variable = gr0
x1 = 150
y1 = 150
radius = 120
invalue = 1.0
outvalue = 0.0
int_width = 25
[../]
[./gr1_IC]
type = SmoothCircleIC
variable = gr1
x1 = 450
y1 = 150
radius = 120
invalue = 1.0
outvalue = 0.0
int_width = 25
[../]
[./gr2_IC]
type = SmoothCircleIC
variable = gr2
x1 = 150
y1 = 450
radius = 120
invalue = 1.0
outvalue = 0.0
int_width = 25
[../]
[./gr3_IC]
type = SmoothCircleIC
variable = gr3
x1 = 450
y1 = 450
radius = 120
invalue = 1.0
outvalue = 0.0
int_width = 25
[../]
[]
modules/combined/test/tests/sliding_block/sliding/constraint/sm/frictional_02_penalty_sm.i
# This is a benchmark test that checks constraint based frictional
# contact using the penalty method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# A friction coefficient of 0.2 is used. The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
penalty = 1e+7
friction_coefficient = 0.2
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
test/tests/multiapps/multilevel/time_dt_from_master_master.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmax = 100
[]
[Functions]
[./dts]
type = PiecewiseLinear
x = '0 1'
y = '0.25 1'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./td]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
num_steps = 4
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
dt = 0.25
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
exodus = true
[./out]
type = Console
output_file = true
[../]
[]
[MultiApps]
[./sub]
type = TransientMultiApp
app_type = MooseTestApp
positions = '0 0 0 0.5 0.5 0'
input_files = time_dt_from_master_sub.i
[../]
[]
modules/porous_flow/test/tests/sinks/s02.i
# apply a sink flux with use_mobility=true and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = y+1
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '0.2 0 0 0 0.1 0 0 0 0.1'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[./xval]
[../]
[./yval]
[../]
[]
[ICs]
[./xval]
type = FunctionIC
variable = xval
function = x
[../]
[./yval]
type = FunctionIC
variable = yval
function = y
[../]
[]
[Functions]
[./mass00]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)'
vars = 'vol por dens0 pp bulk'
vals = '0.25 0.1 1.1 p00 1.3'
[../]
[./mass01]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)'
vars = 'vol por dens0 pp bulk'
vals = '0.25 0.1 1.1 p01 1.3'
[../]
[./expected_mass_change00]
type = ParsedFunction
value = 'fcn*perm*dens0*exp(pp/bulk)/visc*area*dt'
vars = 'fcn perm dens0 pp bulk visc area dt'
vals = '6 0.2 1.1 p00 1.3 1.1 0.5 1E-3'
[../]
[./expected_mass_change01]
type = ParsedFunction
value = 'fcn*perm*dens0*exp(pp/bulk)/visc*area*dt'
vars = 'fcn perm dens0 pp bulk visc area dt'
vals = '6 0.2 1.1 p01 1.3 1.1 0.5 1E-3'
[../]
[./mass00_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm00_prev del_m00'
[../]
[./mass01_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm01_prev del_m01'
[../]
[]
[Postprocessors]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m00]
type = FunctionValuePostprocessor
function = mass00
execute_on = 'initial timestep_end'
[../]
[./m00_prev]
type = FunctionValuePostprocessor
function = mass00
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m00]
type = FunctionValuePostprocessor
function = expected_mass_change00
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m00_expect]
type = FunctionValuePostprocessor
function = mass00_expect
execute_on = 'timestep_end'
[../]
[./p10]
type = PointValue
point = '1 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m01]
type = FunctionValuePostprocessor
function = mass01
execute_on = 'initial timestep_end'
[../]
[./m01_prev]
type = FunctionValuePostprocessor
function = mass01
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m01]
type = FunctionValuePostprocessor
function = expected_mass_change01
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m01_expect]
type = FunctionValuePostprocessor
function = mass01_expect
execute_on = 'timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowSink
boundary = 'left'
variable = pp
use_mobility = true
use_relperm = true
fluid_phase = 0
flux_function = 6
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-3
end_time = 0.03
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s02
[./console]
type = Console
execute_on = 'nonlinear linear'
interval = 30
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
interval = 3
[../]
[]
modules/porous_flow/test/tests/sinks/s03.i
# apply a sink flux with use_relperm=true and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1.1
[../]
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = -y
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '0.2 0 0 0 0.1 0 0 0 0.1'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[./xval]
[../]
[./yval]
[../]
[]
[ICs]
[./xval]
type = FunctionIC
variable = xval
function = x
[../]
[./yval]
type = FunctionIC
variable = yval
function = y
[../]
[]
[Functions]
[./mass00]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)*pow(1+pow(-al*pp,1.0/(1-m)),-m)'
vars = 'vol por dens0 pp bulk al m'
vals = '0.25 0.1 1.1 p00 1.3 1.1 0.5'
[../]
[./sat00]
type = ParsedFunction
value = 'pow(1+pow(-al*pp,1.0/(1-m)),-m)'
vars = 'pp al m'
vals = 'p00 1.1 0.5'
[../]
[./mass01]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)*pow(1+pow(-al*pp,1.0/(1-m)),-m)'
vars = 'vol por dens0 pp bulk al m'
vals = '0.25 0.1 1.1 p01 1.3 1.1 0.5'
[../]
[./expected_mass_change00]
type = ParsedFunction
value = 'fcn*pow(pow(1+pow(-al*pp,1.0/(1-m)),-m),2)*area*dt'
vars = 'fcn perm dens0 pp bulk visc area dt al m'
vals = '6 0.2 1.1 p00 1.3 1.1 0.5 1E-3 1.1 0.5'
[../]
[./expected_mass_change01]
type = ParsedFunction
value = 'fcn*pow(pow(1+pow(-al*pp,1.0/(1-m)),-m),2)*area*dt'
vars = 'fcn perm dens0 pp bulk visc area dt al m'
vals = '6 0.2 1.1 p01 1.3 1.1 0.5 1E-3 1.1 0.5'
[../]
[./mass00_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm00_prev del_m00'
[../]
[./mass01_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm01_prev del_m01'
[../]
[./sat01]
type = ParsedFunction
value = 'pow(1+pow(-al*pp,1.0/(1-m)),-m)'
vars = 'pp al m'
vals = 'p01 1.1 0.5'
[../]
[./expected_mass_change_rate]
type = ParsedFunction
value = 'fcn*pow(pow(1+pow(-al*pp,1.0/(1-m)),-m),2)*area'
vars = 'fcn perm dens0 pp bulk visc area dt al m'
vals = '6 0.2 1.1 p00 1.3 1.1 0.5 1E-3 1.1 0.5'
[../]
[]
[Postprocessors]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m00]
type = FunctionValuePostprocessor
function = mass00
execute_on = 'initial timestep_end'
[../]
[./m00_prev]
type = FunctionValuePostprocessor
function = mass00
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m00]
type = FunctionValuePostprocessor
function = expected_mass_change00
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m00_expect]
type = FunctionValuePostprocessor
function = mass00_expect
execute_on = 'timestep_end'
[../]
[./p10]
type = PointValue
point = '1 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m01]
type = FunctionValuePostprocessor
function = mass01
execute_on = 'initial timestep_end'
[../]
[./m01_prev]
type = FunctionValuePostprocessor
function = mass01
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m01]
type = FunctionValuePostprocessor
function = expected_mass_change01
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m01_expect]
type = FunctionValuePostprocessor
function = mass01_expect
execute_on = 'timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./s00]
type = FunctionValuePostprocessor
function = sat00
execute_on = 'initial timestep_end'
[../]
[./mass00_rate]
type = FunctionValuePostprocessor
function = expected_mass_change_rate
execute_on = 'initial timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowSink
boundary = 'left'
variable = pp
use_mobility = false
use_relperm = true
fluid_phase = 0
flux_function = 6
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-3
end_time = 0.018
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s03
[./console]
type = Console
execute_on = 'nonlinear linear'
interval = 5
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
interval = 2
[../]
[]
modules/xfem/test/tests/corner_nodes_cut/corner_node_cut_twice.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
volumetric_locking_correction = true
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '-0.0 0.3 1.0 0.7'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
[../]
[]
[BCs]
[./top_x]
type = DirichletBC
boundary = 2
variable = disp_x
value = 0.0
[../]
[./top_y]
type = DirichletBC
boundary = 2
variable = disp_y
value = 0.1
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = -0.1
[../]
[./bottom_x]
type = DirichletBC
boundary = 0
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-9
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
test/tests/postprocessors/table_tolerance/table_tolerance_test.i
# This test verifies that the row tolerance for outputting and displaying postprocessors
# can be controlled via the new_row_tolerance parameter. Normally new rows are only added
# if they are above a given tolerance.
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[AuxVariables]
[./aux]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxKernels]
[./func]
type = FunctionAux
function = 'sin(x + 1e12*t)'
variable = aux
execute_on = timestep_begin
[../]
[]
[Executioner]
type = Transient
num_steps = 20
# Very small timestep size
dt = 1e-13
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Postprocessors]
[./integral]
type = ElementIntegralVariablePostprocessor
variable = aux
[../]
[]
[Problem]
kernel_coverage_check = false
solve = false
[]
[Outputs]
exodus = false
[./out]
type = CSV
new_row_tolerance = 1e-14
[../]
[./console]
type = Console
new_row_tolerance = 1e-14
[../]
[]
modules/phase_field/examples/grain_growth/grain_growth_2D_graintracker.i
# This simulation predicts GB migration of a 2D copper polycrystal with 100 grains represented with 18 order parameters
# Mesh adaptivity and time step adaptivity are used
# An AuxVariable is used to calculate the grain boundary locations
# Postprocessors are used to record time step and the number of grains
[Mesh]
# Mesh block. Meshes can be read in or automatically generated
type = GeneratedMesh
dim = 2 # Problem dimension
nx = 11 # Number of elements in the x-direction
ny = 11 # Number of elements in the y-direction
xmin = 0 # minimum x-coordinate of the mesh
xmax = 1000 # maximum x-coordinate of the mesh
ymin = 0 # minimum y-coordinate of the mesh
ymax = 1000 # maximum y-coordinate of the mesh
elem_type = QUAD4 # Type of elements used in the mesh
uniform_refine = 3 # Initial uniform refinement of the mesh
parallel_type = replicated # Periodic BCs
[]
[GlobalParams]
# Parameters used by several kernels that are defined globally to simplify input file
op_num = 8 # Number of order parameters used
var_name_base = gr # Base name of grains
[]
[Variables]
# Variable block, where all variables in the simulation are declared
[./PolycrystalVariables]
[../]
[]
[UserObjects]
[./voronoi]
type = PolycrystalVoronoi
grain_num = 100 # Number of grains
rand_seed = 10
[../]
[./grain_tracker]
type = GrainTracker
threshold = 0.2
connecting_threshold = 0.08
compute_halo_maps = true # Only necessary for displaying HALOS
[../]
[]
[ICs]
[./PolycrystalICs]
[./PolycrystalColoringIC]
polycrystal_ic_uo = voronoi
[../]
[../]
[]
[AuxVariables]
# Dependent variables
[./bnds]
# Variable used to visualize the grain boundaries in the simulation
[../]
[./unique_grains]
order = CONSTANT
family = MONOMIAL
[../]
[./var_indices]
order = CONSTANT
family = MONOMIAL
[../]
[./ghost_regions]
order = CONSTANT
family = MONOMIAL
[../]
[./halos]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
# Kernel block, where the kernels defining the residual equations are set up.
[./PolycrystalKernel]
# Custom action creating all necessary kernels for grain growth. All input parameters are up in GlobalParams
[../]
[]
[AuxKernels]
# AuxKernel block, defining the equations used to calculate the auxvars
[./bnds_aux]
# AuxKernel that calculates the GB term
type = BndsCalcAux
variable = bnds
execute_on = 'initial timestep_end'
[../]
[./unique_grains]
type = FeatureFloodCountAux
variable = unique_grains
flood_counter = grain_tracker
field_display = UNIQUE_REGION
execute_on = 'initial timestep_end'
[../]
[./var_indices]
type = FeatureFloodCountAux
variable = var_indices
flood_counter = grain_tracker
field_display = VARIABLE_COLORING
execute_on = 'initial timestep_end'
[../]
[./ghosted_entities]
type = FeatureFloodCountAux
variable = ghost_regions
flood_counter = grain_tracker
field_display = GHOSTED_ENTITIES
execute_on = 'initial timestep_end'
[../]
[./halos]
type = FeatureFloodCountAux
variable = halos
flood_counter = grain_tracker
field_display = HALOS
execute_on = 'initial timestep_end'
[../]
[]
[BCs]
# Boundary Condition block
[./Periodic]
[./top_bottom]
auto_direction = 'x y' # Makes problem periodic in the x and y directions
[../]
[../]
[]
[Materials]
[./CuGrGr]
# Material properties
type = GBEvolution
T = 450 # Constant temperature of the simulation (for mobility calculation)
wGB = 14 # Width of the diffuse GB
GBmob0 = 2.5e-6 #m^4(Js) for copper from Schoenfelder1997
Q = 0.23 #eV for copper from Schoenfelder1997
GBenergy = 0.708 #J/m^2 from Schoenfelder1997
[../]
[]
[Postprocessors]
# Scalar postprocessors
[./dt]
# Outputs the current time step
type = TimestepSize
[../]
[]
[Executioner]
type = Transient # Type of executioner, here it is transient with an adaptive time step
scheme = bdf2 # Type of time integration (2nd order backward euler), defaults to 1st order backward euler
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
# Uses newton iteration to solve the problem.
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart -mat_mffd_type'
petsc_options_value = 'hypre boomeramg 101 ds'
l_max_its = 30 # Max number of linear iterations
l_tol = 1e-4 # Relative tolerance for linear solves
nl_max_its = 40 # Max number of nonlinear iterations
nl_rel_tol = 1e-10 # Absolute tolerance for nonlienar solves
start_time = 0.0
end_time = 4000
[./TimeStepper]
type = IterationAdaptiveDT
dt = 25 # Initial time step. In this simulation it changes.
optimal_iterations = 6 # Time step will adapt to maintain this number of nonlinear iterations
[../]
[./Adaptivity]
# Block that turns on mesh adaptivity. Note that mesh will never coarsen beyond initial mesh (before uniform refinement)
initial_adaptivity = 2 # Number of times mesh is adapted to initial condition
refine_fraction = 0.7 # Fraction of high error that will be refined
coarsen_fraction = 0.1 # Fraction of low error that will coarsened
max_h_level = 4 # Max number of refinements used, starting from initial mesh (before uniform refinement)
[../]
[]
[Outputs]
exodus = true # Exodus file will be outputted
csv = true
[./console]
type = Console
max_rows = 20 # Will print the 20 most recent postprocessor values to the screen
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_1/plane1_mu_0_2_pen.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = plane1_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeIncrementalSmallStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeIncrementalSmallStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = plane1_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = plane1_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/sliding_block/sliding/constraint/frictionless_kinematic.i
# This is a benchmark test that checks constraint based frictionless
# contact using the kinematic method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./left_stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -sub_pc_type -pc_asm_overlap -ksp_gmres_restart'
petsc_options_value = 'asm lu 20 101'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+6
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/glued_penalty_dirac_sm.i
# This is a dirac (contact formulation) version of glued_penalty.i
[Mesh]
file = blocks_2d_nogap.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.01
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e7
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = glued
formulation = penalty
penalty = 1e+7
system = dirackernel
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_2/plane2_template2_sm.i
[Mesh]
file = plane2_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 200
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_x = diag_saved_x
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = LinearIsotropicMaterial
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = LinearIsotropicMaterial
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-8
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_2/cyl2_template1_sm.i
#
# This input file is a template for both the frictionless and glued test
# variations for the current problem geometry. In order to create an input
# file to run outside the runtest framework, look at the tests file and add the
# appropriate input file lines from the cli_args line.
#
[Mesh]
file = cyl2_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/porous_flow/test/tests/sinks/s09.i
# Apply a piecewise-linear sink flux to the right-hand side and watch fluid flow to it
#
# This test has a single phase with two components. The test initialises with
# the porous material fully filled with component=1. The left-hand side is fixed
# at porepressure=1 and mass-fraction of the zeroth component being unity.
# The right-hand side has a very strong piecewise-linear flux that keeps the
# porepressure~0 at that side. Fluid mass is extracted by this flux in proportion
# to the fluid component mass fraction.
#
# Therefore, the zeroth fluid component will flow from left to right (down the
# pressure gradient).
#
# The important DE is
# porosity * dc/dt = (perm / visc) * grad(P) * grad(c)
# which is true for c = mass-fraction, and very large bulk modulus of the fluid.
# For grad(P) constant in time and space (as in this example) this is just the
# advection equation for c, with velocity = perm / visc / porosity. The parameters
# are chosen to velocity = 1 m/s.
# In the numerical world, and especially with full upwinding, the advection equation
# suffers from diffusion. In this example, the diffusion is obvious when plotting
# the mass-fraction along the line, but the average velocity of the front is still
# correct at 1 m/s.
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp frac'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Variables]
[./pp]
[../]
[./frac]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = 1-x
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = frac
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = pp
[../]
[./flux0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
gravity = '0 0 0'
variable = frac
[../]
[./flux1]
type = PorousFlowAdvectiveFlux
fluid_component = 1
gravity = '0 0 0'
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1e10 # need large in order for constant-velocity advection
density0 = 1 # almost irrelevant, except that the ability of the right BC to keep P fixed at zero is related to density_P0
thermal_expansion = 0
viscosity = 11
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = frac
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1.1 0 0 0 1.1 0 0 0 1.1'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2 # irrelevant in this fully-saturated situation
phase = 0
[../]
[]
[BCs]
[./lhs_fixed_a]
type = DirichletBC
boundary = 'left'
variable = frac
value = 1
[../]
[./lhs_fixed_b]
type = DirichletBC
boundary = 'left'
variable = pp
value = 1
[../]
[./flux0]
type = PorousFlowPiecewiseLinearSink
boundary = 'right'
pt_vals = '-100 100'
multipliers = '-1 1'
variable = frac # the zeroth comonent
mass_fraction_component = 0
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 1E4
[../]
[./flux1]
type = PorousFlowPiecewiseLinearSink
boundary = 'right'
pt_vals = '-100 100'
multipliers = '-1 1'
variable = pp # comonent 1
mass_fraction_component = 1
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 1E4
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-2
end_time = 1
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[VectorPostprocessors]
[./mf]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 100
sort_by = x
variable = frac
[../]
[]
[Outputs]
file_base = s09
[./console]
type = Console
execute_on = 'nonlinear linear'
[../]
[./csv]
type = CSV
sync_times = '0.1 0.5 1'
sync_only = true
[../]
interval = 10
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_4/ring4_mu_0_2_pen.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = ring4_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = ring4_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = ring4_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
test/tests/userobjects/toggle_mesh_adaptivity/toggle_mesh_adaptivity_gaussian_ic.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./gaussian_ic]
type = FunctionIC
variable = u
function = gaussian_2d
[../]
[]
[Functions]
[./gaussian_2d]
type = ParsedFunction
value = exp(-((x-x0)*(x-x0)+(y-y0)*(y-y0))/2.0/sigma/sigma)
vars = 'sigma x0 y0'
vals = '0.05 0.35 0.25'
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.02
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./Periodic]
[./all]
variable = u
auto_direction = 'x y'
[../]
[../]
[]
[Executioner]
type = Transient
num_steps = 4
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
initial_steps = 1
initial_marker = marker
cycles_per_step = 1
marker = marker
max_h_level = 2
[./Markers]
[./marker]
type = CircleMarker
point = '0.35 0.25 0'
radius = 0.2
inside = refine
outside = coarsen
[../]
[../]
[]
[UserObjects]
[./mesh_adaptivity_off]
type = ToggleMeshAdaptivity
mesh_adaptivity = 'off'
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
print_mesh_changed_info = true
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/frictionless_kinematic_dirac.i
# This is a dirac (contact formulation) version of frictionless_kinematic.i
[Mesh]
file = blocks_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e7
poissons_ratio = 0.3
[../]
[./right]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.1
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = frictionless
penalty = 1e+6
system = diracKernel
[../]
[]
modules/tensor_mechanics/examples/coal_mining/cosserat_mc_wp.i
# Strata deformation and fracturing around a coal mine
#
# A 2D geometry is used that simulates a transverse section of
# the coal mine. The model is actually 3D, but the "x"
# dimension is only 10m long, meshed with 1 element, and
# there is no "x" displacement. The mine is 300m deep
# and just the roof is studied (0<=z<=300). The model sits
# between 0<=y<=450. The excavation sits in 0<=y<=150. This
# is a "half model": the boundary conditions are such that
# the model simulates an excavation sitting in -150<=y<=150
# inside a model of the region -450<=y<=450. The
# excavation height is 3m (ie, the excavation lies within
# 0<=z<=3). Mining is simulated by moving the excavation's
# roof down, until disp_z=-3 at t=1.
# Time is meaningless in this example
# as quasi-static solutions are sought at each timestep, but
# the number of timesteps controls the resolution of the
# process.
#
# The boundary conditions are:
# - disp_x = 0 everywhere
# - disp_y = 0 at y=0 and y=450
# - disp_z = 0 for y>150
# - disp_z = -3 at maximum, for 0<=y<=150. See excav function.
# That is, rollers on the sides, free at top, and prescribed at bottom.
#
# The small strain formulation is used.
#
# All stresses are measured in MPa. The initial stress is consistent with
# the weight force from density 2500 kg/m^3, ie, stress_zz = -0.025*(300-z) MPa
# where gravity = 10 m.s^-2 = 1E-5 MPa m^2/kg. The maximum and minimum
# principal horizontal stresses are assumed to be equal to 0.8*stress_zz.
#
# Material properties:
# Young's modulus = 8 GPa
# Poisson's ratio = 0.25
# Cosserat layer thickness = 1 m
# Cosserat-joint normal stiffness = large
# Cosserat-joint shear stiffness = 1 GPa
# MC cohesion = 3 MPa
# MC friction angle = 37 deg
# MC dilation angle = 8 deg
# MC tensile strength = 1 MPa
# MC compressive strength = 100 MPa, varying down to 1 MPa when tensile strain = 1
# WeakPlane cohesion = 0.1 MPa
# WeakPlane friction angle = 30 deg
# WeakPlane dilation angle = 10 deg
# WeakPlane tensile strength = 0.1 MPa
# WeakPlane compressive strength = 100 MPa softening to 1 MPa at strain = 1
#
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 1
xmin = -5
xmax = 5
nz = 40
zmin = 0
zmax = 400.0
bias_z = 1.1
ny = 30 # make this a multiple of 3, so y=150 is at a node
ymin = 0
ymax = 450
[]
[left]
type = SideSetsAroundSubdomainGenerator
new_boundary = 11
normal = '0 -1 0'
input = generated_mesh
[]
[right]
type = SideSetsAroundSubdomainGenerator
new_boundary = 12
normal = '0 1 0'
input = left
[]
[front]
type = SideSetsAroundSubdomainGenerator
new_boundary = 13
normal = '-1 0 0'
input = right
[]
[back]
type = SideSetsAroundSubdomainGenerator
new_boundary = 14
normal = '1 0 0'
input = front
[]
[top]
type = SideSetsAroundSubdomainGenerator
new_boundary = 15
normal = '0 0 1'
input = back
[]
[bottom]
type = SideSetsAroundSubdomainGenerator
new_boundary = 16
normal = '0 0 -1'
input = top
[]
[excav]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '-5 0 0'
top_right = '5 150 3'
input = bottom
[]
[roof]
type = SideSetsBetweenSubdomainsGenerator
new_boundary = 21
master_block = 0
paired_block = 1
input = excav
[]
[hole]
type = BlockDeletionGenerator
block_id = 1
input = roof
[]
[]
[GlobalParams]
block = 0
perform_finite_strain_rotations = false
displacements = 'disp_x disp_y disp_z'
Cosserat_rotations = 'wc_x wc_y wc_z'
[]
[Variables]
[./disp_y]
[../]
[./disp_z]
[../]
[./wc_x]
[../]
[]
[Kernels]
[./cy_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_y
component = 1
[../]
[./cz_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_z
component = 2
[../]
[./x_couple]
type = StressDivergenceTensors
use_displaced_mesh = false
variable = wc_x
displacements = 'wc_x wc_y wc_z'
component = 0
base_name = couple
[../]
[./x_moment]
type = MomentBalancing
use_displaced_mesh = false
variable = wc_x
component = 0
[../]
[./gravity]
type = Gravity
use_displaced_mesh = false
variable = disp_z
value = -10E-6
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./wc_y]
[../]
[./wc_z]
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
[../]
[./mc_shear]
type = MaterialStdVectorAux
index = 0
property = mc_plastic_internal_parameter
variable = mc_shear
[../]
[./mc_tensile]
type = MaterialStdVectorAux
index = 1
property = mc_plastic_internal_parameter
variable = mc_tensile
[../]
[./wp_shear]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_internal_parameter
variable = wp_shear
[../]
[./wp_tensile]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_internal_parameter
variable = wp_tensile
[../]
[./mc_shear_f]
type = MaterialStdVectorAux
index = 6
property = mc_plastic_yield_function
variable = mc_shear_f
[../]
[./mc_tensile_f]
type = MaterialStdVectorAux
index = 0
property = mc_plastic_yield_function
variable = mc_tensile_f
[../]
[./wp_shear_f]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_yield_function
variable = wp_shear_f
[../]
[./wp_tensile_f]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_yield_function
variable = wp_tensile_f
[../]
[]
[BCs]
[./no_y]
type = DirichletBC
variable = disp_y
boundary = '11 12 16 21' # note addition of 16 and 21
value = 0.0
[../]
[./no_z]
type = DirichletBC
variable = disp_z
boundary = '16'
value = 0.0
[../]
[./no_wc_x]
type = DirichletBC
variable = wc_x
boundary = '11 12'
value = 0.0
[../]
[./roof]
type = FunctionDirichletBC
variable = disp_z
boundary = 21
function = excav_sideways
[../]
[]
[Functions]
[./ini_xx]
type = ParsedFunction
value = '-0.8*2500*10E-6*(400-z)'
[../]
[./ini_zz]
type = ParsedFunction
value = '-2500*10E-6*(400-z)'
[../]
[./excav_sideways]
type = ParsedFunction
vars = 'end_t ymin ymax e_h closure_dist'
vals = '1.0 0 150.0 -3.0 15.0'
value = 'e_h*max(min((min(t/end_t,1)*(ymax-ymin)+ymin-y)/closure_dist,1),0)'
[../]
[./excav_downwards]
type = ParsedFunction
vars = 'end_t ymin ymax e_h closure_dist'
vals = '1.0 0 150.0 -3.0 15.0'
value = 'e_h*min(t/end_t,1)*max(min(((ymax-ymin)+ymin-y)/closure_dist,1),0)'
[../]
[]
[UserObjects]
[./mc_coh_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 2.99 # MPa
value_residual = 3.01 # MPa
rate = 1.0
[../]
[./mc_fric]
type = TensorMechanicsHardeningConstant
value = 0.65 # 37deg
[../]
[./mc_dil]
type = TensorMechanicsHardeningConstant
value = 0.15 # 8deg
[../]
[./mc_tensile_str_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 1.0 # MPa
value_residual = 1.0 # MPa
rate = 1.0
[../]
[./mc_compressive_str]
type = TensorMechanicsHardeningCubic
value_0 = 100 # Large!
value_residual = 100
internal_limit = 0.1
[../]
[./wp_coh_harden]
type = TensorMechanicsHardeningCubic
value_0 = 0.1
value_residual = 0.1
internal_limit = 10
[../]
[./wp_tan_fric]
type = TensorMechanicsHardeningConstant
value = 0.36 # 20deg
[../]
[./wp_tan_dil]
type = TensorMechanicsHardeningConstant
value = 0.18 # 10deg
[../]
[./wp_tensile_str_harden]
type = TensorMechanicsHardeningCubic
value_0 = 0.1
value_residual = 0.1
internal_limit = 10
[../]
[./wp_compressive_str_soften]
type = TensorMechanicsHardeningCubic
value_0 = 100
value_residual = 1
internal_limit = 1.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeLayeredCosseratElasticityTensor
young = 8E3 # MPa
poisson = 0.25
layer_thickness = 1.0
joint_normal_stiffness = 1E9 # huge
joint_shear_stiffness = 1E3
[../]
[./strain]
type = ComputeCosseratIncrementalSmallStrain
eigenstrain_names = ini_stress
[../]
[./ini_stress]
type = ComputeEigenstrainFromInitialStress
initial_stress = 'ini_xx 0 0 0 ini_xx 0 0 0 ini_zz'
eigenstrain_name = ini_stress
[../]
[./stress]
type = ComputeMultipleInelasticCosseratStress
block = 0
inelastic_models = 'mc wp'
cycle_models = true
relative_tolerance = 2.0
absolute_tolerance = 1E6
max_iterations = 1
tangent_operator = nonlinear
perform_finite_strain_rotations = false
[../]
[./mc]
type = CappedMohrCoulombCosseratStressUpdate
block = 0
warn_about_precision_loss = false
host_youngs_modulus = 8E3
host_poissons_ratio = 0.25
base_name = mc
tensile_strength = mc_tensile_str_strong_harden
compressive_strength = mc_compressive_str
cohesion = mc_coh_strong_harden
friction_angle = mc_fric
dilation_angle = mc_dil
max_NR_iterations = 10000
smoothing_tol = 0.1 # MPa # Must be linked to cohesion
yield_function_tol = 1E-9 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0
[../]
[./wp]
type = CappedWeakPlaneCosseratStressUpdate
block = 0
warn_about_precision_loss = false
base_name = wp
cohesion = wp_coh_harden
tan_friction_angle = wp_tan_fric
tan_dilation_angle = wp_tan_dil
tensile_strength = wp_tensile_str_harden
compressive_strength = wp_compressive_str_soften
max_NR_iterations = 10000
tip_smoother = 0.1
smoothing_tol = 0.1 # MPa # Note, this must be tied to cohesion, otherwise get no possible return at cone apex
yield_function_tol = 1E-11 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0
[../]
[./density]
type = GenericConstantMaterial
prop_names = density
prop_values = 2500
[../]
[]
[Postprocessors]
[./subsidence]
type = PointValue
point = '0 0 400'
variable = disp_z
use_displaced_mesh = false
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
petsc_options_value = ' asm 2 lu gmres 200'
line_search = bt
nl_abs_tol = 1e-3
nl_rel_tol = 1e-5
l_max_its = 30
nl_max_its = 1000
start_time = 0.0
dt = 0.2
end_time = 0.2
[]
[Outputs]
file_base = cosserat_mc_wp
interval = 1
print_linear_residuals = false
csv = true
exodus = true
[./console]
type = Console
output_linear = false
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_3/cyl3_mu_0_2_pen_sm.i
[Mesh]
file = cyl3_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = cyl3_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = cyl3_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
tangential_tolerance = 1e-3
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/constraint/sm/frictionless_kinematic_sm.i
# This is a benchmark test that checks constraint based frictionless
# contact using the kinematic method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2. The gold file is run
# on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -sub_pc_type -pc_asm_overlap -ksp_gmres_restart'
petsc_options_value = 'asm lu 20 101'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+6
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_2/ring2_mu_0_2_pen.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = ring2_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = ring2_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = ring2_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_aug_sm.i
[Mesh]
file = brick1_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 100
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x8]
type = NodalVariableValue
nodeid = 7
variable = disp_x
[../]
[./disp_x13]
type = NodalVariableValue
nodeid = 12
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y8]
type = NodalVariableValue
nodeid = 7
variable = disp_y
[../]
[./disp_y13]
type = NodalVariableValue
nodeid = 12
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_x8 disp_x13 disp_x16 disp_y5 disp_y8 disp_y13 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
tangential_tolerance = 1e-3
formulation = augmented_lagrange
system = constraint
normalize_penalty = true
penalty = 1e8
model = frictionless
al_penetration_tolerance = 1e-8
[../]
[]
modules/xfem/test/tests/moment_fitting/diffusion_moment_fitting_six_points.i
# Test for a diffusion problem which uses six points moment_fitting approach.
# To use six points rule, add Quadrature block with order = FOURTH and type = MONOMIAL.
# See this paper (https://doi.org/10.1007/s00466-018-1544-2) for more details about moment_fitting approach.
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 6
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
geometric_cut_userobjects = 'line_seg_cut_uo'
qrule = moment_fitting
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.5'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '0 0.1'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = FunctionDirichletBC
variable = u
boundary = 3
function = u_left
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
[./Quadrature]
order = FOURTH
type = MONOMIAL
[../]
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/fieldsplit_contact/2blocks3d.i
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
volumetric_locking_correction = true
[]
[Mesh]
file = 2blocks3d.e
patch_size = 5
[]
[Problem]
error_on_jacobian_nonzero_reallocation = true
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
incremental = true
add_variables = true
[../]
[]
[AuxVariables]
[./penetration]
order = FIRST
family = LAGRANGE
[../]
[]
[Functions]
[./horizontal_movement]
type = ParsedFunction
value = t/10.0
[../]
[]
[AuxKernels]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 2
paired_boundary = 3
order = FIRST
[../]
[]
[BCs]
[./push_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 1
function = horizontal_movement
[../]
[./fix_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = 0.0
[../]
[./fix_y]
type = DirichletBC
variable = disp_y
boundary = '1 4'
value = 0.0
[../]
[./fix_z]
type = DirichletBC
variable = disp_z
boundary = '1 4'
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor_left]
type = ComputeIsotropicElasticityTensor
block = 1
youngs_modulus = 1.0e6
poissons_ratio = 0.3
[../]
[./stress_left]
type = ComputeFiniteStrainElasticStress
block = 1
[../]
[./elasticity_tensor_right]
type = ComputeIsotropicElasticityTensor
block = 2
youngs_modulus = 1.0e6
poissons_ratio = 0.3
[../]
[./stress_right]
type = ComputeFiniteStrainElasticStress
block = 2
[../]
[]
[Contact]
[./leftright]
slave = 2
master = 3
model = frictionless
penalty = 1e+6
normalize_penalty = true
formulation = kinematic
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
[Preconditioning]
[./FSP]
type = FSP
# It is the starting point of splitting
topsplit = 'contact_interior' # 'contact_interior' should match the following block name
[./contact_interior]
splitting = 'contact interior'
splitting_type = multiplicative
[../]
[./interior]
type = ContactSplit
vars = 'disp_x disp_y disp_z'
uncontact_master = '3'
uncontact_slave = '2'
uncontact_displaced = '1'
blocks = '1 2'
include_all_contact_nodes = 1
petsc_options_iname = '-ksp_type -ksp_max_it -ksp_rtol -ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter -pc_hypre_strong_threshold'
petsc_options_value = ' preonly 10 1e-4 201 hypre boomeramg 1 0.25'
[../]
[./contact]
type = ContactSplit
vars = 'disp_x disp_y disp_z'
contact_master = '3'
contact_slave = '2'
contact_displaced = '1'
include_all_contact_nodes = 1
petsc_options_iname = '-ksp_type -ksp_max_it -pc_type -pc_asm_overlap -sub_pc_type -pc_factor_levels'
petsc_options_value = ' preonly 10 asm 1 lu 0'
[../]
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
dt = 0.1
dtmin = 0.1
end_time = 0.1
l_tol = 1e-4
l_max_its = 100
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
nl_max_its = 100
[]
[Outputs]
file_base = 2blocks3d_out
[./exodus]
type = Exodus
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
modules/xfem/test/tests/second_order_elements/diffusion_2d_quad9_test.i
[GlobalParams]
order = SECOND
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
ny = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD9
[]
[XFEM]
cut_data = '0.35 1.0 0.35 0.4 0 0'
qrule = volfrac
output_cut_plane = true
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '0 0.1'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = FunctionDirichletBC
variable = u
boundary = 3
function = u_left
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/pressure_bc/edge_3d_pressure.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y disp_z'
volumetric_locking_correction = false
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 2
ny = 9
nz = 10
xmin = -0.1
xmax = 0.1
ymin = -0.5
ymax = 0.5
zmin = -0.5
zmax = 0.5
elem_type = HEX8
[]
[UserObjects]
[./square_planar_cut_uo]
type = RectangleCutUserObject
cut_data = '-0.2 0.0 -0.5
-0.2 0.0 0.0
0.2 0.0 0.0
0.2 0.0 -0.5'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
add_variables = true
generate_output = 'stress_xx stress_yy stress_zz'
[../]
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0 2.0 4.0 6.0 8.0'
y = '0 1000 0 1000 0'
[../]
[]
[DiracKernels]
[./p_x]
type = XFEMPressure
variable = disp_x
component = 0
function = pressure
[../]
[./p_y]
type = XFEMPressure
variable = disp_y
component = 1
function = pressure
[../]
[./p_z]
type = XFEMPressure
variable = disp_z
component = 2
function = pressure
[../]
[]
[BCs]
[./bottom_x]
type = DirichletBC
boundary = 'bottom top'
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = 'bottom top'
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = 'bottom top'
variable = disp_z
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 207000
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
# time control
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
file_base = edge_3d_pressure_out
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_template2.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick1_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x8]
type = NodalVariableValue
nodeid = 7
variable = disp_x
[../]
[./disp_x13]
type = NodalVariableValue
nodeid = 12
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y8]
type = NodalVariableValue
nodeid = 7
variable = disp_y
[../]
[./disp_y13]
type = NodalVariableValue
nodeid = 12
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_x8 disp_x13 disp_x16 disp_y5 disp_y8 disp_y13 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 5e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/constraint/sm/frictional_04_penalty_sm.i
# This is a benchmark test that checks constraint based frictional
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2 and a friction coefficient
# of 0.4 is used. The gold file is run on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -sub_pc_type -pc_asm_overlap -ksp_gmres_restart'
petsc_options_value = 'asm lu 20 101'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-3
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
# csv = true
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
penalty = 1e+7
friction_coefficient = 0.4
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
test/tests/time_integrators/explicit-euler/ee-1d-linear.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 200
elem_type = EDGE2
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x
[../]
[./exact_fn]
type = ParsedFunction
value = t*x
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
lumping = true
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[BCs]
active = 'all'
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1'
function = exact_fn
implicit = true
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
scheme = 'explicit-euler'
solve_type = 'LINEAR'
start_time = 0.0
num_steps = 20
dt = 0.00005
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/combined/test/tests/contact_verification/overclosure_removal/overclosure.i
# ---------------------------------------------------------------------------------------------------------
# REGRESSION TEST FOR OVERCLOSURE REMOVAL
# =======================================
# THIS TEST DEMONSTRATES THAT THE CODE IS CAPABLE OF REMOVING A SIZEABLE OVERCLOSURE IN A SINGLE TIME-STEP
# --------------------------------------------------------------------------------------------------------
[Mesh]
file = oc_mesh.e
[]
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./penetration]
order = FIRST
family = LAGRANGE
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
use_finite_deform_jacobian = true
[../]
[]
[AuxKernels]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./_dt]
type = TimestepSize
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side1_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = 5
value = 0.0
[../]
[./top_x]
type = DirichletBC
variable = disp_x
boundary = 1001 #nodeset 1001 top central node
value = 0.0
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
decomposition_method = EigenSolution
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e5
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
decomposition_method = EigenSolution
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-8
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
dtmin = 1.0
l_tol = 1e-3
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 4
disp_y = disp_y
disp_x = disp_x
master = 3
system = constraint
model = frictionless
formulation = penalty
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/sliding_block/sliding/dirac/frictional_04_penalty.i
# This is a benchmark test that checks Dirac based frictional
# contact using the penalty method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# A friction coefficient of 0.4 is used. The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./stiffStuff]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stiffStuff_stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[] # Materials
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 200
nl_max_its = 1000
dt = 0.05
end_time = 10
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
friction_coefficient = 0.4
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
test/tests/userobjects/toggle_mesh_adaptivity/toggle_mesh_adaptivity.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
num_steps = 4
dt = 0.1
[]
[Adaptivity]
cycles_per_step = 1
marker = marker
max_h_level = 2
[./Markers]
[./marker]
type = BoxMarker
bottom_left = '0.35 0.25 0'
top_right = '0.5 0.5 0'
inside = refine
outside = coarsen
[../]
[../]
[]
[UserObjects]
[./mesh_adaptivity_off]
type = ToggleMeshAdaptivity
mesh_adaptivity = 'off'
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
print_mesh_changed_info = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_4/ring4_template2.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = ring4_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/porous_flow/test/tests/sinks/s01.i
# apply a sink flux and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = y+1
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[./xval]
[../]
[./yval]
[../]
[]
[ICs]
[./xval]
type = FunctionIC
variable = xval
function = x
[../]
[./yval]
type = FunctionIC
variable = yval
function = y
[../]
[]
[Functions]
[./mass00]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)'
vars = 'vol por dens0 pp bulk'
vals = '0.25 0.1 1.1 p00 1.3'
[../]
[./mass01]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)'
vars = 'vol por dens0 pp bulk'
vals = '0.25 0.1 1.1 p01 1.3'
[../]
[./expected_mass_change00]
type = ParsedFunction
value = 'fcn*perm*dens0*exp(pp/bulk)/visc*area*dt'
vars = 'fcn perm dens0 pp bulk visc area dt'
vals = '6 1 1 0 1.3 1 0.5 1E-3'
[../]
[]
[Postprocessors]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m00]
type = FunctionValuePostprocessor
function = mass00
execute_on = 'initial timestep_end'
[../]
[./del_m00]
type = FunctionValuePostprocessor
function = expected_mass_change00
execute_on = 'timestep_end'
[../]
[./p10]
type = PointValue
point = '1 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m01]
type = FunctionValuePostprocessor
function = mass01
execute_on = 'initial timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowSink
boundary = 'left'
variable = pp
use_mobility = false
use_relperm = true
fluid_phase = 0
flux_function = 6
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-3
end_time = 1E-2
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s01
[./console]
type = Console
execute_on = 'nonlinear linear'
[../]
[./csv]
type = CSV
execute_on = 'initial timestep_end'
[../]
[]
modules/combined/test/tests/frictional_contact/single_point_2d/single_point_2d.i
[Mesh]
file = single_point_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./horizontal_movement]
type = ParsedFunction
value = t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
save_in = 'saved_x saved_y'
diag_save_in = 'diag_saved_x diag_saved_y'
[../]
[]
[AuxKernels]
[./incslip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./incslip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./botx]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./boty]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./botx2]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./boty2]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./topy]
type = DirichletBC
variable = disp_y
boundary = 4
value = -0.005
[../]
[]
[Materials]
[./bottom]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1.0e9
poissons_ratio = 0.3
[../]
[./top]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1.0e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
petsc_options = '-mat_superlu_dist_iterrefine -mat_superlu_dist_replacetinypivot'
line_search = 'none'
l_max_its = 100
nl_max_its = 200
dt = 0.001
end_time = 0.01
num_steps = 1000
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
dtmin = 0.001
l_tol = 1e-3
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = coulomb
system = constraint
friction_coefficient = '0.25'
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
master = '2'
slave = '3'
[../]
[]
test/tests/markers/two_circle_marker/two_circle_marker.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.02
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./Periodic]
[./all]
variable = u
auto_direction = 'x y'
[../]
[../]
[]
[Executioner]
type = Transient
num_steps = 6
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
initial_steps = 1
initial_marker = two_circle_marker
cycles_per_step = 1
marker = two_circle_marker
max_h_level = 1
[./Markers]
[./two_circle_marker]
type = TwoCircleMarker
point1 = '0.5 0.5 0'
radius1 = 0.3
point2 = '0.35 0.25 0'
radius2 = 0.3
inside = refine
outside = coarsen
[../]
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
print_mesh_changed_info = true
[../]
[]
modules/xfem/test/tests/second_order_elements/diffusion_3d_hex27.i
[GlobalParams]
order = SECOND
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 3
ny = 4
nz = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.2
elem_type = HEX27
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./square_planar_cut_uo]
type = RectangleCutUserObject
cut_data = ' 0.35 1.01 -0.001
0.35 0.49 -0.001
0.35 0.49 0.201
0.35 1.01 0.201'
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '0 0.1'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = FunctionDirichletBC
variable = u
boundary = left
function = u_left
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = right
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/hertz_cyl/quart_symm_q8/hertz_cyl_qsym_1deg_template1.i
[GlobalParams]
order = SECOND
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Mesh]
file = hertz_cyl_qsym_1deg_q8.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Functions]
[./disp_ramp_vert]
type = PiecewiseLinear
x = '0. 1. 2.'
y = '0. -0.0020 -0.0020'
[../]
[./disp_ramp_zero]
type = PiecewiseLinear
x = '0. 1. 2.'
y = '0. 0.0 0.0'
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 4
paired_boundary = 3
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./disp_x281]
type = NodalVariableValue
nodeid = 280
variable = disp_x
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_y
boundary = '1 3'
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_x
boundary = '1 2 3'
value = 0.0
[../]
[./top_y_disp]
type = FunctionDirichletBC
variable = disp_y
boundary = 5
function = disp_ramp_vert
[../]
[]
[Materials]
[./stuff1_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e10
poissons_ratio = 0.0
[../]
[./stuff1_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./stuff1_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./stuff2_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff2_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./stuff2_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[./stuff3_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '3'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff3_strain]
type = ComputeFiniteStrain
block = '3'
[../]
[./stuff3_stress]
type = ComputeFiniteStrainElasticStress
block = '3'
[../]
[./stuff4_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '4'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff4_strain]
type = ComputeFiniteStrain
block = '4'
[../]
[./stuff4_stress]
type = ComputeFiniteStrainElasticStress
block = '4'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 50
nl_max_its = 100
start_time = 0.0
dt = 0.1
dtmin = 0.1
num_steps = 10
end_time = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '4'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x281 top_react_x top_react_y x_disp y_disp cont_press'
start_time = 0.9
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./interface]
master = 3
slave = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+11
[../]
[]
modules/xfem/test/tests/single_var_constraint_3d/stationary_jump_3d.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 5
ny = 5
nz = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.25
elem_type = HEX8
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./square_planar_cut_uo]
type = RectangleCutUserObject
cut_data = ' 0.5 -0.001 -0.001
0.5 1.001 -0.001
0.5 1.001 1.001
0.5 -0.001 1.001'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
jump = 0.5
jump_flux = 0
geometric_cut_userobject = 'square_planar_cut_uo'
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = left
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = right
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/sm/square_branch_quad_2d.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
displacements = 'disp_x disp_y'
[]
[UserObjects]
[./line_seg_cut_uo0]
type = LineSegmentCutUserObject
cut_data = '-1.0000e-10 6.6340e-01 6.6340e-01 -1.0000e-10'
time_start_cut = 0.0
time_end_cut = 1.0
[../]
[./line_seg_cut_uo1]
type = LineSegmentCutUserObject
cut_data = '3.3120e-01 3.3200e-01 1.0001e+00 3.3200e-01'
time_start_cut = 1.0
time_end_cut = 2.0
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
use_displaced_mesh = false
[../]
[]
[Functions]
[./right_disp_x]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[./top_disp_y]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[]
[BCs]
[./right_x]
type = FunctionDirichletBC
boundary = 1
variable = disp_x
function = right_disp_x
[../]
[./top_y]
type = FunctionDirichletBC
boundary = 2
variable = disp_y
function = top_disp_y
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./left_x]
type = DirichletBC
boundary = 3
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = LinearIsotropicMaterial
block = 0
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 2.2
num_steps = 5000
[]
[Outputs]
file_base = square_branch_quad_2d_out
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_2/cyl2_template2.i
#
# This input file is a template for both the frictionless and glued test
# variations for the current problem geometry. In order to create an input
# file to run outside the runtest framework, look at the tests file and add the
# appropriate input file lines from the cli_args line.
#
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = cyl2_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/sliding_block/sliding/constraint/sm/frictional_02_aug_sm.i
# This is a benchmark test that checks constraint based frictional
# contact using the augmented lagrangian method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# A friction coefficient of 0.2 is used. The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./contact_traction]
[../]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_x = saved_x
save_in_disp_y = saved_y
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 20
nl_max_its = 200
dt = 0.1
end_time = 15
num_steps = 200
l_tol = 1e-6
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 100
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
penalty = 1e+7
friction_coefficient = 0.2
formulation = augmented_lagrange
system = constraint
normalize_penalty = true
al_penetration_tolerance = 1e-6
al_incremental_slip_tolerance = 1.0e-2
al_frictional_force_tolerance = 1e-3
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
modules/porous_flow/test/tests/sinks/s09_fully_saturated.i
# Apply a piecewise-linear sink flux to the right-hand side and watch fluid flow to it
#
# This test has a single phase with two components. The test initialises with
# the porous material fully filled with component=1. The left-hand side is fixed
# at porepressure=1 and mass-fraction of the zeroth component being unity.
# The right-hand side has a very strong piecewise-linear flux that keeps the
# porepressure~0 at that side. Fluid mass is extracted by this flux in proportion
# to the fluid component mass fraction.
#
# Therefore, the zeroth fluid component will flow from left to right (down the
# pressure gradient).
#
# The important DE is
# porosity * dc/dt = (perm / visc) * grad(P) * grad(c)
# which is true for c = mass-fraction, and very large bulk modulus of the fluid.
# For grad(P) constant in time and space (as in this example) this is just the
# advection equation for c, with velocity = perm / visc / porosity. The parameters
# are chosen to velocity = 1 m/s.
# In the numerical world, and especially with full upwinding, the advection equation
# suffers from diffusion. In this example, the diffusion is obvious when plotting
# the mass-fraction along the line, but the average velocity of the front is still
# correct at 1 m/s.
# This test uses the FullySaturated version of the flow Kernel. This does not
# suffer from as much numerical diffusion as the standard PorousFlow Kernel since
# it does not employ any upwinding.
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmin = 0
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp frac'
number_fluid_phases = 1
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Variables]
[./pp]
[../]
[./frac]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = 1-x
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = frac
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = pp
[../]
[./flux0]
type = PorousFlowFullySaturatedDarcyFlow
fluid_component = 0
gravity = '0 0 0'
variable = frac
[../]
[./flux1]
type = PorousFlowFullySaturatedDarcyFlow
fluid_component = 1
gravity = '0 0 0'
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1e10 # need large in order for constant-velocity advection
density0 = 1 # almost irrelevant, except that the ability of the right BC to keep P fixed at zero is related to density_P0
thermal_expansion = 0
viscosity = 11
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = frac
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1.1 0 0 0 1.1 0 0 0 1.1'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2 # irrelevant in this fully-saturated situation
phase = 0
[../]
[]
[BCs]
[./lhs_fixed_a]
type = DirichletBC
boundary = 'left'
variable = frac
value = 1
[../]
[./lhs_fixed_b]
type = DirichletBC
boundary = 'left'
variable = pp
value = 1
[../]
[./flux0]
type = PorousFlowPiecewiseLinearSink
boundary = 'right'
pt_vals = '-100 100'
multipliers = '-1 1'
variable = frac # the zeroth comonent
mass_fraction_component = 0
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 1E4
[../]
[./flux1]
type = PorousFlowPiecewiseLinearSink
boundary = 'right'
pt_vals = '-100 100'
multipliers = '-1 1'
variable = pp # comonent 1
mass_fraction_component = 1
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 1E4
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-2
end_time = 1
nl_rel_tol = 1E-11
nl_abs_tol = 1E-11
[]
[VectorPostprocessors]
[./mf]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 100
sort_by = x
variable = frac
[../]
[]
[Outputs]
file_base = s09_fully_saturated
[./console]
type = Console
execute_on = 'nonlinear linear'
[../]
[./csv]
type = CSV
sync_times = '0.1 0.5 1'
sync_only = true
[../]
interval = 10
[]
modules/richards/test/tests/pressure_pulse/pp_fu_lumped_22.i
# investigating pressure pulse in 1D with 2 phase
# transient
[Mesh]
type = GeneratedMesh
dim = 1
nx = 10
xmin = 0
xmax = 100
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E9
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1E-5
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1E-5
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 3
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E3
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E3
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./water_ic]
type = ConstantIC
value = 2E6
variable = pwater
[../]
[./gas_ic]
type = ConstantIC
value = 2E6
variable = pgas
[../]
[]
[BCs]
[./left]
type = DirichletBC
boundary = left
value = 3E6
variable = pwater
[../]
[./left_gas]
type = DirichletBC
boundary = left
value = 3E6
variable = pgas
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas pconstraint'
[./richardstwater]
type = RichardsLumpedMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFullyUpwindFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsLumpedMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFullyUpwindFlux
variable = pgas
[../]
[./pconstraint]
type = RichardsPPenalty
variable = pgas
a = 1E-8
lower_var = pwater
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-15 0 0 0 1E-15 0 0 0 1E-15'
viscosity = '1E-3 1E-5'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options = '-snes_monitor -snes_linesearch_monitor'
petsc_options_iname = '-pc_factor_shift_type'
petsc_options_value = 'nonzero'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E3
dtmin = 1E3
end_time = 1E4
l_tol = 1.e-4
nl_rel_tol = 1.e-7
nl_max_its = 10
l_max_its = 20
line_search = 'none'
[]
[Outputs]
file_base = pp_fu_lumped_22
execute_on = 'initial timestep_end final'
interval = 10000
exodus = true
[./console]
type = Console
interval = 1
[../]
[]
test/tests/problems/eigen_problem/gipm.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 100
ymin = 0
ymax = 100
elem_type = QUAD4
nx = 64
ny = 64
displacements = 'x_disp y_disp'
[]
#The minimum eigenvalue for this problem is 2*(pi/a)^2 + 2 with a = 100.
#Its inverse will be 0.49950700634518.
[Variables]
[./u]
order = first
family = LAGRANGE
[../]
[]
[AuxVariables]
[./x_disp]
[../]
[./y_disp]
[../]
[]
[AuxKernels]
[./x_disp]
type = FunctionAux
variable = x_disp
function = x_disp_func
[../]
[./y_disp]
type = FunctionAux
variable = y_disp
function = y_disp_func
[../]
[]
[Functions]
[./x_disp_func]
type = ParsedFunction
value = 0
[../]
[./y_disp_func]
type = ParsedFunction
value = 0
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
use_displaced_mesh = true
[../]
[./rea]
type = CoefReaction
variable = u
coefficient = 2.0
use_displaced_mesh = true
[../]
[./rhs]
type = CoefReaction
variable = u
coefficient = -1.0
use_displaced_mesh = true
extra_vector_tags = 'eigen'
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
use_displaced_mesh = true
[../]
[./eigen_bc]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
use_displaced_mesh = true
[../]
[]
[Executioner]
type = Eigenvalue
eigen_problem_type = gen_non_hermitian
which_eigen_pairs = SMALLEST_MAGNITUDE
n_eigen_pairs = 1
n_basis_vectors = 18
solve_type = jacobi_davidson
petsc_options = '-eps_view'
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
execute_on = 'timestep_end'
[./console]
type = Console
outlier_variable_norms = false
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_3/brick3_mu_0_2_pen.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick3_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[./tang_force_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x28]
type = NodalVariableValue
nodeid = 27
variable = disp_x
[../]
[./disp_x33]
type = NodalVariableValue
nodeid = 32
variable = disp_x
[../]
[./disp_y28]
type = NodalVariableValue
nodeid = 27
variable = disp_y
[../]
[./disp_y33]
type = NodalVariableValue
nodeid = 32
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
file_base = brick3_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = brick3_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x28 disp_y28 disp_x33 disp_y33 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+6
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_4/cyl4_template1.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = cyl4_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
test/tests/multiapps/multilevel/time_dt_from_master_sub.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmax = 100
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./td]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
num_steps = 1
dt = 1
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[./console]
type = Console
output_file = true
[../]
[]
[MultiApps]
[./sub]
type = TransientMultiApp
app_type = MooseTestApp
positions = '0 0 0 0.5 0.5 0'
input_files = time_dt_from_master_subsub.i
[../]
[]
modules/combined/test/tests/frictional_contact/single_point_2d/sm/single_point_2d_predictor_sm.i
[Mesh]
file = single_point_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./horizontal_movement]
type = ParsedFunction
value = t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_x = saved_x
save_in_disp_y = saved_y
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
[../]
[]
[AuxKernels]
[./incslip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./incslip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./botx]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./boty]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./botx2]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./boty2]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./topy]
type = DirichletBC
variable = disp_y
boundary = 4
value = -0.005
[../]
[]
[Materials]
[./bottom]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e9
[../]
[./top]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 200
dt = 0.001
end_time = 0.01
num_steps = 1000
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
dtmin = 0.001
l_tol = 1e-3
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = coulomb
system = constraint
friction_coefficient = '0.25'
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
master = '2'
slave = '3'
[../]
[]
modules/xfem/test/tests/bimaterials/inclusion_bimaterials_2d.i
# This test is for a matrix-inclusion composite materials
# The global stress is determined by switching the stress based on level set values
# The inclusion geometry is marked by a level set function
# The matrix and inclusion are glued together
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
[../]
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 11
ny = 11
xmin = 0.0
xmax = 5.
ymin = 0.0
ymax = 5.
elem_type = QUAD4
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Functions]
[./ls_func]
type = ParsedFunction
value = 'sqrt((y-2.5)*(y-2.5) + (x-2.5)*(x-2.5)) - 1.5'
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./a_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./a_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./a_strain_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./b_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./b_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./b_strain_xy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
index_i = 0
index_j = 0
variable = stress_xx
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
index_i = 1
index_j = 1
variable = stress_yy
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
index_i = 0
index_j = 1
variable = stress_xy
[../]
[./a_strain_xx]
type = RankTwoAux
rank_two_tensor = A_total_strain
index_i = 0
index_j = 0
variable = a_strain_xx
[../]
[./a_strain_yy]
type = RankTwoAux
rank_two_tensor = A_total_strain
index_i = 1
index_j = 1
variable = a_strain_yy
[../]
[./a_strain_xy]
type = RankTwoAux
rank_two_tensor = A_total_strain
index_i = 0
index_j = 1
variable = a_strain_xy
[../]
[./b_strain_xx]
type = RankTwoAux
rank_two_tensor = B_total_strain
index_i = 0
index_j = 0
variable = b_strain_xx
[../]
[./b_strain_yy]
type = RankTwoAux
rank_two_tensor = B_total_strain
index_i = 1
index_j = 1
variable = b_strain_yy
[../]
[./b_strain_xy]
type = RankTwoAux
rank_two_tensor = B_total_strain
index_i = 0
index_j = 1
variable = b_strain_xy
[../]
[]
[Constraints]
[./dispx_constraint]
type = XFEMSingleVariableConstraint
use_displaced_mesh = false
variable = disp_x
alpha = 1e8
geometric_cut_userobject = 'level_set_cut_uo'
[../]
[./dispy_constraint]
type = XFEMSingleVariableConstraint
use_displaced_mesh = false
variable = disp_y
alpha = 1e8
geometric_cut_userobject = 'level_set_cut_uo'
[../]
[]
[BCs]
[./bottomx]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottomy]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
boundary = top
variable = disp_x
function = '0.03*t'
[../]
[./topy]
type = FunctionDirichletBC
boundary = top
variable = disp_y
function = '0.03*t'
[../]
[]
[Materials]
[./elasticity_tensor_A]
type = ComputeIsotropicElasticityTensor
base_name = A
youngs_modulus = 1e9
poissons_ratio = 0.3
[../]
[./strain_A]
type = ComputeSmallStrain
base_name = A
[../]
[./stress_A]
type = ComputeLinearElasticStress
base_name = A
[../]
[./elasticity_tensor_B]
type = ComputeIsotropicElasticityTensor
base_name = B
youngs_modulus = 1e5
poissons_ratio = 0.3
[../]
[./strain_B]
type = ComputeSmallStrain
base_name = B
[../]
[./stress_B]
type = ComputeLinearElasticStress
base_name = B
[../]
[./combined_stress]
type = LevelSetBiMaterialRankTwo
levelset_positive_base = 'A'
levelset_negative_base = 'B'
level_set_var = ls
prop_name = stress
[../]
[./combined_dstressdstrain]
type = LevelSetBiMaterialRankFour
levelset_positive_base = 'A'
levelset_negative_base = 'B'
level_set_var = ls
prop_name = Jacobian_mult
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
# controls for linear iterations
l_max_its = 20
l_tol = 1e-3
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-14
nl_abs_tol = 1e-7
# time control
start_time = 0.0
dt = 0.5
end_time = 1.0
num_steps = 2
max_xfem_update = 1
[]
[Outputs]
exodus = true
execute_on = timestep_end
csv = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_3/plane3_mu_0_2_pen.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = plane3_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeIncrementalSmallStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeIncrementalSmallStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = plane3_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = plane3_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_4/brick4_template1_sm.i
[Mesh]
file = brick4_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x59]
type = NodalVariableValue
nodeid = 58
variable = disp_x
[../]
[./disp_x64]
type = NodalVariableValue
nodeid = 63
variable = disp_x
[../]
[./disp_y59]
type = NodalVariableValue
nodeid = 58
variable = disp_y
[../]
[./disp_y64]
type = NodalVariableValue
nodeid = 63
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x59 disp_y59 disp_x64 disp_y64 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/xfem/test/tests/single_var_constraint_2d/stationary_fluxjump.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.0'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
jump = 0
jump_flux = 1
geometric_cut_userobject = 'line_seg_cut_uo'
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/phase_field/examples/measure_interface_energy/1Dinterface_energy.i
[Mesh]
type = GeneratedMesh
dim = 1
nx = 100
xmax = 100
xmin = 0
elem_type = EDGE
[]
[AuxVariables]
[./local_energy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./local_free_energy]
type = TotalFreeEnergy
variable = local_energy
kappa_names = kappa_c
interfacial_vars = c
[../]
[]
[Variables]
[./c]
order = FIRST
family = LAGRANGE
scaling = 1e1
[./InitialCondition]
type = RampIC
variable = c
value_left = 0
value_right = 1
[../]
[../]
[./w]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./c_res]
type = SplitCHParsed
variable = c
f_name = F
kappa_name = kappa_c
w = w
[../]
[./w_res]
type = SplitCHWRes
variable = w
mob_name = M
[../]
[./time]
type = CoupledTimeDerivative
variable = w
v = c
[../]
[]
[Functions]
[./Int_energy]
type = ParsedFunction
vals = 'total_solute Cleft Cright Fleft Fright volume'
value = '((total_solute-Cleft*volume)/(Cright-Cleft))*Fright+(volume-(total_solute-Cleft*volume)/(Cright-Cleft))*Fleft'
vars = 'total_solute Cleft Cright Fleft Fright volume'
[../]
[./Diff]
type = ParsedFunction
vals = 'total_free_energy total_no_int'
vars = 'total_free_energy total_no_int'
value = total_free_energy-total_no_int
[../]
[]
[Materials]
[./consts]
type = GenericConstantMaterial
prop_names = 'kappa_c M'
prop_values = '25 150'
[../]
[./Free_energy]
type = DerivativeParsedMaterial
f_name = F
function = 'c^2*(c-1)^2'
args = c
derivative_order = 2
[../]
[]
[Postprocessors]
# The total free energy of the simulation cell to observe the energy reduction.
[./total_free_energy]
type = ElementIntegralVariablePostprocessor
variable = local_energy
[../]
# for testing we also monitor the total solute amount, which should be conserved,
# gives Cavg in % for this problem.
[./total_solute]
type = ElementIntegralVariablePostprocessor
variable = c
[../]
# Get simulation cell size (1D volume) from postprocessor
[./volume]
type = ElementIntegralMaterialProperty
mat_prop = 1
[../]
# Find concentration in each phase using SideAverageValue
[./Cleft]
type = SideAverageValue
boundary = left
variable = c
[../]
[./Cright]
type = SideAverageValue
boundary = right
variable = c
[../]
# Find local energy in each phase by checking boundaries
[./Fleft]
type = SideAverageValue
boundary = left
variable = local_energy
[../]
[./Fright]
type = SideAverageValue
boundary = right
variable = local_energy
[../]
# Use concentrations and energies to find total free energy without any interface,
# only applies once equilibrium is reached!!
# Difference between energy with and without interface
# gives interface energy per unit area.
[./total_no_int]
type = FunctionValuePostprocessor
function = Int_energy
[../]
[./Energy_of_Interface]
type = FunctionValuePostprocessor
function = Diff
[../]
[]
[Preconditioning]
# This preconditioner makes sure the Jacobian Matrix is fully populated. Our
# kernels compute all Jacobian matrix entries.
# This allows us to use the Newton solver below.
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
# Automatic differentiation provides a _full_ Jacobian in this example
# so we can safely use NEWTON for a fast solve
solve_type = 'NEWTON'
l_max_its = 15
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-10
nl_abs_tol = 1.0e-4
start_time = 0.0
# make sure that the result obtained for the interfacial free energy is fully converged
end_time = 40
[./TimeStepper]
type = SolutionTimeAdaptiveDT
dt = 0.5
[../]
[]
[Outputs]
gnuplot = true
csv = true
[./exodus]
type = Exodus
show = 'c local_energy'
execute_on = 'failed initial nonlinear timestep_end final'
[../]
[./console]
type = Console
execute_on = 'FAILED INITIAL NONLINEAR TIMESTEP_END final'
[../]
perf_graph = true
[]
modules/xfem/test/tests/diffusion_xfem/diffusion.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 6
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.5'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '0 0.1'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = FunctionDirichletBC
variable = u
boundary = 3
function = u_left
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_3/ring3_mu_0_2_pen_sm.i
[Mesh]
file = ring3_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = ring3_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = ring3_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
tangential_tolerance = 1e-3
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
test/tests/outputs/console/console_warning.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[./v]
[../]
[]
[AuxVariables]
[./aux0]
order = SECOND
family = SCALAR
[../]
[./aux1]
family = SCALAR
initial_condition = 5
[../]
[./aux2]
family = SCALAR
initial_condition = 10
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./diff_v]
type = CoefDiffusion
variable = v
coef = 2
[../]
[]
[BCs]
[./right_u]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[./left_u]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right_v]
type = DirichletBC
variable = v
boundary = right
value = 3
[../]
[./left_v]
type = DirichletBC
variable = v
boundary = left
value = 2
[../]
[]
[Postprocessors]
[./num_vars]
type = NumVars
system = 'NL'
[../]
[./num_aux]
type = NumVars
system = 'AUX'
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
execute_on = 'timestep_end'
[./screen]
type = Console
[../]
[./screen2]
type = Console
[../]
[./screen3]
type = Console
[../]
[]
[ICs]
[./aux0_IC]
variable = aux0
values = '12 13'
type = ScalarComponentIC
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/square_branch_tri_2d.i
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = true
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = TRI3
[]
[UserObjects]
[./line_seg_cut_uo0]
type = LineSegmentCutUserObject
cut_data = '-1.0000e-10 6.6340e-01 6.6340e-01 -1.0000e-10'
time_start_cut = 0.0
time_end_cut = 1.0
[../]
[./line_seg_cut_uo1]
type = LineSegmentCutUserObject
cut_data = '3.3120e-01 3.3200e-01 1.0001e+00 3.3200e-01'
time_start_cut = 1.0
time_end_cut = 2.0
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
planar_formulation = PLANE_STRAIN
add_variables = true
[../]
[]
[Functions]
[./right_disp_x]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[./top_disp_y]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[]
[BCs]
[./right_x]
type = FunctionDirichletBC
boundary = 1
variable = disp_x
function = right_disp_x
[../]
[./top_y]
type = FunctionDirichletBC
boundary = 2
variable = disp_y
function = top_disp_y
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./left_x]
type = DirichletBC
boundary = 3
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 2.2
num_steps = 5000
[]
[Outputs]
file_base = square_branch_tri_2d_out
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_1/ring1_template2.i
[GlobalParams]
order = FIRST
family = LAGRANGE
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = ring1_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-8
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/xfem/test/tests/pressure_bc/2d_pressure_displaced_mesh.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.0 0.5 1.0 0.5'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
add_variables = true
planar_formulation = PLANE_STRAIN
generate_output = 'stress_xx stress_yy'
[../]
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0 1.0'
y = '500 500'
[../]
[./bc_func_tx]
type = ParsedFunction
value = '0.5-(0.5-x)*cos(pi*t/2.0)-x'
[../]
[./bc_func_ty]
type = ParsedFunction
value = '(0.5-x)*sin(pi*t/2.0)+0.5'
[../]
[]
[BCs]
[./bottom_y]
type = DirichletBC
boundary = 0
preset = false
variable = disp_y
value = 0.0
[../]
[./bottom_x]
type = DirichletBC
boundary = 0
preset = false
variable = disp_x
value = 0.0
[../]
[./top_right_y]
type = FunctionDirichletBC
boundary = 2
preset = false
variable = disp_y
function = bc_func_ty
[../]
[./top_right_x]
type = FunctionDirichletBC
boundary = 2
preset = false
variable = disp_x
function = bc_func_tx
[../]
[]
[DiracKernels]
[./pressure_x]
type = XFEMPressure
variable = disp_x
component = 0
function = pressure
use_displaced_mesh = true
[../]
[./pressure_y]
type = XFEMPressure
variable = disp_y
component = 1
function = pressure
use_displaced_mesh = true
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-14
# time control
start_time = 0.0
dt = 0.1
end_time = 1.0
[]
[Outputs]
file_base = 2d_pressure_displaced_mesh_out
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/sliding_block/sliding/constraint/frictional_02_penalty.i
# This is a benchmark test that checks constraint based frictional
# contact using the penalty method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# A friction coefficient of 0.2 is used. The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
penalty = 1e+7
friction_coefficient = 0.2
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/xfem/test/tests/corner_nodes_cut/sm/corner_node_cut.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.0 0.5 0.5 0.5'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 4
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
use_displaced_mesh = false
[../]
[]
[BCs]
[./top_x]
type = DirichletBC
boundary = 2
variable = disp_x
value = 0.0
[../]
[./top_y]
type = DirichletBC
boundary = 2
variable = disp_y
value = 0.1
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./bottom_x]
type = DirichletBC
boundary = 0
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = LinearIsotropicMaterial
block = 0
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# max_xfem_update = 1
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/second_order_elements/square_branch_tri6_2d.i
[GlobalParams]
order = SECOND
family = LAGRANGE
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = TRI6
[]
[UserObjects]
[./line_seg_cut_set_uo]
type = LineSegmentCutSetUserObject
cut_data = '-1.0000e-10 6.6340e-01 6.6340e-01 -1.0000e-10 0.0 1.0
3.3120e-01 3.3200e-01 1.0001e+00 3.3200e-01 1.0 2.0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
[../]
[]
[Functions]
[./right_disp_x]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[./top_disp_y]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[]
[BCs]
[./right_x]
type = FunctionDirichletBC
boundary = 1
variable = disp_x
function = right_disp_x
[../]
[./top_y]
type = FunctionDirichletBC
boundary = 2
variable = disp_y
function = top_disp_y
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./left_x]
type = DirichletBC
boundary = 3
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 2.2
num_steps = 5000
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/edge_crack_3d_propagation.i
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
volumetric_locking_correction = true
[]
[XFEM]
geometric_cut_userobjects = 'cut_mesh'
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 5
ny = 5
nz = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.2
elem_type = HEX8
[]
[UserObjects]
[./cut_mesh]
type = MeshCut3DUserObject
mesh_file = mesh_edge_crack.xda
size_control = 0.1
n_step_growth = 1
function_x = growth_func_x
function_y = growth_func_y
function_z = growth_func_z
[../]
[]
[Functions]
[./growth_func_x]
type = ParsedFunction
value = 1
[../]
[./growth_func_y]
type = ParsedFunction
value = 0
[../]
[./growth_func_z]
type = ParsedFunction
value = 0
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
add_variables = true
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress'
[../]
[]
[Functions]
[./top_trac_y]
type = ConstantFunction
value = 10
[../]
[]
[BCs]
[./top_y]
type = FunctionNeumannBC
boundary = top
variable = disp_y
function = top_trac_y
[../]
[./bottom_x]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = bottom
variable = disp_z
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 207000
poissons_ratio = 0.3
block = 0
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-12
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 5.0
max_xfem_update = 1
[]
[Outputs]
file_base = edge_crack_3d_propagation_out
execute_on = 'timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/constraint/frictionless_kinematic.i
# This is a benchmark test that checks constraint based frictionless
# contact using the kinematic method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2. The gold file is run
# on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -sub_pc_type -pc_asm_overlap -ksp_gmres_restart'
petsc_options_value = 'asm lu 20 101'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+6
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/xfem/test/tests/second_order_elements/sm/square_branch_quad9_2d.i
[GlobalParams]
order = SECOND
family = LAGRANGE
volumetric_locking_correction = false
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD9
displacements = 'disp_x disp_y'
[]
[UserObjects]
[./line_seg_cut_set_uo]
type = LineSegmentCutSetUserObject
cut_data = '-1.0000e-10 6.6340e-01 6.6340e-01 -1.0000e-10 0.0 1.0
3.3120e-01 3.3200e-01 1.0001e+00 3.3200e-01 1.0 2.0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
use_displaced_mesh = false
[../]
[]
[Functions]
[./right_disp_x]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[./top_disp_y]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[]
[BCs]
[./right_x]
type = FunctionDirichletBC
boundary = 1
variable = disp_x
function = right_disp_x
[../]
[./top_y]
type = FunctionDirichletBC
boundary = 2
variable = disp_y
function = top_disp_y
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./left_x]
type = DirichletBC
boundary = 3
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = LinearIsotropicMaterial
block = 0
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 2.2
num_steps = 5000
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/mesh_grow.i
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
volumetric_locking_correction = true
[]
[XFEM]
geometric_cut_userobjects = 'cut_mesh'
output_cut_plane = true
qrule = volfrac
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 5
ny = 5
nz = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = -0.4
zmax = 0.6
elem_type = HEX8
[]
[UserObjects]
[./cut_mesh]
type = MeshCut3DUserObject
mesh_file = mesh_grow.xda
function_x = growth_func_x
function_y = growth_func_y
function_z = growth_func_z
# The current gold file does not grow the cutting mesh, but this is something
# that needs to be tested more in the future.
# size_control = 0.05
# n_step_growth = 50
[../]
[]
[Functions]
[./growth_func_x]
type = ParsedFunction
value = 5*(x-0.3)+z
[../]
[./growth_func_y]
type = ParsedFunction
value = 5*(y-0.5)+(z+x)/2
[../]
[./growth_func_z]
type = ParsedFunction
value = 5*(z-0.1)+x
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
add_variables = true
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress'
[../]
[]
[Functions]
[./top_trac_y]
type = ConstantFunction
value = 10
[../]
[]
[BCs]
[./top_y]
type = FunctionNeumannBC
boundary = top
variable = disp_y
function = top_trac_y
[../]
[./bottom_x]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = bottom
variable = disp_z
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 207000
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-12
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
file_base = mesh_grow
execute_on = 'timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
test/tests/outputs/format/pps_screen_out_warn.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
ny = 2
nz = 0
zmin = 0
zmax = 0
elem_type = QUAD4
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Postprocessors]
[./avg_block]
type = ElementAverageValue
variable = u
outputs = 'console'
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
execute_on = 'timestep_end'
[./console]
type = Console
execute_postprocessors_on = none
[../]
[]
modules/combined/test/tests/sliding_block/sliding/constraint/frictional_04_penalty.i
# This is a benchmark test that checks constraint based frictional
# contact using the penalty method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# A friction coefficient of 0.4 is used. The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 14.99999
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
penalty = 1e+7
friction_coefficient = 0.4
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/xfem/test/tests/second_order_elements/diffusion_3d_hex20.i
[GlobalParams]
order = SECOND
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 3
ny = 4
nz = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.2
elem_type = HEX20
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./square_planar_cut_uo]
type = RectangleCutUserObject
cut_data = ' 0.35 1.01 -0.001
0.35 0.49 -0.001
0.35 0.49 0.201
0.35 1.01 0.201'
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '0 0.1'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = FunctionDirichletBC
variable = u
boundary = left
function = u_left
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = right
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/frictional_contact/sliding_elastic_blocks_2d/sm/sliding_elastic_blocks_2d_tp_sm.i
[Mesh]
file = sliding_elastic_blocks_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_x = diag_saved_x
use_displaced_mesh = true
[../]
[]
[AuxKernels]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip]
type = PenetrationAux
variable = accum_slip
execute_on = timestep_end
quantity = accumulated_slip
boundary = 3
paired_boundary = 2
[../]
[./tangential_force_x]
type = PenetrationAux
variable = tang_force_x
execute_on = timestep_end
quantity = tangential_force_x
boundary = 3
paired_boundary = 2
[../]
[./tangential_force_y]
type = PenetrationAux
variable = tang_force_y
execute_on = timestep_end
quantity = tangential_force_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.005
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e7
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.05
num_steps = 1000
nl_rel_tol = 1e-16
nl_abs_tol = 1e-09
dtmin = 0.01
l_tol = 1e-3
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
system = constraint
formulation = tangential_penalty
friction_coefficient = '0.25'
penalty = 1e6
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
slave = 3
master = 2
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_3/plane3_template1.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = plane3_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeIncrementalSmallStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeIncrementalSmallStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'asm'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-8
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_2/plane2_template2.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = plane2_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 200
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeIncrementalSmallStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeIncrementalSmallStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-8
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/inelastic_strain/elas_plas/elas_plas_nl1_cycle.i
#
# Test for effective strain calculation.
# Boundary conditions from NAFEMS test NL1
#
#
# This is not a verification test. The boundary conditions are applied such
# that the first step generates only elastic stresses. The rest of the load
# steps generate cycles of tension and compression in the axial (i.e., y-axis)
# direction. The axial stresses and strains also cycle, however the effective
# plastic strain increases in value throughout the analysis.
#
[GlobalParams]
order = FIRST
family = LAGRANGE
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = one_elem2.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[./pressure]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./eff_plastic_strain]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./vonmises]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = vonmises
scalar_type = VonMisesStress
execute_on = timestep_end
[../]
[./pressure]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = pressure
scalar_type = Hydrostatic
execute_on = timestep_end
[../]
[./elastic_strain_xx]
type = RankTwoAux
rank_two_tensor = elastic_strain
variable = elastic_strain_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./elastic_strain_yy]
type = RankTwoAux
rank_two_tensor = elastic_strain
variable = elastic_strain_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./elastic_strain_zz]
type = RankTwoAux
rank_two_tensor = elastic_strain
variable = elastic_strain_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./plastic_strain_xx]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = plastic_strain_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./plastic_strain_yy]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = plastic_strain_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./plastic_strain_zz]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = plastic_strain_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./tot_strain_xx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = tot_strain_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./tot_strain_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = tot_strain_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./tot_strain_zz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = tot_strain_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./eff_plastic_strain]
type = MaterialRealAux
property = effective_plastic_strain
variable = eff_plastic_strain
[../]
[]
[Functions]
[./appl_dispy]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0'
y = '0.0 0.208e-4 0.50e-4 1.00e-4 0.784e-4 0.50e-4 0.0 0.216e-4 0.5e-4 1.0e-4 0.785e-4 0.50e-4 0.0'
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 101
value = 0.0
[../]
[./origin_x]
type = DirichletBC
variable = disp_x
boundary = 103
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 102
value = 0.0
[../]
[./origin_y]
type = DirichletBC
variable = disp_y
boundary = 103
value = 0.0
[../]
[./top_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1
function = appl_dispy
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
block = 1
youngs_modulus = 250e9
poissons_ratio = 0.25
[../]
[./strain]
type = ComputePlaneFiniteStrain
block = 1
[../]
[./stress]
type = ComputeMultipleInelasticStress
inelastic_models = 'isoplas'
block = 1
[../]
[./isoplas]
type = IsotropicPlasticityStressUpdate
yield_stress = 5e6
hardening_constant = 0.0
relative_tolerance = 1e-20
absolute_tolerance = 1e-8
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
l_tol = 1e-4
l_max_its = 100
nl_max_its = 20
dt = 1.0
start_time = 0.0
num_steps = 100
end_time = 12.0
[]
[Postprocessors]
[./stress_xx]
type = ElementAverageValue
variable = stress_xx
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./stress_xy]
type = ElementAverageValue
variable = stress_xy
[../]
[./vonmises]
type = ElementAverageValue
variable = vonmises
[../]
[./pressure]
type = ElementAverageValue
variable = pressure
[../]
[./el_strain_xx]
type = ElementAverageValue
variable = elastic_strain_xx
[../]
[./el_strain_yy]
type = ElementAverageValue
variable = elastic_strain_yy
[../]
[./el_strain_zz]
type = ElementAverageValue
variable = elastic_strain_zz
[../]
[./pl_strain_xx]
type = ElementAverageValue
variable = plastic_strain_xx
[../]
[./pl_strain_yy]
type = ElementAverageValue
variable = plastic_strain_yy
[../]
[./pl_strain_zz]
type = ElementAverageValue
variable = plastic_strain_zz
[../]
[./eff_plastic_strain]
type = ElementAverageValue
variable = eff_plastic_strain
[../]
[./tot_strain_xx]
type = ElementAverageValue
variable = tot_strain_xx
[../]
[./tot_strain_yy]
type = ElementAverageValue
variable = tot_strain_yy
[../]
[./tot_strain_zz]
type = ElementAverageValue
variable = tot_strain_zz
[../]
[./disp_x1]
type = NodalVariableValue
nodeid = 0
variable = disp_x
[../]
[./disp_x4]
type = NodalVariableValue
nodeid = 3
variable = disp_x
[../]
[./disp_y1]
type = NodalVariableValue
nodeid = 0
variable = disp_y
[../]
[./disp_y4]
type = NodalVariableValue
nodeid = 3
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[]
[Outputs]
exodus = true
csv = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/dirac/frictionless_kinematic.i
# This is a benchmark test that checks Dirac based frictionless
# contact using the kinematic method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2. The gold file is run
# on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./constitutive]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
file_base = frictionless_kinematic_out
interval = 10
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+6
formulation = kinematic
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/glued_penalty.i
[Mesh]
file = blocks_2d_nogap.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.01
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e7
poissons_ratio = 0.3
[../]
[./right]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
system = Constraint
master = 2
slave = 3
model = glued
formulation = penalty
penalty = 1e+7
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_1/ring1_template1.i
[GlobalParams]
order = FIRST
family = LAGRANGE
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = ring1_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_1/plane1_template1_sm.i
[Mesh]
file = plane1_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_x = diag_saved_x
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = LinearIsotropicMaterial
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = LinearIsotropicMaterial
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/dirac/sm/frictionless_kinematic_sm.i
# This is a benchmark test that checks Dirac based frictionless
# contact using the kinematic method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2. The gold file is run
# on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+6
formulation = kinematic
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/single_pnt_2d/single_point_2d.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = single_point_2d.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./appl_disp]
type = PiecewiseLinear
x = '0 0.001 0.101'
y = '0 0.0 -0.10'
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./incslip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./incslip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./botx]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./boty]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = appl_disp
[../]
[./topy]
type = DirichletBC
variable = disp_y
boundary = 4
value = -0.002001
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e9
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputePlaneFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputePlaneFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./disp_x]
type = NodalVariableValue
nodeid = 5
variable = disp_x
[../]
[./disp_y]
type = NodalVariableValue
nodeid = 5
variable = disp_y
[../]
[./inc_slip_x]
type = NodalVariableValue
nodeid = 5
variable = inc_slip_x
[../]
[./inc_slip_y]
type = NodalVariableValue
nodeid = 5
variable = inc_slip_y
[../]
[./accum_slip_x]
type = NodalVariableValue
nodeid = 5
variable = accum_slip_x
[../]
[./accum_slip_y]
type = NodalVariableValue
nodeid = 5
variable = accum_slip_y
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package -mat_superlu_dist_iterrefine'
petsc_options_value = 'lu superlu_dist 1'
line_search = 'none'
l_max_its = 100
nl_max_its = 200
dt = 0.001
end_time = 0.001
num_steps = 10000
nl_rel_tol = 1e-6
nl_abs_tol = 1e-8
dtmin = 0.001
l_tol = 1e-3
[]
[Outputs]
file_base = single_point_2d_out_glued_kin
exodus = true
print_linear_residuals = true
perf_graph = true
csv = true
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = glued
system = constraint
formulation = kinematic
penalty = 1e12
normalize_penalty = true
tangential_tolerance = 1e-3
[../]
[]
test/tests/postprocessors/variable_residual_norm/variable_residual.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
ny = 2
xmin = -1
xmax = 1
ymin = 0
ymax = 1
elem_type = QUAD4
[]
[Variables]
[./u]
[../]
[./v]
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[]
[Functions]
[./leg1]
type = ParsedFunction
value = 'x'
[../]
[./leg2]
type = ParsedFunction
value = '0.5*(3.0*x*x-1.0)'
[../]
[]
[BCs]
[./left_u]
type = DirichletBC
variable = u
preset = false
boundary = 1
value = 0
[../]
[./right_u]
type = DirichletBC
variable = u
preset = false
boundary = 2
value = 1
[../]
[./left_v]
type = DirichletBC
variable = v
preset = false
boundary = 1
value = 200
[../]
[./right_v]
type = DirichletBC
variable = v
preset = false
boundary = 2
value = 100
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
# this is large on purpose so we don't reduce the variable residual to machine zero
# and so that we can compare to larger numbers. This also means this test can run only
# in serial, since parallel runs yield different convergence history.
nl_rel_tol = 1e-4
[]
[Postprocessors]
[./u_res_l2]
type = VariableResidual
variable = u
[../]
[./v_res_l2]
type = VariableResidual
variable = v
[../]
[]
[Outputs]
csv = true
[./console]
type = Console
# turn this on, so we can visually compare the postprocessor value with what is computed by the Console object
all_variable_norms = true
[../]
[]
modules/xfem/test/tests/moving_interface/verification/2D_xy_lsdep1mat.i
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
# XFEM Moving Interface Verification Problem
# Dimensionality: 2D
# Coordinate System: xy
# Material Numbers/Types: level set dep 1 material, 2 region
# Element Order: 1st
# Interface Characteristics: u independent, prescribed level set function
# Description:
# Transient 2D heat transfer problem in Cartesian coordinates designed with
# the Method of Manufactured Solutions. This problem was developed to verify
# XFEM performance on linear elements in the presence of a moving interface
# sweeping across the x-y coordinates of a system with thermal conductivity
# dependent upon the transient level set function. This problem can be
# exactly evaluated by FEM/Moose without the moving interface. Both the
# temperature and level set function are designed to be linear to attempt to
# minimize the error between the Moose/exact solution and XFEM results.
# Results:
# The temperature at the bottom left boundary (x=0, y=0) exhibits the largest
# difference between the FEM/Moose solution and XFEM results. We present the
# XFEM results at this location with 10 digits of precision:
# Time Expected Temperature XFEM Calculated Temperature
# 0.2 440 440
# 0.4 480 479.9998738
# 0.6 520 519.9995114
# 0.8 560 559.9989360
# 1.0 600 599.9983833
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 4
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = moment_fitting
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
heal_always = true
[../]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./heat_cond]
type = MatDiffusion
variable = u
diffusivity = diffusion_coefficient
[../]
[./vol_heat_src]
type = BodyForce
variable = u
function = src_func
[../]
[./mat_time_deriv]
type = TestMatTimeDerivative
variable = u
mat_prop_value = rhoCp
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Constraints]
[./xfem_constraints]
type = XFEMSingleVariableConstraint
variable = u
geometric_cut_userobject = 'level_set_cut_uo'
use_penalty = true
alpha = 1e5
[../]
[]
[Functions]
[./src_func]
type = ParsedFunction
value = '10*(-100*x-100*y+200)-(5*t/1.04)'
[../]
[./neumann_func]
type = ParsedFunction
value = '((0.01/1.04)*(-2.5*x-2.5*y-t)+1.55)*100*t'
[../]
[./dirichlet_right_func]
type = ParsedFunction
value = '(-100*y+100)*t+400'
[../]
[./dirichlet_top_func]
type = ParsedFunction
value = '(-100*x+100)*t+400'
[../]
[./k_func]
type = ParsedFunction
value = '(0.01/1.04)*(-2.5*x-2.5*y-t)+1.55'
[../]
[./ls_func]
type = ParsedFunction
value = '-0.5*(x+y) + 1.04 -0.2*t'
[../]
[]
[Materials]
[./mat_time_deriv_prop]
type = GenericConstantMaterial
prop_names = 'rhoCp'
prop_values = 10
[../]
[./therm_cond_prop]
type = GenericFunctionMaterial
prop_names = 'diffusion_coefficient'
prop_values = 'k_func'
[../]
[]
[BCs]
[./left_du]
type = FunctionNeumannBC
variable = u
boundary = 'left'
function = neumann_func
[../]
[./right_u]
type = FunctionDirichletBC
variable = u
boundary = 'right'
function = dirichlet_right_func
[../]
[./bottom_du]
type = FunctionNeumannBC
variable = u
boundary = 'bottom'
function = neumann_func
[../]
[./top_u]
type = FunctionDirichletBC
variable = u
boundary = 'top'
function = dirichlet_top_func
[../]
[]
[ICs]
[./u_ic]
type = ConstantIC
value = 400
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
line_search = 'none'
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-10
nl_abs_tol = 1.0e-9
start_time = 0.0
dt = 0.2
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
interval = 1
execute_on = 'initial timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/sliding_block/sliding/dirac/sm/frictional_04_penalty_sm.i
# This is a benchmark test that checks Dirac based frictional
# contact using the penalty method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# A friction coefficient of 0.4 is used. The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 100
nl_max_its = 1000
dt = 0.05
end_time = 10
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
friction_coefficient = 0.4
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
modules/xfem/test/tests/crack_tip_enrichment/penny_crack_3d.i
[XFEM]
qrule = volfrac
output_cut_plane = true
use_crack_tip_enrichment = true
crack_front_definition = crack_front
enrichment_displacements = 'enrich1_x enrich2_x enrich3_x enrich4_x enrich1_y enrich2_y enrich3_y enrich4_y enrich1_z enrich2_z enrich3_z enrich4_z'
displacements = 'disp_x disp_y disp_z'
cut_off_boundary = all
cut_off_radius = 0.3
[]
[UserObjects]
[./circle_cut_uo]
type = CircleCutUserObject
cut_data = '0 0 0
0.5 0 0
0 0.5 0'
[../]
[./crack_front]
type = CrackFrontDefinition
crack_direction_method = CurvedCrackFront
crack_front_points = '0.500000000000000 0 0
0.000000000000000 0.500000000000000 0
-0.500000000000000 0.000000000000000 0
-0.000000000000000 -0.500000000000000 0'
[../]
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 3
nx = 9
ny = 9
nz = 3
xmin = -1.0
xmax = 1.0
ymin = -1.0
ymax = 1.0
zmin = -0.75
zmax = 0.75
elem_type = HEX8
[]
[./all_node]
type = BoundingBoxNodeSetGenerator
input = gen
new_boundary = 'all'
top_right = '1 1 1'
bottom_left = '-1 -1 -1'
[../]
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[./disp_z]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./SED]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[]
[Kernels]
[./TensorMechanics]
displacements = 'disp_x disp_y disp_z'
use_displaced_mesh = false
volumetric_locking_correction = false
[../]
[]
[BCs]
[./top_z]
type = Pressure
variable = disp_z
boundary = front
component = 2
factor = -1
[../]
[./bottom_x]
type = DirichletBC
boundary = back
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = back
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = back
variable = disp_z
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./strain]
type = ComputeCrackTipEnrichmentSmallStrain
displacements = 'disp_x disp_y disp_z'
crack_front_definition = crack_front
enrichment_displacements = 'enrich1_x enrich2_x enrich3_x enrich4_x enrich1_y enrich2_y enrich3_y enrich4_y enrich1_z enrich2_z enrich3_z enrich4_z'
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
[./Quadrature]
type = GAUSS
order = SECOND
[../]
# controls for linear iterations
l_max_its = 10
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-12
nl_abs_tol = 1e-12
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_1/cyl1_mu_0_2_pen.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = cyl1_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = cyl1_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = cyl1_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
tangential_tolerance = 1e-3
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/examples/phase_field-mechanics/grain_texture.i
# This simulation predicts GB migration of 8 grains and outputs grain texture information
# Mesh adaptivity is not used so that the VectorPostprocessor's output will be uniform
# Time step adaptivity is used
# An AuxVariable is used to calculate the grain boundary locations
# Postprocessors are used to record time step
[Mesh]
# Mesh block. Meshes can be read in or automatically generated
type = GeneratedMesh
dim = 2 # Problem dimension
nx = 100 # Number of elements in the x-direction
ny = 100 # Number of elements in the y-direction
xmin = 0 # minimum x-coordinate of the mesh
xmax = 1000 # maximum x-coordinate of the mesh
ymin = 0 # minimum y-coordinate of the mesh
ymax = 1000 # maximum y-coordinate of the mesh
elem_type = QUAD4 # Type of elements used in the mesh
[]
[GlobalParams]
# Parameters used by several kernels that are defined globally to simplify input file
op_num = 8 # Number of order parameters used
var_name_base = gr # Base name of grains
grain_num = 8 #Number of grains
[]
[Variables]
# Variable block, where all variables in the simulation are declared
[./PolycrystalVariables]
[../]
[]
[UserObjects]
[./voronoi]
type = PolycrystalVoronoi
coloring_algorithm = bt
[../]
[./grain_tracker]
type = GrainTracker
threshold = 0.2
connecting_threshold = 0.08
[../]
[]
[ICs]
[./PolycrystalICs]
[./PolycrystalColoringIC]
polycrystal_ic_uo = voronoi
[../]
[../]
[]
[AuxVariables]
# Dependent variables
[./bnds]
# Variable used to visualize the grain boundaries in the simulation
order = FIRST
family = LAGRANGE
[../]
[./unique_grains]
order = CONSTANT
family = MONOMIAL
[../]
[./var_indices]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
# Kernel block, where the kernels defining the residual equations are set up.
[./PolycrystalKernel]
# Custom action creating all necessary kernels for grain growth. All input parameters are up in GlobalParams
[../]
[]
[AuxKernels]
# AuxKernel block, defining the equations used to calculate the auxvars
[./bnds_aux]
# AuxKernel that calculates the GB term
type = BndsCalcAux
variable = bnds
execute_on = timestep_end
[../]
[./unique_grains]
type = FeatureFloodCountAux
variable = unique_grains
execute_on = timestep_end
flood_counter = grain_tracker
field_display = UNIQUE_REGION
[../]
[./var_indices]
type = FeatureFloodCountAux
variable = var_indices
execute_on = timestep_end
flood_counter = grain_tracker
field_display = VARIABLE_COLORING
[../]
[]
[BCs]
# Boundary Condition block
[./Periodic]
[./top_bottom]
auto_direction = 'x y' # Makes problem periodic in the x and y directions
[../]
[../]
[]
[Materials]
[./CuGrGr]
# Material properties
type = GBEvolution # Quantitative material properties for copper grain growth. Dimensions are nm and ns
block = 0 # Block ID (only one block in this problem)
GBmob0 = 2.5e-6 #Mobility prefactor for Cu from Schonfelder1997
GBenergy = 0.708 # GB energy in J/m^2
Q = 0.23 #Activation energy for grain growth from Schonfelder 1997
T = 450 # K #Constant temperature of the simulation (for mobility calculation)
wGB = 14 # nm #Width of the diffuse GB
outputs = exodus
[../]
[]
[UserObjects]
[./euler_angle_file]
type = EulerAngleFileReader
file_name = grn_8_rand_2D.tex
[../]
[]
[VectorPostprocessors]
[./gbInfo]
type = GrainTextureVectorPostprocessor
unique_grains = unique_grains
euler_angle_provider = euler_angle_file
sort_by = id # sort output by elem id
[../]
[]
[Executioner]
type = Transient # Type of executioner, here it is transient with an adaptive time step
scheme = bdf2 # Type of time integration (2nd order backward euler), defaults to 1st order backward euler
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart -mat_mffd_type'
petsc_options_value = 'hypre boomeramg 101 ds'
l_max_its = 30 # Max number of linear iterations
l_tol = 1e-4 # Relative tolerance for linear solves
nl_max_its = 40 # Max number of nonlinear iterations
nl_abs_tol = 1e-11 # Relative tolerance for nonlinear solves
nl_rel_tol = 1e-10 # Absolute tolerance for nonlinear solves
start_time = 0.0
num_steps = 50
[./TimeStepper]
type = IterationAdaptiveDT
dt = 25 # Initial time step. In this simulation it changes.
optimal_iterations = 6 # Time step will adapt to maintain this number of nonlinear iterations
[../]
[]
[Outputs]
execute_on = 'INITIAL TIMESTEP_END'
exodus = true
csv = true
perf_graph = true
[./console]
type = Console
max_rows = 20
[../]
[]
modules/xfem/test/tests/moving_interface/verification/1D_xy_discrete2mat.i
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
# XFEM Moving Interface Verification Problem
# Dimensionality: quasi-1D
# Coordinate System: xy
# Material Numbers/Types:discrete homog 2 material, 2 region
# Element Order: 1st
# Interface Characteristics: u independent, prescribed level set function
# Description
# A transient heat transfer problem in Cartesian coordinates designed with
# the Method of Manufactured Solutions. This problem was developed to verify
# XFEM performance in the presence of a moving interface separating two
# discrete material regions for linear element models. Both the temperature
# solution and level set function are designed to be linear to attempt to
# minimize error between the exact solution and XFEM results. Thermal
# conductivity, density, and heat capacity are homogeneous in each material
# region with a discontinuous jump in thermal flux between the two material
# regions.
# Results:
# The temperature at the left boundary is determined by the analytical
# solution, so temperature at the right boundary (x=1) should exhibit the
# largest difference between the analytical solution and XFEM results. We
# present the analytical and XFEM results at the material interface position
# and right side boundary at various times.
# Interface:
# Time Expected Temperature XFEM Calculated Temperature
# 20 746.75 746.7235521
# 40 893.05 893.0379081
# 60 1040.15 1040.1527530
#
# Right Boundary (x=1):
# Time Expected Temperature XFEM Calculated Temperature
# 20 720 719.9708681
# 40 840 839.9913293
# 60 960 960.0100886
#
# IMPORTANT NOTE:
# When running this input file, add the --allow-test-objects tag!!!
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 0.5
elem_type = QUAD4
[]
[XFEM]
qrule = moment_fitting
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = phi
heal_always = true
[../]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./phi]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./heat_cond]
type = MatDiffusion
variable = u
diffusivity = 'diffusion_coefficient'
[../]
[./vol_heat_src]
type = BodyForce
variable = u
function = src_func
[../]
[./mat_time_deriv]
type = TestMatTimeDerivative
variable = u
mat_prop_value = rhoCp
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = phi
function = ls_func
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
geometric_cut_userobject = 'level_set_cut_uo'
jump_flux = jump_flux_func
use_penalty = true
alpha = 1e5
[../]
[]
[Functions]
[./src_func]
type = ParsedFunction
value = 'phi:=(0.75-x-0.001*t);
i:=(0.75-0.001*t);
if (phi>=0,
10*(8-x),
(7/(1-i))*((i-2)*x + (8-7*i)) )'
[../]
[./right_du_func]
type = ParsedFunction
value = 'i:=(0.75-0.001*t);
(2.0/(1-i))*(-5+5*i+i*t-2*t)'
[../]
[./exact_u_func]
type = ParsedFunction
value = 'phi:=(0.75-x-0.001*t);
i:=(0.75-0.001*t);
if (phi>=0,
605 - 5*x + t*(8-x),
(1/(1-i))*((-5+5*i+i*t-2*t)*x + (605-605*i+8*t-7*t*i)) )'
[../]
[./jump_flux_func]
type = ParsedFunction
value = 'i:=(0.75-0.001*t);
k_1:=(20.0);
k_2:=(2.0);
k_1*(5+t) + (k_2/(1-i))*(-5+5*i+i*t-2*t)'
[../]
[./ls_func]
type = ParsedFunction
value = '0.75 - x - 0.001*t'
[../]
[]
[Materials]
[./mat_time_deriv_prop]
type = GenericConstantMaterial
prop_names = 'A_rhoCp B_rhoCp'
prop_values = '10 7'
[../]
[./therm_cond_prop]
type = GenericConstantMaterial
prop_names = 'A_diffusion_coefficient B_diffusion_coefficient'
prop_values = '20.0 2.0'
[../]
[./combined_rhoCp]
type = LevelSetBiMaterialReal
levelset_positive_base = 'A'
levelset_negative_base = 'B'
level_set_var = phi
prop_name = rhoCp
[../]
[./combined_diffusion_coefficient]
type = LevelSetBiMaterialReal
levelset_positive_base = 'A'
levelset_negative_base = 'B'
level_set_var = phi
prop_name = diffusion_coefficient
[../]
[]
[BCs]
[./left_u]
type = FunctionDirichletBC
variable = u
boundary = 'left'
function = exact_u_func
[../]
[./right_du]
type = FunctionNeumannBC
variable = u
boundary = 'right'
function = right_du_func
[../]
[]
[ICs]
[./u_ic]
type = ConstantIC
value = 600
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
# petsc_options_iname = '-pc_type -pc_hypre_type'
# petsc_options_value = 'hypre boomeramg'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-10
nl_abs_tol = 1.0e-9
start_time = 0.0
dt = 20
end_time = 60.0
max_xfem_update = 2
[]
[Outputs]
interval = 1
execute_on = 'initial timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/pressure_bc/inclined_edge_2d_pressure.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
volumetric_locking_correction = False
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 9
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.0 0.33 0.5 0.67'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
generate_output = 'stress_xx stress_yy'
[../]
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0 1.0 2.0'
y = '0 500 1000'
[../]
[]
[BCs]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./top_y]
type = DirichletBC
boundary = 2
variable = disp_y
value = 0.0
[../]
[./bottom_x]
type = DirichletBC
boundary = 0
variable = disp_x
value = 0.0
[../]
[]
[DiracKernels]
[./pressure_x]
type = XFEMPressure
variable = disp_x
component = 0
function = pressure
[../]
[./pressure_y]
type = XFEMPressure
variable = disp_y
component = 1
function = pressure
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
# time control
start_time = 0.0
dt = 1
end_time = 2
[]
[Outputs]
file_base = inclined_edge_2d_pressure_out
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/init_solution_propagation/sm/init_solution_propagation.i
# The purpose of this test is to verify that the procedures for initializing
# the solution on nodes/elements affected by XFEM works correctly in both
# serial and parallel.
# The crack cuts near to domain boundaries in parallel, and the displacement
# solution will be wrong in parallel if this is not done correctly. This
# test also has multiple aux variables of various types that are only computed
# on initialization, and which will be wrong if the XFEM initializtion
# is not done correctly.
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 7
ny = 7
xmin = 0.0
xmax = 25.0
ymin = -12.5
ymax = 12.5
elem_type = QUAD4
displacements = 'disp_x disp_y'
[]
[UserObjects]
[./line_seg_cut_set_uo]
type = LineSegmentCutSetUserObject
cut_data ='0.0000e+000 0.0000e+000 5.5000e+000 0.0000e+000 0.0 0.0
5.5000e+000 0.0000e+000 2.5500e+001 0.0000e+000 0.05 1.05'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./const_monomial]
order = CONSTANT
family = MONOMIAL
[../]
[./first_monomial]
order = FIRST
family = MONOMIAL
[../]
[./first_linear]
order = FIRST
family = LAGRANGE
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./const_monomial]
type = FunctionAux
function = 'dummy'
variable = const_monomial
execute_on = 'initial'
[../]
[./first_monomial]
type = FunctionAux
function = 'dummy'
variable = first_monomial
execute_on = 'initial'
[../]
[./first_linear]
type = FunctionAux
function = 'dummy'
variable = first_linear
execute_on = 'initial'
[../]
[]
[Functions]
[./dummy]
type = ParsedFunction
value = 'x*x+y*y'
[../]
[./disp_top_y]
type = PiecewiseLinear
x = '0 1'
y = '0 0.1'
[../]
[]
[BCs]
[./top_y]
type = FunctionDirichletBC
boundary = 2
variable = disp_y
function = disp_top_y
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./right_x]
type = DirichletBC
boundary = 1
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elastic_body1]
type = Elastic
block = 0
poissons_ratio = 0.3
youngs_modulus = 1e6
disp_x = disp_x
disp_y = disp_y
formulation = nonlinearplanestrain
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
petsc_options = '-snes_ksp_ew'
l_max_its = 100
nl_max_its = 25
nl_rel_tol = 1e-6
nl_abs_tol = 1e-8
start_time = 0.0
dt = 0.1
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
exodus = true
csv = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_1/ring1_template1_sm.i
[Mesh]
file = ring1_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_mu_0_2_pen.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick1_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[./tang_force_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x8]
type = NodalVariableValue
nodeid = 7
variable = disp_x
[../]
[./disp_x13]
type = NodalVariableValue
nodeid = 12
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y8]
type = NodalVariableValue
nodeid = 7
variable = disp_y
[../]
[./disp_y13]
type = NodalVariableValue
nodeid = 12
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
file_base = brick1_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = brick1_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x5 disp_x8 disp_x13 disp_x16 disp_y5 disp_y8 disp_y13 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/hertz_cyl/half_symm_q8/hertz_cyl_half_1deg_template3.i
[GlobalParams]
order = SECOND
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Mesh]
file = hertz_cyl_half_1deg.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Functions]
[./disp_ramp_vert]
type = PiecewiseLinear
x = '0. 1. 11.'
y = '0. -0.0020 -0.0020'
[../]
[./disp_ramp_horz]
type = PiecewiseLinear
x = '0. 1. 11.'
y = '0. 0.0 0.0014'
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 2
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 2
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./disp_x639]
type = NodalVariableValue
nodeid = 638
variable = disp_x
[../]
[./disp_y639]
type = NodalVariableValue
nodeid = 638
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_y
boundary = '1 2'
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_x
boundary = '1 2'
value = 0.0
[../]
[./top_y_disp]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = disp_ramp_vert
[../]
[./top_x_disp]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = disp_ramp_horz
[../]
[]
[Materials]
[./stuff1_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e10
poissons_ratio = 0.0
[../]
[./stuff1_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./stuff1_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./stuff2_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff2_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./stuff2_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[./stuff3_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '3'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff3_strain]
type = ComputeFiniteStrain
block = '3'
[../]
[./stuff3_stress]
type = ComputeFiniteStrainElasticStress
block = '3'
[../]
[./stuff4_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '4'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff4_strain]
type = ComputeFiniteStrain
block = '4'
[../]
[./stuff4_stress]
type = ComputeFiniteStrainElasticStress
block = '4'
[../]
[./stuff5_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '5'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff5_strain]
type = ComputeFiniteStrain
block = '5'
[../]
[./stuff5_stress]
type = ComputeFiniteStrainElasticStress
block = '5'
[../]
[./stuff6_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '6'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff6_strain]
type = ComputeFiniteStrain
block = '6'
[../]
[./stuff6_stress]
type = ComputeFiniteStrainElasticStress
block = '6'
[../]
[./stuff7_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '7'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff7_strain]
type = ComputeFiniteStrain
block = '7'
[../]
[./stuff7_stress]
type = ComputeFiniteStrainElasticStress
block = '7'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 200
start_time = 0.0
end_time = 2.0
l_tol = 5e-4
dt = 0.1
dtmin = 0.1
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '3 4'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '3 4'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'x_disp y_disp cont_press'
start_time = 0.9
execute_vector_postprocessors_on = timestep_end
[../]
[./chkfile2]
type = CSV
show = 'bot_react_x bot_react_y disp_x639 disp_y639 top_react_x top_react_y'
start_time = 0.9
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./interface]
master = 2
slave = 3
model = coulomb
friction_coefficient = 0.0
system = constraint
formulation = penalty
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
master = '2'
slave = '3'
[../]
[]
modules/richards/test/tests/buckley_leverett/bl20_lumped.i
# two-phase version
[Mesh]
type = GeneratedMesh
dim = 1
nx = 30
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '0.1 0.5 0.5 1 2 4'
x = '0 0.1 1 5 40 42'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E6
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1E-5
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1E-5
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./w_aux_seff]
[../]
[]
[Kernels]
[./richardstwater]
type = RichardsLumpedMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsLumpedMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[]
[AuxKernels]
[./w_aux_seff_auxk]
type = RichardsSeffAux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
variable = w_aux_seff
[../]
[]
[ICs]
[./water_ic]
type = FunctionIC
variable = pwater
function = initial_water
[../]
[./gas_ic]
type = FunctionIC
variable = pgas
function = initial_gas
[../]
[]
[BCs]
[./left_w]
type = DirichletBC
variable = pwater
boundary = left
value = 1E6
[../]
[./left_g]
type = DirichletBC
variable = pgas
boundary = left
value = 1000
[../]
[./right_w]
type = DirichletBC
variable = pwater
boundary = right
value = -300000
[../]
[./right_g]
type = DirichletBC
variable = pgas
boundary = right
value = 0
[../]
[]
[Functions]
[./initial_water]
type = ParsedFunction
value = 1000000*(1-min(x/5,1))-if(x<5,0,300000)
[../]
[./initial_gas]
type = ParsedFunction
value = 1000
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
viscosity = '1E-3 1E-6'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'standard'
[./bounded]
# must use --use-petsc-dm command line argument
type = SMP
full = true
petsc_options_iname = '-snes_type -pc_factor_shift_type'
petsc_options_value = 'vinewtonssls nonzero'
[../]
[./standard]
type = SMP
full = true
petsc_options_iname = '-pc_factor_shift_type'
petsc_options_value = 'nonzero'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 50
nl_rel_tol = 1.e-9
nl_max_its = 10
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bl20_lumped
execute_on = 'initial timestep_end final'
interval = 100000
exodus = true
hide = pgas
[./console_out]
type = Console
interval = 1
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/single_pnt_2d/single_point_2d_contact_line_search.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = single_point_2d.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./appl_disp]
type = PiecewiseLinear
x = '0 0.001 0.101'
y = '0 0.0 -0.10'
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./incslip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./incslip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./botx]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./boty]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = appl_disp
[../]
[./topy]
type = DirichletBC
variable = disp_y
boundary = 4
value = -0.002001
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e9
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputePlaneFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputePlaneFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Postprocessors]
[./disp_x]
type = NodalVariableValue
nodeid = 5
variable = disp_x
[../]
[./disp_y]
type = NodalVariableValue
nodeid = 5
variable = disp_y
[../]
[./inc_slip_x]
type = NodalVariableValue
nodeid = 5
variable = inc_slip_x
[../]
[./inc_slip_y]
type = NodalVariableValue
nodeid = 5
variable = inc_slip_y
[../]
[./accum_slip_x]
type = NodalVariableValue
nodeid = 5
variable = accum_slip_x
[../]
[./accum_slip_y]
type = NodalVariableValue
nodeid = 5
variable = accum_slip_y
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package -mat_superlu_dist_iterrefine'
petsc_options_value = 'lu superlu_dist 1'
line_search = 'contact'
contact_line_search_allowed_lambda_cuts = 0
contact_line_search_ltol = 0.5
l_max_its = 15
nl_max_its = 10
dt = 0.001
end_time = 0.002
num_steps = 10000
nl_rel_tol = 1e-6
nl_abs_tol = 1e-8
dtmin = 0.001
l_tol = 1e-3
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
csv = true
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = frictionless
system = constraint
formulation = kinematic
penalty = 1e12
normalize_penalty = true
tangential_tolerance = 1e-3
[../]
[]
modules/xfem/test/tests/moment_fitting/sm/solid_mechanics_moment_fitting.i
# Test for a mechanics problem which uses four points moment_fitting approach.
# See this paper (https://doi.org/10.1007/s00466-018-1544-2) for more details about moment_fitting approach.
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
qrule = moment_fitting
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
displacements = 'disp_x disp_y'
[]
[UserObjects]
[./line_seg_cut_uo0]
type = LineSegmentCutUserObject
cut_data = '0.0000e+00 6.3330e-01 3.9000e-01 6.3330e-01'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[./line_seg_cut_uo1]
type = LineSegmentCutUserObject
cut_data = '3.9000e-01 6.3330e-01 6.8000e-01 6.3330e-01'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
use_displaced_mesh = false
[../]
[]
[Functions]
[./right_trac_x]
type = ParsedFunction
value = '-(t*M*y)/I'
vars = 'M E I'
vals = '2e4 1e6 0.666666667'
[../]
[./bottom_disp_y]
type = ParsedFunction
value = '((t*M)/(2*E*I))*(1-nu*nu)*(x*x-0.25*l*l)'
vars = 'M E I l nu'
vals = '2e4 1e6 0.666666667 2.0 0.3'
[../]
[./soln_x]
type = ParsedFunction
value = '-(M/(E*I))*(1-nu*nu)*x*y'
vars = 'M E I nu'
vals = '2e4 1e6 0.666666667 0.3'
[../]
[./soln_y]
type = ParsedFunction
value = '(M/(2*E*I))*(1-nu*nu)*(x*x-0.25*l*l+(nu/(1-nu))*y*y)'
vars = 'M E I l nu'
vals = '2e4 1e6 0.666666667 2.0 0.3'
[../]
[]
[BCs]
[./right_x]
type = FunctionNeumannBC
boundary = 1
variable = disp_x
function = right_trac_x
[../]
[./bottom_y]
type = FunctionDirichletBC
boundary = 0
variable = disp_y
function = bottom_disp_y
[../]
[./left_x]
type = DirichletBC
boundary = 3
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = LinearIsotropicMaterial
block = 0
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
# [./Quadrature]
# order = FOURTH
# type = MONOMIAL
# [../]
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 0.5
end_time = 1.0
num_steps = 5000
[]
[Postprocessors]
[./numel]
type = NumElems
execute_on = timestep_end
[../]
[./integral]
type = ElementVectorL2Error
var_x = disp_x
var_y = disp_y
function_x = soln_x
function_y = soln_y
execute_on = timestep_end
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_3/cyl3_template1.i
#
# This input file is a template for both the frictionless and glued test
# variations for the current problem geometry. In order to create an input
# file to run outside the runtest framework, look at the tests file and add the
# appropriate input file lines from the cli_args line.
#
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = cyl3_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_2/cyl2_template1.i
#
# This input file is a template for both the frictionless and glued test
# variations for the current problem geometry. In order to create an input
# file to run outside the runtest framework, look at the tests file and add the
# appropriate input file lines from the cli_args line.
#
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = cyl2_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/sm/edge_crack_3d_propagation.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y disp_z'
[]
[XFEM]
geometric_cut_userobjects = 'cut_mesh'
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 5
ny = 5
nz = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.2
elem_type = HEX8
[]
[UserObjects]
[./cut_mesh]
type = MeshCut3DUserObject
mesh_file = mesh_edge_crack.xda
size_control = 0.1
n_step_growth = 1
function_x = growth_func_x
function_y = growth_func_y
function_z = growth_func_z
[../]
[]
[Functions]
[./growth_func_x]
type = ParsedFunction
value = 1
[../]
[./growth_func_y]
type = ParsedFunction
value = 0
[../]
[./growth_func_z]
type = ParsedFunction
value = 0
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises_stress]
order = CONSTANT
family = MONOMIAL
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
use_displaced_mesh = true
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
execute_on = timestep_end
[../]
[./vonmises_stress]
type = MaterialTensorAux
tensor = stress
variable = vonmises_stress
quantity = vonmises
execute_on = timestep_end
[../]
[]
[Functions]
[./top_trac_y]
type = ConstantFunction
value = 10
[../]
[]
[BCs]
[./top_y]
type = FunctionNeumannBC
boundary = top
variable = disp_y
function = top_trac_y
[../]
[./bottom_x]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = bottom
variable = disp_z
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = Elastic
block = 0
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 207000
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-12
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 5.0
max_xfem_update = 1
[]
[Outputs]
file_base = edge_crack_3d_propagation_out
execute_on = 'timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_1/ring1_template2_sm.i
[Mesh]
file = ring1_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-8
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/xfem/test/tests/mechanical_constraint/glued_penalty.i
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[XFEM]
geometric_cut_userobjects = 'line_seg_cut_uo'
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 11
ny = 11
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '1.0 0.5 0.0 0.5'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
planar_formulation = plane_strain
add_variables = true
[../]
[]
[Functions]
[./pull]
type = PiecewiseLinear
x='0 50 100'
y='0 0.02 0.1'
[../]
[]
[BCs]
[./bottomx]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottomy]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./topx]
type = DirichletBC
boundary = top
variable = disp_x
value = 0.0
[../]
[./topy]
type = FunctionDirichletBC
boundary = top
variable = disp_y
function = pull
[../]
[]
[Constraints]
[./disp_x]
type = XFEMSingleVariableConstraint
variable = disp_x
use_penalty = true
alpha = 1.0e8
use_displaced_mesh = true
geometric_cut_userobject = 'line_seg_cut_uo'
[../]
[./disp_y]
type = XFEMSingleVariableConstraint
variable = disp_y
use_penalty = true
alpha = 1.0e8
use_displaced_mesh = true
geometric_cut_userobject = 'line_seg_cut_uo'
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
block = 0
[../]
[./_elastic_strain]
type = ComputeFiniteStrainElasticStress
block = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-14
nl_abs_tol = 1e-9
# time control
start_time = 0.0
dt = 1.0
end_time = 2.0
num_steps = 5000
max_xfem_update = 1
[]
[Outputs]
exodus = true
execute_on = timestep_end
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/dirac/frictional_02_penalty.i
# This is a benchmark test that checks Dirac based frictional
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2 and a friction coefficient
# of 0.2 is used. The gold file is run on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./constitutive]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
file_base = frictional_02_penalty_out
interval = 10
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
penalty = 1e+7
formulation = penalty
friction_coefficient = 0.2
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_2/cyl2_mu_0_2_pen_sm.i
[Mesh]
file = cyl2_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = cyl2_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = cyl2_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
tangential_tolerance = 1e-3
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/hertz_cyl/quart_symm_q4/hertz_cyl_qsym_1deg_template1.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = hertz_cyl_qsym_1deg_q4.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Functions]
[./disp_ramp_vert]
type = PiecewiseLinear
x = '0. 1. 2.'
y = '0. -0.0020 -0.0020'
[../]
[./disp_ramp_zero]
type = PiecewiseLinear
x = '0. 1. 2.'
y = '0. 0.0 0.0'
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 4
paired_boundary = 3
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./disp_x281]
type = NodalVariableValue
nodeid = 280
variable = disp_x
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_y
boundary = '1 3'
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_x
boundary = '1 2 3'
value = 0.0
[../]
[./top_y_disp]
type = FunctionDirichletBC
variable = disp_y
boundary = 5
function = disp_ramp_vert
[../]
[]
[Materials]
[./stuff1_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e10
poissons_ratio = 0.0
[../]
[./stuff1_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./stuff1_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./stuff2_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff2_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./stuff2_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[./stuff3_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '3'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff3_strain]
type = ComputeFiniteStrain
block = '3'
[../]
[./stuff3_stress]
type = ComputeFiniteStrainElasticStress
block = '3'
[../]
[./stuff4_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '4'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff4_strain]
type = ComputeFiniteStrain
block = '4'
[../]
[./stuff4_stress]
type = ComputeFiniteStrainElasticStress
block = '4'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-6
nl_rel_tol = 1e-5
l_max_its = 50
nl_max_its = 100
start_time = 0.0
dt = 0.1
dtmin = 0.1
num_steps = 10
end_time = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '4'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x281 top_react_x top_react_y x_disp y_disp cont_press'
start_time = 0.9
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./interface]
master = 3
slave = 4
system = constraint
model = glued
formulation = kinematic
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_4/brick4_template2_sm.i
[Mesh]
file = brick4_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x59]
type = NodalVariableValue
nodeid = 58
variable = disp_x
[../]
[./disp_x64]
type = NodalVariableValue
nodeid = 63
variable = disp_x
[../]
[./disp_y59]
type = NodalVariableValue
nodeid = 58
variable = disp_y
[../]
[./disp_y64]
type = NodalVariableValue
nodeid = 63
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x59 disp_y59 disp_x64 disp_y64 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/xfem/test/tests/corner_nodes_cut/corner_edge_cut.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
volumetric_locking_correction = true
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo1]
type = LineSegmentCutUserObject
cut_data = '-0.0 0.5 0.5 0.5'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[./line_seg_cut_uo2]
type = LineSegmentCutUserObject
cut_data = '0.5 0.5 1.0 0.7'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
[../]
[]
[BCs]
[./top_x]
type = DirichletBC
boundary = 2
variable = disp_x
value = 0.0
[../]
[./top_y]
type = DirichletBC
boundary = 2
variable = disp_y
value = 0.1
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = -0.1
[../]
[./bottom_x]
type = DirichletBC
boundary = 0
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/tensor_mechanics/examples/coal_mining/cosserat_mc_only.i
# Strata deformation and fracturing around a coal mine
#
# A 2D geometry is used that simulates a transverse section of
# the coal mine. The model is actually 3D, but the "x"
# dimension is only 10m long, meshed with 1 element, and
# there is no "x" displacement. The mine is 300m deep
# and just the roof is studied (0<=z<=300). The model sits
# between 0<=y<=450. The excavation sits in 0<=y<=150. This
# is a "half model": the boundary conditions are such that
# the model simulates an excavation sitting in -150<=y<=150
# inside a model of the region -450<=y<=450. The
# excavation height is 3m (ie, the excavation lies within
# 0<=z<=3). Mining is simulated by moving the excavation's
# roof down, until disp_z=-3 at t=1.
# Time is meaningless in this example
# as quasi-static solutions are sought at each timestep, but
# the number of timesteps controls the resolution of the
# process.
#
# The boundary conditions are:
# - disp_x = 0 everywhere
# - disp_y = 0 at y=0 and y=450
# - disp_z = 0 for y>150
# - disp_z = -3 at maximum, for 0<=y<=150. See excav function.
# That is, rollers on the sides, free at top, and prescribed at bottom.
#
# The small strain formulation is used.
#
# All stresses are measured in MPa. The initial stress is consistent with
# the weight force from density 2500 kg/m^3, ie, stress_zz = -0.025*(300-z) MPa
# where gravity = 10 m.s^-2 = 1E-5 MPa m^2/kg. The maximum and minimum
# principal horizontal stresses are assumed to be equal to 0.8*stress_zz.
#
# Below you will see weak-plane parameters and AuxVariables, etc.
# These are not actally used in this example.
#
# Material properties:
# Young's modulus = 8 GPa
# Poisson's ratio = 0.25
# Cosserat layer thickness = 1 m
# Cosserat-joint normal stiffness = large
# Cosserat-joint shear stiffness = 1 GPa
# MC cohesion = 3 MPa
# MC friction angle = 37 deg
# MC dilation angle = 8 deg
# MC tensile strength = 1 MPa
# MC compressive strength = 100 MPa, varying down to 1 MPa when tensile strain = 1
#
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 1
xmin = -5
xmax = 5
nz = 40
zmin = 0
zmax = 400.0
bias_z = 1.1
ny = 30 # make this a multiple of 3, so y=150 is at a node
ymin = 0
ymax = 450
[]
[left]
type = SideSetsAroundSubdomainGenerator
new_boundary = 11
normal = '0 -1 0'
input = generated_mesh
[]
[right]
type = SideSetsAroundSubdomainGenerator
new_boundary = 12
normal = '0 1 0'
input = left
[]
[front]
type = SideSetsAroundSubdomainGenerator
new_boundary = 13
normal = '-1 0 0'
input = right
[]
[back]
type = SideSetsAroundSubdomainGenerator
new_boundary = 14
normal = '1 0 0'
input = front
[]
[top]
type = SideSetsAroundSubdomainGenerator
new_boundary = 15
normal = '0 0 1'
input = back
[]
[bottom]
type = SideSetsAroundSubdomainGenerator
new_boundary = 16
normal = '0 0 -1'
input = top
[]
[excav]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '-5 0 0'
top_right = '5 150 3'
input = bottom
[]
[roof]
type = SideSetsBetweenSubdomainsGenerator
new_boundary = 21
master_block = 0
paired_block = 1
input = excav
[]
[hole]
type = BlockDeletionGenerator
block_id = 1
input = roof
[]
[]
[GlobalParams]
block = 0
perform_finite_strain_rotations = false
displacements = 'disp_x disp_y disp_z'
Cosserat_rotations = 'wc_x wc_y wc_z'
[]
[Variables]
[./disp_y]
[../]
[./disp_z]
[../]
[./wc_x]
[../]
[]
[Kernels]
[./cy_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_y
component = 1
[../]
[./cz_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_z
component = 2
[../]
[./x_couple]
type = StressDivergenceTensors
use_displaced_mesh = false
variable = wc_x
displacements = 'wc_x wc_y wc_z'
component = 0
base_name = couple
[../]
[./x_moment]
type = MomentBalancing
use_displaced_mesh = false
variable = wc_x
component = 0
[../]
[./gravity]
type = Gravity
use_displaced_mesh = false
variable = disp_z
value = -10E-6
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./wc_y]
[../]
[./wc_z]
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
[../]
[./mc_shear]
type = MaterialStdVectorAux
index = 0
property = mc_plastic_internal_parameter
variable = mc_shear
[../]
[./mc_tensile]
type = MaterialStdVectorAux
index = 1
property = mc_plastic_internal_parameter
variable = mc_tensile
[../]
[./wp_shear]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_internal_parameter
variable = wp_shear
[../]
[./wp_tensile]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_internal_parameter
variable = wp_tensile
[../]
[./mc_shear_f]
type = MaterialStdVectorAux
index = 6
property = mc_plastic_yield_function
variable = mc_shear_f
[../]
[./mc_tensile_f]
type = MaterialStdVectorAux
index = 0
property = mc_plastic_yield_function
variable = mc_tensile_f
[../]
[./wp_shear_f]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_yield_function
variable = wp_shear_f
[../]
[./wp_tensile_f]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_yield_function
variable = wp_tensile_f
[../]
[]
[BCs]
[./no_y]
type = DirichletBC
variable = disp_y
boundary = '11 12 16 21' # note addition of 16 and 21
value = 0.0
[../]
[./no_z]
type = DirichletBC
variable = disp_z
boundary = '16'
value = 0.0
[../]
[./no_wc_x]
type = DirichletBC
variable = wc_x
boundary = '11 12'
value = 0.0
[../]
[./roof]
type = FunctionDirichletBC
variable = disp_z
boundary = 21
function = excav_sideways
[../]
[]
[Functions]
[./ini_xx]
type = ParsedFunction
value = '-0.8*2500*10E-6*(400-z)'
[../]
[./ini_zz]
type = ParsedFunction
value = '-2500*10E-6*(400-z)'
[../]
[./excav_sideways]
type = ParsedFunction
vars = 'end_t ymin ymax e_h closure_dist'
vals = '1.0 0 150.0 -3.0 15.0'
value = 'e_h*max(min((t/end_t*(ymax-ymin)+ymin-y)/closure_dist,1),0)'
[../]
[./excav_downwards]
type = ParsedFunction
vars = 'end_t ymin ymax e_h closure_dist'
vals = '1.0 0 150.0 -3.0 15.0'
value = 'e_h*t/end_t*max(min(((ymax-ymin)+ymin-y)/closure_dist,1),0)'
[../]
[]
[UserObjects]
[./mc_coh_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 2.99 # MPa
value_residual = 3.01 # MPa
rate = 1.0
[../]
[./mc_fric]
type = TensorMechanicsHardeningConstant
value = 0.65 # 37deg
[../]
[./mc_dil]
type = TensorMechanicsHardeningConstant
value = 0.15 # 8deg
[../]
[./mc_tensile_str_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 1.0 # MPa
value_residual = 1.0 # MPa
rate = 1.0
[../]
[./mc_compressive_str]
type = TensorMechanicsHardeningCubic
value_0 = 100 # Large!
value_residual = 100
internal_limit = 0.1
[../]
[./wp_coh_harden]
type = TensorMechanicsHardeningCubic
value_0 = 0.1
value_residual = 0.1
internal_limit = 10
[../]
[./wp_tan_fric]
type = TensorMechanicsHardeningConstant
value = 0.36 # 20deg
[../]
[./wp_tan_dil]
type = TensorMechanicsHardeningConstant
value = 0.18 # 10deg
[../]
[./wp_tensile_str_harden]
type = TensorMechanicsHardeningCubic
value_0 = 0.1
value_residual = 0.1
internal_limit = 10
[../]
[./wp_compressive_str_soften]
type = TensorMechanicsHardeningCubic
value_0 = 100
value_residual = 1.0
internal_limit = 1.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeLayeredCosseratElasticityTensor
young = 8E3 # MPa
poisson = 0.25
layer_thickness = 1.0
joint_normal_stiffness = 1E9 # huge
joint_shear_stiffness = 1E3
[../]
[./strain]
type = ComputeCosseratIncrementalSmallStrain
eigenstrain_names = ini_stress
[../]
[./ini_stress]
type = ComputeEigenstrainFromInitialStress
initial_stress = 'ini_xx 0 0 0 ini_xx 0 0 0 ini_zz'
eigenstrain_name = ini_stress
[../]
[./stress]
type = ComputeMultipleInelasticCosseratStress
block = 0
inelastic_models = mc
relative_tolerance = 2.0
absolute_tolerance = 1E6
max_iterations = 1
tangent_operator = nonlinear
perform_finite_strain_rotations = false
[../]
[./mc]
type = CappedMohrCoulombCosseratStressUpdate
block = 0
warn_about_precision_loss = false
host_youngs_modulus = 8E3
host_poissons_ratio = 0.25
base_name = mc
tensile_strength = mc_tensile_str_strong_harden
compressive_strength = mc_compressive_str
cohesion = mc_coh_strong_harden
friction_angle = mc_fric
dilation_angle = mc_dil
max_NR_iterations = 100000
smoothing_tol = 0.1 # MPa # Must be linked to cohesion
yield_function_tol = 1E-9 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0
[../]
[./wp]
type = CappedWeakPlaneCosseratStressUpdate
block = 0
warn_about_precision_loss = false
base_name = wp
cohesion = wp_coh_harden
tan_friction_angle = wp_tan_fric
tan_dilation_angle = wp_tan_dil
tensile_strength = wp_tensile_str_harden
compressive_strength = wp_compressive_str_soften
max_NR_iterations = 10000
tip_smoother = 0.1
smoothing_tol = 0.1 # MPa # Note, this must be tied to cohesion, otherwise get no possible return at cone apex
yield_function_tol = 1E-11 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0E-3
[../]
[./density]
type = GenericConstantMaterial
prop_names = density
prop_values = 2500
[../]
[]
[Postprocessors]
[./subsidence]
type = PointValue
point = '0 0 400'
variable = disp_z
use_displaced_mesh = false
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
petsc_options_value = ' asm 2 lu gmres 200'
line_search = bt
nl_abs_tol = 1e-3
nl_rel_tol = 1e-5
l_max_its = 30
nl_max_its = 1000
start_time = 0.0
dt = 0.2
end_time = 0.2
[]
[Outputs]
file_base = cosserat_mc_only
interval = 1
print_linear_residuals = false
csv = true
exodus = true
[./console]
type = Console
output_linear = false
[../]
[]
modules/combined/test/tests/frictional_contact/single_point_2d/sm/single_point_2d_sm.i
[Mesh]
file = single_point_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./horizontal_movement]
type = ParsedFunction
value = t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_x = saved_x
save_in_disp_y = saved_y
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
[../]
[]
[AuxKernels]
[./incslip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./incslip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./botx]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./boty]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./botx2]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./boty2]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./topy]
type = DirichletBC
variable = disp_y
boundary = 4
value = -0.005
[../]
[]
[Materials]
[./bottom]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e9
[../]
[./top]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
petsc_options = '-mat_superlu_dist_iterrefine -mat_superlu_dist_replacetinypivot'
line_search = 'none'
l_max_its = 100
nl_max_its = 200
dt = 0.001
end_time = 0.01
num_steps = 1000
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
dtmin = 0.001
l_tol = 1e-3
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = coulomb
system = constraint
friction_coefficient = '0.25'
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
master = '2'
slave = '3'
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/constraint/frictional_04_penalty.i
# This is a benchmark test that checks constraint based frictional
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2 and a friction coefficient
# of 0.4 is used. The gold file is run on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./left_stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -sub_pc_type -pc_asm_overlap -ksp_gmres_restart'
petsc_options_value = 'asm lu 20 101'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-3
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
# csv = true
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
penalty = 1e+7
friction_coefficient = 0.4
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/sm/mesh_grow.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
geometric_cut_userobjects = 'cut_mesh'
output_cut_plane = true
qrule = volfrac
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 5
ny = 5
nz = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = -0.4
zmax = 0.6
elem_type = HEX8
displacements = 'disp_x disp_y disp_z'
[]
[UserObjects]
[./cut_mesh]
type = MeshCut3DUserObject
mesh_file = mesh_grow.xda
function_x = growth_func_x
function_y = growth_func_y
function_z = growth_func_z
# The current gold file does not grow the cutting mesh, but this is something
# that needs to be tested more in the future.
# size_control = 0.05
# n_step_growth = 50
[../]
[]
[Functions]
[./growth_func_x]
type = ParsedFunction
value = 5*(x-0.3)+z
[../]
[./growth_func_y]
type = ParsedFunction
value = 5*(y-0.5)+(z+x)/2
[../]
[./growth_func_z]
type = ParsedFunction
value = 5*(z-0.1)+x
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises_stress]
order = CONSTANT
family = MONOMIAL
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
use_displaced_mesh = true
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
execute_on = timestep_end
[../]
[./vonmises_stress]
type = MaterialTensorAux
tensor = stress
variable = vonmises_stress
quantity = vonmises
execute_on = timestep_end
[../]
[]
[Functions]
[./top_trac_y]
type = ConstantFunction
value = 10
[../]
[]
[BCs]
[./top_y]
type = FunctionNeumannBC
boundary = top
variable = disp_y
function = top_trac_y
[../]
[./bottom_x]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = bottom
variable = disp_z
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = Elastic
block = 0
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 207000
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-12
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
file_base = mesh_grow
execute_on = 'timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/crack_propagation_2d.i
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = true
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
use_crack_growth_increment = true
crack_growth_increment = 0.2
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 11
ny = 11
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '1.0 0.5 0.7 0.5'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[./xfem_marker_uo]
type = XFEMRankTwoTensorMarkerUserObject
execute_on = timestep_end
tensor = stress
scalar_type = MaxPrincipal
threshold = 5e+1
average = true
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
planar_formulation = plane_strain
add_variables = true
[../]
[]
[Functions]
[./pull]
type = PiecewiseLinear
x='0 50 100'
y='0 0.02 0.1'
[../]
[]
[BCs]
[./bottomx]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottomy]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./topx]
type = DirichletBC
boundary = top
variable = disp_x
value = 0.0
[../]
[./topy]
type = FunctionDirichletBC
boundary = top
variable = disp_y
function = pull
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
block = 0
[../]
[./_elastic_strain]
type = ComputeFiniteStrainElasticStress
block = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-14
nl_abs_tol = 1e-9
# time control
start_time = 0.0
dt = 1.0
end_time = 2.0
num_steps = 5000
max_xfem_update = 1
[]
[Outputs]
file_base = crack_propagation_2d_out
exodus = true
execute_on = timestep_end
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_2/ring2_template1.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = ring2_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_3/ring3_mu_0_2_pen.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = ring3_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = ring3_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = ring3_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
tangential_tolerance = 1e-3
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/xfem/test/tests/moving_interface/verification/2D_rz_homog1mat.i
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
# XFEM Moving Interface Verification Problem
# Dimensionality: 2D
# Coordinate System: rz
# Material Numbers/Types: homogeneous 1 material, 2 region
# Element Order: 1st
# Interface Characteristics: u independent, prescribed level set function
# Description:
# Transient 2D heat transfer problem in cylindrical coordinates designed with
# the Method of Manufactured Solutions. This problem was developed to verify
# XFEM performance on linear elements in the presence of a moving interface
# sweeping across the x-y coordinates of a system with homogeneous material
# properties. This problem can be exactly evaluated by FEM/Moose without the
# moving interface. Both the temperature and level set function are designed
# to be linear to attempt to minimize error between the Moose/exact solution
# and XFEM results.
# Results:
# The temperature at the bottom left boundary (x=1, y=1) exhibits the largest
# difference between the FEM/Moose solution and XFEM results. We present the
# XFEM results at this location with 10 digits of precision:
# Time Expected Temperature XFEM Calculated Temperature
# 0.2 440 440
# 0.4 480 479.9998745
# 0.6 520 519.9995067
# 0.8 560 559.9989409
# 1.0 600 599.9987054
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Problem]
coord_type = RZ
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 4
xmin = 1.0
xmax = 2.0
ymin = 1.0
ymax = 2.0
elem_type = QUAD4
[]
[XFEM]
qrule = moment_fitting
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
heal_always = true
[../]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./heat_cond]
type = MatDiffusion
variable = u
diffusivity = diffusion_coefficient
[../]
[./vol_heat_src]
type = BodyForce
variable = u
function = src_func
[../]
[./mat_time_deriv]
type = TestMatTimeDerivative
variable = u
mat_prop_value = rhoCp
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Constraints]
[./xfem_constraints]
type = XFEMSingleVariableConstraint
variable = u
geometric_cut_userobject = 'level_set_cut_uo'
use_penalty = true
alpha = 1e5
[../]
[]
[Functions]
[./src_func]
type = ParsedFunction
value = '10*(-100*x-100*y+400) + 100*1.5*t/x'
[../]
[./neumann_func]
type = ParsedFunction
value = '1.5*100*t'
[../]
[./dirichlet_right_func]
type = ParsedFunction
value = '(-100*y+200)*t+400'
[../]
[./dirichlet_top_func]
type = ParsedFunction
value = '(-100*x+200)*t+400'
[../]
[./ls_func]
type = ParsedFunction
value = '-0.5*(x+y) + 2.04 - 0.2*t'
[../]
[]
[Materials]
[./mat_time_deriv_prop]
type = GenericConstantMaterial
prop_names = 'rhoCp'
prop_values = 10
[../]
[./therm_cond_prop]
type = GenericConstantMaterial
prop_names = 'diffusion_coefficient'
prop_values = 1.5
[../]
[]
[BCs]
[./left_du]
type = FunctionNeumannBC
variable = u
boundary = 'left'
function = neumann_func
[../]
[./right_u]
type = FunctionDirichletBC
variable = u
boundary = 'right'
function = dirichlet_right_func
[../]
[./bottom_du]
type = FunctionNeumannBC
variable = u
boundary = 'bottom'
function = neumann_func
[../]
[./top_u]
type = FunctionDirichletBC
variable = u
boundary = 'top'
function = dirichlet_top_func
[../]
[]
[ICs]
[./u_ic]
type = ConstantIC
value = 400
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
line_search = 'none'
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-10
nl_abs_tol = 1.0e-9
start_time = 0.0
dt = 0.2
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
interval = 1
execute_on = 'initial timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_2/ring2_template2_sm.i
[Mesh]
file = ring2_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/richards/test/tests/gravity_head_1/gh23.i
# investigating validity of immobile saturation
# 50 elements, with SUPG
[Mesh]
type = GeneratedMesh
dim = 1
nx = 50
xmin = -1
xmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1 10 100 1000 10000'
x = '0 10 100 1000 10000'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = pressure
[../]
[./DensityConstBulk]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1.0E3
[../]
[./SeffVG]
type = RichardsSeff1VG
m = 0.8
al = 1
[../]
[./RelPermPower]
type = RichardsRelPermPower
simm = 0.3
n = 2
[../]
[./Saturation]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.1
[../]
[./SUPGstandard]
type = RichardsSUPGstandard
p_SUPG = 1.0E-6
[../]
[]
[Variables]
[./pressure]
order = FIRST
family = LAGRANGE
initial_condition = -1.0
[../]
[]
[AuxVariables]
[./Seff1VG_Aux]
[../]
[]
[Kernels]
active = 'richardsf richardst'
[./richardst]
type = RichardsMassChange
variable = pressure
[../]
[./richardsf]
type = RichardsFlux
variable = pressure
[../]
[]
[AuxKernels]
[./Seff1VG_AuxK]
type = RichardsSeffAux
variable = Seff1VG_Aux
seff_UO = SeffVG
pressure_vars = pressure
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
density_UO = DensityConstBulk
relperm_UO = RelPermPower
SUPG_UO = SUPGstandard
sat_UO = Saturation
seff_UO = SeffVG
viscosity = 1E-3
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-15 1E-10 10000'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E0
end_time = 1E5
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = gh23
execute_on = 'timestep_end final'
interval = 10000
exodus = true
[./console]
interval = 1
type = Console
[../]
[]
modules/combined/test/tests/sliding_block/sliding/dirac/frictionless_kinematic.i
# This is a benchmark test that checks Dirac based frictionless
# contact using the kinematic method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./stiffStuff]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stiffStuff_stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[] # Materials
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter -ksp_gmres_restart'
petsc_options_value = 'hypre boomeramg 4 101'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 200
nl_max_its = 1000
dt = 0.05
end_time = 10
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+6
formulation = kinematic
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
modules/phase_field/tutorials/spinodal_decomposition/s3_decomp.i
#
# Simulation of iron-chromium alloy decomposition using simplified conditions.
#
[Mesh]
type = GeneratedMesh
dim = 2
elem_type = QUAD4
nx = 25
ny = 25
nz = 0
xmin = 0
xmax = 25
ymin = 0
ymax = 25
zmin = 0
zmax = 0
uniform_refine = 2
[]
[Variables]
[./c] # Mole fraction of Cr (unitless)
order = FIRST
family = LAGRANGE
[../]
[./w] # Chemical potential (eV/mol)
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./concentrationIC] # 46.774 mol% Cr with variations
type = RandomIC
min = 0.44774
max = 0.48774
seed = 210
variable = c
[../]
[]
[BCs]
[./Periodic]
[./c_bcs]
auto_direction = 'x y'
[../]
[../]
[]
[Kernels]
[./w_dot]
variable = w
v = c
type = CoupledTimeDerivative
[../]
[./coupled_res]
variable = w
type = SplitCHWRes
mob_name = M
[../]
[./coupled_parsed]
variable = c
type = SplitCHParsed
f_name = f_loc
kappa_name = kappa_c
w = w
[../]
[]
[Materials]
# d is a scaling factor that makes it easier for the solution to converge
# without changing the results. It is defined in each of the materials and
# must have the same value in each one.
[./constants]
# Define constant values kappa_c and M. Eventually M will be replaced with
# an equation rather than a constant.
type = GenericFunctionMaterial
prop_names = 'kappa_c M'
prop_values = '8.125e-16*6.24150934e+18*1e+09^2*1e-27
2.2841e-26*1e+09^2/6.24150934e+18/1e-27'
# kappa_c*eV_J*nm_m^2*d
# M*nm_m^2/eV_J/d
[../]
[./local_energy]
# Defines the function for the local free energy density as given in the
# problem, then converts units and adds scaling factor.
type = DerivativeParsedMaterial
f_name = f_loc
args = c
constant_names = 'A B C D E F G eV_J d'
constant_expressions = '-2.446831e+04 -2.827533e+04 4.167994e+03 7.052907e+03
1.208993e+04 2.568625e+03 -2.354293e+03
6.24150934e+18 1e-27'
function = 'eV_J*d*(A*c+B*(1-c)+C*c*log(c)+D*(1-c)*log(1-c)+
E*c*(1-c)+F*c*(1-c)*(2*c-1)+G*c*(1-c)*(2*c-1)^2)'
derivative_order = 2
[../]
[]
[Postprocessors]
[./step_size] # Size of the time step
type = TimestepSize
[../]
[./iterations] # Number of iterations needed to converge timestep
type = NumNonlinearIterations
[../]
[./nodes] # Number of nodes in mesh
type = NumNodes
[../]
[./evaluations] # Cumulative residual calculations for simulation
type = NumResidualEvaluations
[../]
[./active_time] # Time computer spent on simulation
type = PerfGraphData
section_name = "Root"
data_type = total
[../]
[]
[Preconditioning]
[./coupled]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
l_max_its = 30
l_tol = 1e-6
nl_max_its = 50
nl_abs_tol = 1e-9
end_time = 604800 # 7 days
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type
-sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly
ilu 1'
[./TimeStepper]
type = IterationAdaptiveDT
dt = 10
cutback_factor = 0.8
growth_factor = 1.5
optimal_iterations = 7
[../]
[./Adaptivity]
coarsen_fraction = 0.1
refine_fraction = 0.7
max_h_level = 2
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[Outputs]
exodus = true
console = true
csv = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_1/cyl1_template1_sm.i
#
# This input file is a template for both the frictionless and glued test
# variations for the current problem geometry. In order to create an input
# file to run outside the runtest framework, look at the tests file and add the
# appropriate input file lines from the cli_args line.
#
[Mesh]
file = cyl1_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_mu_0_2_pen_sm.i
[Mesh]
file = brick2_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[./tang_force_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_x26]
type = NodalVariableValue
nodeid = 25
variable = disp_x
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./disp_y26]
type = NodalVariableValue
nodeid = 25
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
file_base = brick2_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = brick2_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x7 disp_y7 disp_x26 disp_y26 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+7
[../]
[]
modules/richards/test/tests/gravity_head_2/gh18.i
# with immobile saturation
# unsaturated = true
# gravity = true
# supg = true
# transient = true
[Mesh]
type = GeneratedMesh
dim = 1
nx = 20
xmin = 0
xmax = 1
[]
[GlobalParams]
richardsVarNames_UO = PPNames
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '1E-2 1E-1 1E0 0.5E1 0.5E2 0.4E4 1E5 1E6 1E7'
x = '0 1E-1 1E0 1E1 1E2 1E3 1E4 1E5 1E6'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 1.0E2
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 0.5
bulk_mod = 0.5E2
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.4
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.3
n = 2
[../]
[./SatWater]
type = RichardsSat
s_res = 0.1
sum_s_res = 0.15
[../]
[./SatGas]
type = RichardsSat
s_res = 0.05
sum_s_res = 0.15
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./water_ic]
type = ConstantIC
value = 1
variable = pwater
[../]
[./gas_ic]
type = ConstantIC
value = 2
variable = pgas
[../]
[]
[Kernels]
active = 'richardsfwater richardstwater richardsfgas richardstgas'
[./richardstwater]
type = RichardsMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFlux
variable = pgas
[../]
[]
[AuxVariables]
[./seffgas]
[../]
[./seffwater]
[../]
[]
[AuxKernels]
[./seffgas_kernel]
type = RichardsSeffAux
pressure_vars = 'pwater pgas'
seff_UO = SeffGas
variable = seffgas
[../]
[./seffwater_kernel]
type = RichardsSeffAux
pressure_vars = 'pwater pgas'
seff_UO = SeffWater
variable = seffwater
[../]
[]
[Postprocessors]
[./mwater_init]
type = RichardsMass
variable = pwater
execute_on = timestep_begin
outputs = none
[../]
[./mgas_init]
type = RichardsMass
variable = pgas
execute_on = timestep_begin
outputs = none
[../]
[./mwater_fin]
type = RichardsMass
variable = pwater
execute_on = timestep_end
outputs = none
[../]
[./mgas_fin]
type = RichardsMass
variable = pgas
execute_on = timestep_end
outputs = none
[../]
[./mass_error_water]
type = FunctionValuePostprocessor
function = fcn_mass_error_w
[../]
[./mass_error_gas]
type = FunctionValuePostprocessor
function = fcn_mass_error_g
[../]
[./pw_left]
type = PointValue
point = '0 0 0'
variable = pwater
outputs = none
[../]
[./pw_right]
type = PointValue
point = '1 0 0'
variable = pwater
outputs = none
[../]
[./error_water]
type = FunctionValuePostprocessor
function = fcn_error_water
[../]
[./pg_left]
type = PointValue
point = '0 0 0'
variable = pgas
outputs = none
[../]
[./pg_right]
type = PointValue
point = '1 0 0'
variable = pgas
outputs = none
[../]
[./error_gas]
type = FunctionValuePostprocessor
function = fcn_error_gas
[../]
[]
[Functions]
[./fcn_mass_error_w]
type = ParsedFunction
value = 'abs(0.5*(mi-mf)/(mi+mf))'
vars = 'mi mf'
vals = 'mwater_init mwater_fin'
[../]
[./fcn_mass_error_g]
type = ParsedFunction
value = 'abs(0.5*(mi-mf)/(mi+mf))'
vars = 'mi mf'
vals = 'mgas_init mgas_fin'
[../]
[./fcn_error_water]
type = ParsedFunction
value = 'abs((-b*log(-(gdens0*xval+(-b*exp(-p0/b)))/b)-p1)/p1)'
vars = 'b gdens0 p0 xval p1'
vals = '1E2 -1 pw_left 1 pw_right'
[../]
[./fcn_error_gas]
type = ParsedFunction
value = 'abs((-b*log(-(gdens0*xval+(-b*exp(-p0/b)))/b)-p1)/p1)'
vars = 'b gdens0 p0 xval p1'
vals = '0.5E2 -0.5 pg_left 1 pg_right'
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.1
mat_permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
viscosity = '1E-3 0.5E-3'
gravity = '-1 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it'
petsc_options_value = 'bcgs bjacobi 1E-10 1E-10 10'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 1E6
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = gh18
execute_on = 'timestep_end final'
interval = 100000
exodus = true
[./console]
type = Console
interval = 1
[../]
[]
modules/xfem/test/tests/corner_nodes_cut/notch.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
volumetric_locking_correction = true
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '-0.26 0.0 0.0 0.1'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Mesh]
file = notch.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
[../]
[]
[BCs]
[./top_x]
type = DirichletBC
boundary = 102
variable = disp_x
value = 0.0
[../]
[./top_y]
type = DirichletBC
boundary = 102
variable = disp_y
value = 0.1
[../]
[./bottom_y]
type = DirichletBC
boundary = 101
variable = disp_y
value = -0.1
[../]
[./bottom_x]
type = DirichletBC
boundary = 101
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-9
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/diffusion_xfem/diffusion_flux_bc.i
# The Neumann BC is applied on the cutted boundary.
# The solution is not correct because so far integration along the cutted element faces is not right.
# To correct this, we need to re-calcuate the weights based on area/volume fraction. This will be implemented soon.
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 6
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.5'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./top_u]
type = NeumannBC
variable = u
boundary = 2
value = -1.0
[../]
[./bottom]
type = DirichletBC
variable = u
boundary = 0
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_2/ring2_mu_0_2_pen_sm.i
[Mesh]
file = ring2_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = ring2_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = ring2_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/examples/xfem/xfem_thermomechanics_stress_growth.i
# This is a demonstration of a simple thermomechanics simulation using
# XFEM in which a single crack propagates based on a principal stress
# criterion.
#
# The top and bottom of the plate are fixed in the y direction, and the
# top of the plate is cooled down over time. The thermal contraction
# causes tensile stresses, which lead to crack propagation. The crack
# propagates in a curved path because of the changinging nature of
# the thermal gradient as a result of the crack. There is no heat
# conduction across the crack as soon as it forms.
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 11
ny = 11
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[Variables]
# Solve for the temperature and the displacements
# Displacements are not specified because the TensorMechanics/Master Action sets them up
[./temp]
initial_condition = 300
[../]
[]
[XFEM]
geometric_cut_userobjects = 'line_seg_cut_uo'
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '1.0 0.5 0.8 0.5'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[./xfem_marker_uo]
type = XFEMRankTwoTensorMarkerUserObject
execute_on = timestep_end
tensor = stress
scalar_type = MaxPrincipal
threshold = 5e+1
average = true
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
planar_formulation = plane_strain
add_variables = true
eigenstrain_names = eigenstrain
[../]
[]
[Kernels]
[./htcond]
type = HeatConduction
variable = temp
[../]
[]
[BCs]
[./bottomx]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottomy]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./topx]
type = DirichletBC
boundary = top
variable = disp_x
value = 0.0
[../]
[./topy]
type = DirichletBC
boundary = top
variable = disp_y
value = 0.0
[../]
[./topt]
type = FunctionDirichletBC
boundary = top
variable = temp
function = 273-t*27.3
[../]
[./bott]
type = FunctionDirichletBC
boundary = bottom
variable = temp
function = 273
# value = 273.0
[../]
[]
[Materials]
[./thcond]
type = GenericConstantMaterial
prop_names = 'thermal_conductivity'
prop_values = '5e-6'
[../]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./_elastic_strain]
type = ComputeFiniteStrainElasticStress
[../]
[./thermal_strain]
type= ComputeThermalExpansionEigenstrain
thermal_expansion_coeff = 10e-6
temperature = temp
stress_free_temperature = 273
eigenstrain_name = eigenstrain
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-14
nl_abs_tol = 1e-9
# time control
start_time = 0.0
dt = 1.0
end_time = 10.0
max_xfem_update = 5
[]
[Outputs]
exodus = true
execute_on = timestep_end
[./console]
type = Console
output_linear = true
[../]
[]
test/tests/time_integrators/actually_explicit_euler_verification/ee-2d-linear.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 10
ny = 10
elem_type = QUAD4
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = (x+y)
[../]
[./exact_fn]
type = ParsedFunction
value = t*(x+y)
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1 2 3'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
start_time = 0.0
num_steps = 20
dt = 0.00005
l_tol = 1e-12
[./TimeIntegrator]
type = ActuallyExplicitEuler
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/glued_penalty_dirac.i
# This is a dirac (contact formulation) version of glued_penalty.i
[Mesh]
file = blocks_2d_nogap.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.01
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e7
poissons_ratio = 0.3
[../]
[./right]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = glued
formulation = penalty
penalty = 1e+7
system = diracKernel
[../]
[]
modules/xfem/test/tests/moving_interface/verification/2D_xy_homog1mat.i
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
# XFEM Moving Interface Verification Problem
# Dimensionality: 2D
# Coordinate System: xy
# Material Numbers/Types: homogeneous 1 material, 2 region
# Element Order: 1st
# Interface Characteristics: u independent, prescribed level set function
# Description:
# Transient 2D heat transfer problem in Cartesian coordinates designed with
# the Method of Manufactured Solutions. This problem was developed to verify
# XFEM performance on linear elements in the presence of a moving interface
# sweeping across the x-y coordinates of a system with homogeneous material
# properties. This problem can be exactly evaluated by FEM/Moose without the
# moving interface. Both the temperature and level set function are designed
# to be linear to attempt to minimize error between the Moose/exact solution
# and XFEM results.
# Results:
# The temperature at the bottom left boundary (x=0, y=0) exhibits the largest
# difference between the FEM/Moose solution and XFEM results. We present the
# XFEM results at this location with 10 digits of precision:
# Time Expected Temperature XFEM Calculated Temperature
# 0.2 440 440
# 0.4 480 479.9998791
# 0.6 520 519.9995307
# 0.8 560 559.9989724
# 1.0 600 599.9984541
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 4
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = moment_fitting
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
heal_always = true
[../]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./heat_cond]
type = MatDiffusion
variable = u
diffusivity = diffusion_coefficient
[../]
[./vol_heat_src]
type = BodyForce
variable = u
function = src_func
[../]
[./mat_time_deriv]
type = TestMatTimeDerivative
variable = u
mat_prop_value = rhoCp
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Constraints]
[./xfem_constraints]
type = XFEMSingleVariableConstraint
variable = u
geometric_cut_userobject = 'level_set_cut_uo'
use_penalty = true
alpha = 1e5
[../]
[]
[Functions]
[./src_func]
type = ParsedFunction
value = '10*(-100*x-100*y+200)'
[../]
[./neumann_func]
type = ParsedFunction
value = '1.5*100*t'
[../]
[./dirichlet_right_func]
type = ParsedFunction
value = '(-100*y+100)*t+400'
[../]
[./dirichlet_top_func]
type = ParsedFunction
value = '(-100*x+100)*t+400'
[../]
[./ls_func]
type = ParsedFunction
value = '-0.5*(x+y) + 1.04 - 0.2*t'
[../]
[]
[Materials]
[./mat_time_deriv_prop]
type = GenericConstantMaterial
prop_names = 'rhoCp'
prop_values = 10
[../]
[./therm_cond_prop]
type = GenericConstantMaterial
prop_names = 'diffusion_coefficient'
prop_values = 1.5
[../]
[]
[BCs]
[./left_du]
type = FunctionNeumannBC
variable = u
boundary = 'left'
function = neumann_func
[../]
[./right_u]
type = FunctionDirichletBC
variable = u
boundary = 'right'
function = dirichlet_right_func
[../]
[./bottom_du]
type = FunctionNeumannBC
variable = u
boundary = 'bottom'
function = neumann_func
[../]
[./top_u]
type = FunctionDirichletBC
variable = u
boundary = 'top'
function = dirichlet_top_func
[../]
[]
[ICs]
[./u_ic]
type = ConstantIC
value = 400
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
line_search = 'none'
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-10
nl_abs_tol = 1.0e-9
start_time = 0.0
dt = 0.2
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
interval = 1
execute_on = 'initial timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/second_order_elements/diffusion_2d_quad8.i
[GlobalParams]
order = SECOND
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 3
ny = 4
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD8
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.35 1.0 0.35 0.2'
time_start_cut = 0.0
time_end_cut = 2.0
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '0 0.1'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = FunctionDirichletBC
variable = u
boundary = 3
function = u_left
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_4/plane4_template1.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = plane4_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeIncrementalSmallStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeIncrementalSmallStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
test/tests/time_integrators/actually_explicit_euler_verification/ee-2d-linear-adapt.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 10
ny = 10
elem_type = QUAD4
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = (x+y)
[../]
[./exact_fn]
type = ParsedFunction
value = t*(x+y)
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1 2 3'
function = exact_fn
[../]
[]
[Adaptivity]
steps = 1
marker = box
max_h_level = 2
[./Markers]
[./box]
bottom_left = '-0.4 -0.4 0'
inside = refine
top_right = '0.4 0.4 0'
outside = do_nothing
type = BoxMarker
[../]
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
start_time = 0.0
num_steps = 4
dt = 0.005
l_tol = 1e-12
[./TimeIntegrator]
type = ActuallyExplicitEuler
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_4/cyl4_mu_0_2_pen.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = cyl4_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = cyl4_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = cyl4_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/sliding_block/sliding/dirac/sm/frictionless_penalty_sm.i
# This is a benchmark test that checks Dirac based frictionless
# contact using the penalty method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
order = FIRST
family = LAGRANGE
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 100
nl_max_its = 1000
dt = 0.05
end_time = 10
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_1/cyl1_template1.i
#
# This input file is a template for both the frictionless and glued test
# variations for the current problem geometry. In order to create an input
# file to run outside the runtest framework, look at the tests file and add the
# appropriate input file lines from the cli_args line.
#
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = cyl1_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/solid_mechanics/test/tests/material_limit_time_step/creep/nafems_test5a_lim_no_comb.i
[GlobalParams]
disp_x = disp_x
disp_y = disp_y
temp = temp
order = FIRST
family = LAGRANGE
[]
[Mesh]
file = plane1_mesh.e
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./temp]
initial_condition = 1500.0
[../]
[./creep]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[./pressure]
order = CONSTANT
family = MONOMIAL
[../]
[./invariant3]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[]
[SolidMechanics]
[./solid]
[../]
[]
[AuxKernels]
[./creep_aux]
type = MaterialRealAux
property = effective_creep_strain
variable = creep
[../]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./vonmises]
type = MaterialTensorAux
tensor = stress
variable = vonmises
quantity = vonmises
[../]
[./pressure]
type = MaterialTensorAux
tensor = stress
variable = pressure
quantity = hydrostatic
[../]
[./invariant3]
type = MaterialTensorAux
tensor = stress
variable = invariant3
quantity = thirdInvariant
[../]
[./creep_strain_xx]
type = MaterialTensorAux
tensor = creep_strain
variable = creep_strain_xx
index = 0
[../]
[./creep_strain_yy]
type = MaterialTensorAux
tensor = creep_strain
variable = creep_strain_yy
index = 1
[../]
[./creep_strain_zz]
type = MaterialTensorAux
tensor = creep_strain
variable = creep_strain_zz
index = 2
[../]
[./creep_strain_xy]
type = MaterialTensorAux
tensor = creep_strain
variable = creep_strain_xy
index = 3
[../]
[./elastic_str_xx_aux]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_xx
index = 0
[../]
[./elastic_str_yy_aux]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_yy
index = 1
[../]
[./elastic_str_zz_aux]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_zz
index = 2
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 3
component = 1
factor = -100.0
[../]
[./side_press]
type = Pressure
variable = disp_x
boundary = 4
component = 0
factor = -200.0
[../]
[]
[Materials]
[./stiffStuff1]
type = SolidModel
block = 1
youngs_modulus = 200e3
poissons_ratio = 0.3
constitutive_model = creep_matl
formulation = NonlinearPlaneStrain
large_strain = true
[../]
[./creep_matl]
type = PowerLawCreepModel
block = 1
coefficient = 3.125e-14
n_exponent = 5
activation_energy = 0
max_inelastic_increment = 0.01
compute_material_timestep_limit = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-5
nl_abs_tol = 1e-8
l_max_its = 50
nl_max_its = 100
end_time = 1000.0
num_steps = 10000
l_tol = 1e-3
[./TimeStepper]
type = IterationAdaptiveDT
dt = 1e-6
time_t = '1e-6 2e-6 3e-6 5e-6 9e-6 1.7e-5 3.3e-5 6.5e-5 1.29e-4 2.57e-4 5.13e-4 1.025e-3 2.049e-3 4.097e-3 8.193e-3 1.638e-2 3.276e-2 5.734e-2 0.106 0.180 0.291 0.457 0.706 1.08 1.64 2.48 3.74 5.63 8.46 12.7 19.1 28.7 43.0 64.5 108.0 194.0 366.0 710.0 1000.0'
time_dt = '1e-6 1e-6 2e-6 4e-6 8e-6 1.6e-5 3.2e-5 6.4e-5 1.28e-4 2.56e-4 5.12e-4 1.024e-3 2.048e-3 4.096e-3 8.192e-3 1.6384e-2 2.458e-2 4.915e-2 7.40e-2 0.111 0.166 0.249 0.374 0.560 0.840 1.26 1.89 2.83 4.25 6.40 9.6 14.3 21.5 43.0 86.1 172.0 344.0 290.0 290.0'
optimal_iterations = 30
iteration_window = 9
growth_factor = 2.0
cutback_factor = 0.5
timestep_limiting_postprocessor = matl_ts_min
[../]
[]
[Postprocessors]
[./matl_ts_min]
type = MaterialTimeStepPostprocessor
[../]
[./sigma_xx]
type = ElementAverageValue
variable = stress_xx
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./vonmises]
type = ElementAverageValue
variable = vonmises
[../]
[./pressure]
type = ElementAverageValue
variable = pressure
[../]
[./invariant3]
type = ElementAverageValue
variable = invariant3
[../]
[./eps_crp_xx]
type = ElementAverageValue
variable = creep_strain_xx
[../]
[./eps_crp_yy]
type = ElementAverageValue
variable = creep_strain_yy
[../]
[./eps_crp_zz]
type = ElementAverageValue
variable = creep_strain_zz
[../]
[./eps_crp_mag]
type = ElementAverageValue
variable = creep
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x3]
type = NodalVariableValue
nodeid = 2
variable = disp_x
[../]
[./disp_y3]
type = NodalVariableValue
nodeid = 2
variable = disp_y
[../]
[./disp_y4]
type = NodalVariableValue
nodeid = 3
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./elas_str_xx]
type = ElementAverageValue
variable = elastic_strain_xx
[../]
[./elas_str_yy]
type = ElementAverageValue
variable = elastic_strain_yy
[../]
[./elas_str_zz]
type = ElementAverageValue
variable = elastic_strain_zz
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
csv = true
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 25
[../]
[]
modules/combined/test/tests/sliding_block/sliding/dirac/frictional_02_penalty.i
# This is a benchmark test that checks Dirac based frictional
# contact using the penalty method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# A friction coefficient of 0.2 is used. The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./stiffStuff]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stiffStuff_stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[] # Materials
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
# petsc_options_iname = '-pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter -ksp_gmres_restart'
# petsc_options_value = 'hypre boomeramg 4 101'
nl_abs_tol = 1e-7
l_max_its = 200
nl_max_its = 1000
dt = 0.05
end_time = 10
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
penalty = 1e+7
formulation = penalty
friction_coefficient = 0.2
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
test/tests/markers/two_circle_marker/two_circle_marker_coarsen.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.02
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./Periodic]
[./all]
variable = u
auto_direction = 'x y'
[../]
[../]
[]
[Executioner]
type = Transient
num_steps = 6
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
initial_steps = 1
initial_marker = two_circle_marker
cycles_per_step = 1
marker = two_circle_marker
max_h_level = 1
[./Markers]
[./two_circle_marker]
type = TwoCircleMarker
point1 = '0.5 0.5 0'
radius1 = 0.3
point2 = '0.35 0.25 0'
radius2 = 0.3
shut_off_time = 0.15
inside = refine
outside = coarsen
[../]
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
print_mesh_changed_info = true
[../]
[]
modules/xfem/test/tests/corner_nodes_cut/sm/notch.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '-0.26 0.0 0.0 0.1'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Mesh]
file = notch.e
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
use_displaced_mesh = false
[../]
[]
[BCs]
[./top_x]
type = DirichletBC
boundary = 102
variable = disp_x
value = 0.0
[../]
[./top_y]
type = DirichletBC
boundary = 102
variable = disp_y
value = 0.1
[../]
[./bottom_y]
type = DirichletBC
boundary = 101
variable = disp_y
value = -0.1
[../]
[./bottom_x]
type = DirichletBC
boundary = 101
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = LinearIsotropicMaterial
block = 1
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-9
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/dirac/frictionless_penalty.i
# This is a benchmark test that checks Dirac based frictionless
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2. The gold file is run
# on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./constitutive]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
file_base = frictionless_penalty_out
interval = 10
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_change_restart2_sm.i
# This is a test designed to evaluate the cabability of the
# IterationAdaptiveDT TimeStepper to adjust time step size according to
# a function. For example, if the power input function for a BISON
# simulation rapidly increases or decreases, the IterationAdaptiveDT
# TimeStepper should take time steps small enough to capture the
# oscillation.
[GlobalParams]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
order = FIRST
family = LAGRANGE
block = 1
[]
[Mesh]
file = 1hex8_10mm_cube.e
displacements = 'disp_x disp_y disp_z'
[]
[Functions]
[./Fiss_Function]
type = PiecewiseLinear
x = '0 1e6 2e6 2.001e6 2.002e6'
y = '0 3e8 3e8 12e8 0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./temp]
[../]
[]
[AuxVariables]
[./vonmises_stress]
order = CONSTANT
family = MONOMIAL
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
[../]
[]
[Kernels]
[./heat]
type = HeatConduction
variable = temp
[../]
[./heat_ie]
type = HeatConductionTimeDerivative
variable = temp
[../]
[./heat_source]
type = HeatSource
variable = temp
value = 1.0
function = Fiss_Function
[../]
[]
[AuxKernels]
[./vonmises_stress]
type = MaterialTensorAux
tensor = stress
variable = vonmises_stress
quantity = vonmises
execute_on = timestep_end
[../]
[]
[BCs]
[./bottom_temp]
type = DirichletBC
variable = temp
boundary = 1
value = 300
[../]
[./top_bottom_disp_x]
type = DirichletBC
variable = disp_x
boundary = '1'
value = 0
[../]
[./top_bottom_disp_y]
type = DirichletBC
variable = disp_y
boundary = '1'
value = 0
[../]
[./top_bottom_disp_z]
type = DirichletBC
variable = disp_z
boundary = '1'
value = 0
[../]
[]
[Materials]
[./thermal]
type = HeatConductionMaterial
temp = temp
specific_heat = 1.0
thermal_conductivity = 1.0
[../]
[./elastic]
type = Elastic
youngs_modulus = 300e6
poissons_ratio = .3
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
thermal_expansion = 5e-6
stress_free_temperature = 300.0
formulation = Nonlinear3D
increment_calculation = Eigen
[../]
[./density]
type = Density
density = 10963.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
verbose = true
nl_abs_tol = 1e-10
num_steps = 50000
end_time = 2.002e6
[./TimeStepper]
type = IterationAdaptiveDT
timestep_limiting_function = Fiss_Function
max_function_change = 3e7
dt = 1e6
[../]
[]
[Postprocessors]
[./Temperature_of_Block]
type = ElementAverageValue
variable = temp
execute_on = 'timestep_end'
[../]
[./vonMises]
type = ElementAverageValue
variable = vonmises_stress
execute_on = 'timestep_end'
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 10
[../]
[]
[Problem]
restart_file_base = adapt_tstep_function_change_restart1_sm_checkpoint_cp/0065
[]
modules/xfem/test/tests/single_var_constraint_2d/stationary_jump.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.0'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
jump = 0.5
jump_flux = 0
geometric_cut_userobject = 'line_seg_cut_uo'
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_4/cyl4_template2_sm.i
[Mesh]
file = cyl4_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_force_step.i
# This is a test designed to evaluate the cabability of the
# IterationAdaptiveDT TimeStepper to adjust time step size according to
# a function. For example, if the power input function for a BISON
# simulation rapidly increases or decreases, the IterationAdaptiveDT
# TimeStepper should take time steps small enough to capture the
# oscillation.
[GlobalParams]
order = FIRST
family = LAGRANGE
block = 1
volumetric_locking_correction = true
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = 1hex8_10mm_cube.e
[]
[Functions]
[./Fiss_Function]
type = PiecewiseLinear
data_file = blip.csv
format = columns
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./temp]
initial_condition = 300.0
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
incremental = true
eigenstrain_names = thermal_expansion
add_variables = true
generate_output = 'vonmises_stress'
[../]
[]
[Kernels]
[./heat]
type = HeatConduction
variable = temp
[../]
[./heat_ie]
type = HeatConductionTimeDerivative
variable = temp
[../]
[./heat_source]
type = HeatSource
variable = temp
value = 1.0
function = Fiss_Function
[../]
[]
[BCs]
[./bottom_temp]
type = DirichletBC
variable = temp
boundary = 1
value = 300
[../]
[./top_bottom_disp_x]
type = DirichletBC
variable = disp_x
boundary = '1'
value = 0
[../]
[./top_bottom_disp_y]
type = DirichletBC
variable = disp_y
boundary = '1'
value = 0
[../]
[./top_bottom_disp_z]
type = DirichletBC
variable = disp_z
boundary = '1'
value = 0
[../]
[]
[Materials]
[./thermal]
type = HeatConductionMaterial
temp = temp
specific_heat = 1.0
thermal_conductivity = 1.0
[../]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 300e6
poissons_ratio = .3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[./thermal_expansion]
type = ComputeThermalExpansionEigenstrain
thermal_expansion_coeff = 5e-6
stress_free_temperature = 300.0
temperature = temp
eigenstrain_name = thermal_expansion
[../]
[./density]
type = Density
density = 10963.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
verbose = true
nl_abs_tol = 1e-10
start_time = 0.0
num_steps = 50000
end_time = 5.1e3
[./TimeStepper]
type = IterationAdaptiveDT
timestep_limiting_function = Fiss_Function
max_function_change = 3e20
force_step_every_function_point = true
dt = 1e2
[../]
[]
[Postprocessors]
[./Temperature_of_Block]
type = ElementAverageValue
variable = temp
execute_on = 'initial timestep_end'
[../]
[./vonMises]
type = ElementAverageValue
variable = vonmises_stress
execute_on = 'initial timestep_end'
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 10
[../]
[]
modules/xfem/test/tests/second_order_elements/square_branch_quad9_2d.i
[GlobalParams]
order = SECOND
family = LAGRANGE
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD9
[]
[UserObjects]
[./line_seg_cut_set_uo]
type = LineSegmentCutSetUserObject
cut_data = '-1.0000e-10 6.6340e-01 6.6340e-01 -1.0000e-10 0.0 1.0
3.3120e-01 3.3200e-01 1.0001e+00 3.3200e-01 1.0 2.0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
[../]
[]
[Functions]
[./right_disp_x]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[./top_disp_y]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[]
[BCs]
[./right_x]
type = FunctionDirichletBC
boundary = 1
variable = disp_x
function = right_disp_x
[../]
[./top_y]
type = FunctionDirichletBC
boundary = 2
variable = disp_y
function = top_disp_y
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./left_x]
type = DirichletBC
boundary = 3
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 2.2
num_steps = 5000
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/heat_conduction_xfem/heat.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 6
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
geometric_cut_userobjects = 'line_seg_cut_uo'
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.5'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Variables]
[./temp]
initial_condition = 300.0 # set initial temp to ambient
[../]
[]
[Functions]
[./temp_left]
type = PiecewiseLinear
x = '0 2'
y = '0 0.1'
[../]
[]
[Kernels]
[./heat] # gradient term in heat conduction equation
type = HeatConduction
variable = temp
[../]
[]
[BCs]
# Define boundary conditions
[./left_temp]
type = FunctionDirichletBC
variable = temp
boundary = 3
function = temp_left
[../]
[./right_temp]
type = DirichletBC
variable = temp
boundary = 1
value = 0
[../]
[]
[Materials]
[./fuel_thermal]
type = HeatConductionMaterial
block = 0
temp = temp
thermal_conductivity = 5.0
specific_heat = 1.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
l_max_its = 100
l_tol = 8e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
num_steps = 2
[]
[Outputs]
# Define output file(s)
file_base = heat_out
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/corner_nodes_cut/sm/corner_edge_cut.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo1]
type = LineSegmentCutUserObject
cut_data = '-0.0 0.5 0.5 0.5'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[./line_seg_cut_uo2]
type = LineSegmentCutUserObject
cut_data = '0.5 0.5 1.0 0.7'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
use_displaced_mesh = false
[../]
[]
[BCs]
[./top_x]
type = DirichletBC
boundary = 2
variable = disp_x
value = 0.0
[../]
[./top_y]
type = DirichletBC
boundary = 2
variable = disp_y
value = 0.1
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = -0.1
[../]
[./bottom_x]
type = DirichletBC
boundary = 0
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = LinearIsotropicMaterial
block = 0
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/phase_field/examples/grain_growth/grain_growth_2D_voronoi.i
# This simulation predicts GB migration of a 2D copper polycrystal with 15 grains
# Mesh adaptivity and time step adaptivity are used
# An AuxVariable is used to calculate the grain boundary locations
# Postprocessors are used to record time step and the number of grains
# We are not using the GrainTracker in this example so the number
# of order paramaters must match the number of grains.
[Mesh]
# Mesh block. Meshes can be read in or automatically generated
type = GeneratedMesh
dim = 2 # Problem dimension
nx = 12 # Number of elements in the x-direction
ny = 12 # Number of elements in the y-direction
nz = 0 # Number of elements in the z-direction
xmin = 0 # minimum x-coordinate of the mesh
xmax = 1000 # maximum x-coordinate of the mesh
ymin = 0 # minimum y-coordinate of the mesh
ymax = 1000 # maximum y-coordinate of the mesh
zmin = 0
zmax = 0
elem_type = QUAD4 # Type of elements used in the mesh
uniform_refine = 3 # Initial uniform refinement of the mesh
parallel_type = replicated # Periodic BCs
[]
[GlobalParams]
# Parameters used by several kernels that are defined globally to simplify input file
op_num = 15 # Number of grains
var_name_base = gr # Base name of grains
[]
[UserObjects]
[./voronoi]
type = PolycrystalVoronoi
grain_num = 15
rand_seed = 42
coloring_algorithm = bt # We must use bt to force the UserObject to assign one grain to each op
[../]
[]
[ICs]
[./PolycrystalICs]
[./PolycrystalColoringIC]
polycrystal_ic_uo = voronoi
[../]
[../]
[]
[Variables]
# Variable block, where all variables in the simulation are declared
[./PolycrystalVariables]
# Custom action that created all of the grain variables
order = FIRST # element type used by each grain variable
family = LAGRANGE
[../]
[]
[AuxVariables]
#active = ''
# Dependent variables
[./bnds]
# Variable used to visualize the grain boundaries in the simulation
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
# Kernel block, where the kernels defining the residual equations are set up.
[./PolycrystalKernel]
# Custom action creating all necessary kernels for grain growth. All input parameters are up in GlobalParams
[../]
[]
[AuxKernels]
#active = ''
# AuxKernel block, defining the equations used to calculate the auxvars
[./bnds_aux]
# AuxKernel that calculates the GB term
type = BndsCalcAux
variable = bnds
execute_on = timestep_end
[../]
[]
[BCs]
# Boundary Condition block
[./Periodic]
[./top_bottom]
auto_direction = 'x y' # Makes problem periodic in the x and y directions
[../]
[../]
[]
[Materials]
[./CuGrGr]
# Material properties
type = GBEvolution # Quantitative material properties for copper grain growth. Dimensions are nm and ns
GBmob0 = 2.5e-6 #Mobility prefactor for Cu from Schonfelder1997
GBenergy = 0.708 #GB energy for Cu from Schonfelder1997
Q = 0.23 #Activation energy for grain growth from Schonfelder 1997
T = 450 # K #Constant temperature of the simulation (for mobility calculation)
wGB = 14 # nm #Width of the diffuse GB
[../]
[]
[Postprocessors]
active = 'dt '
# Scalar postprocessors
[./dt]
# Outputs the current time step
type = TimestepSize
[../]
[]
[Executioner]
type = Transient # Type of executioner, here it is transient with an adaptive time step
scheme = bdf2 # Type of time integration (2nd order backward euler), defaults to 1st order backward euler
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart -mat_mffd_type'
petsc_options_value = 'hypre boomeramg 101 ds'
l_max_its = 30 # Max number of linear iterations
l_tol = 1e-4 # Relative tolerance for linear solves
nl_max_its = 40 # Max number of nonlinear iterations
nl_abs_tol = 1e-11 # Relative tolerance for nonlienar solves
nl_rel_tol = 1e-8 # Absolute tolerance for nonlienar solves
start_time = 0.0
end_time = 4000
[./TimeStepper]
type = IterationAdaptiveDT
dt = 25 # Initial time step. In this simulation it changes.
optimal_iterations = 6 #Time step will adapt to maintain this number of nonlinear iterations
[../]
[./Adaptivity]
# Block that turns on mesh adaptivity. Note that mesh will never coarsen beyond initial mesh (before uniform refinement)
initial_adaptivity = 2 # Number of times mesh is adapted to initial condition
refine_fraction = 0.7 # Fraction of high error that will be refined
coarsen_fraction = 0.1 # Fraction of low error that will coarsened
max_h_level = 4 # Max number of refinements used, starting from initial mesh (before uniform refinement)
[../]
[]
[Outputs]
exodus = true
csv = true
[./console]
type = Console
max_rows = 20
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/dirac/sm/frictional_02_penalty_sm.i
# This is a benchmark test that checks Dirac based frictional
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2 and a friction coefficient
# of 0.2 is used. The gold file is run on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
penalty = 1e+7
formulation = penalty
friction_coefficient = 0.2
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_3/ring3_template2.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = ring3_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
# petsc_options = '-mat_superlu_dist_iterrefine -mat_superlu_dist_replacetinypivot'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_change.i
# This is a test designed to evaluate the cabability of the
# IterationAdaptiveDT TimeStepper to adjust time step size according to
# a function. For example, if the power input function for a BISON
# simulation rapidly increases or decreases, the IterationAdaptiveDT
# TimeStepper should take time steps small enough to capture the
# oscillation.
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
order = FIRST
family = LAGRANGE
block = 1
[]
[Mesh]
file = 1hex8_10mm_cube.e
[]
[Functions]
[./Fiss_Function]
type = PiecewiseLinear
x = '0 1e6 2e6 2.001e6 2.002e6'
y = '0 3e8 3e8 12e8 0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./temp]
initial_condition = 300.0
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
volumetric_locking_correction = true
incremental = true
eigenstrain_names = thermal_expansion
decomposition_method = EigenSolution
add_variables = true
generate_output = 'vonmises_stress'
[../]
[]
[Kernels]
[./heat]
type = HeatConduction
variable = temp
[../]
[./heat_ie]
type = HeatConductionTimeDerivative
variable = temp
[../]
[./heat_source]
type = HeatSource
variable = temp
value = 1.0
function = Fiss_Function
[../]
[]
[BCs]
[./bottom_temp]
type = DirichletBC
variable = temp
boundary = 1
value = 300
[../]
[./top_bottom_disp_x]
type = DirichletBC
variable = disp_x
boundary = '1'
value = 0
[../]
[./top_bottom_disp_y]
type = DirichletBC
variable = disp_y
boundary = '1'
value = 0
[../]
[./top_bottom_disp_z]
type = DirichletBC
variable = disp_z
boundary = '1'
value = 0
[../]
[]
[Materials]
[./thermal]
type = HeatConductionMaterial
temp = temp
specific_heat = 1.0
thermal_conductivity = 1.0
[../]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 300e6
poissons_ratio = .3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[./thermal_expansion]
type = ComputeThermalExpansionEigenstrain
thermal_expansion_coeff = 5e-6
stress_free_temperature = 300.0
temperature = temp
eigenstrain_name = thermal_expansion
[../]
[./density]
type = Density
density = 10963.0
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
verbose = true
nl_abs_tol = 1e-10
start_time = 0.0
num_steps = 50000
end_time = 2.002e6
[./TimeStepper]
type = IterationAdaptiveDT
timestep_limiting_function = Fiss_Function
max_function_change = 3e7
dt = 1e6
[../]
[]
[Postprocessors]
[./Temperature_of_Block]
type = ElementAverageValue
variable = temp
execute_on = 'initial timestep_end'
[../]
[./vonMises]
type = ElementAverageValue
variable = vonmises_stress
execute_on = 'initial timestep_end'
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 10
[../]
[]
modules/combined/test/tests/frictional_contact/single_point_2d/single_point_2d_tp.i
[Mesh]
file = single_point_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./horizontal_movement]
type = ParsedFunction
value = t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
save_in = 'saved_x saved_y'
diag_save_in = 'diag_saved_x diag_saved_y'
[../]
[]
[AuxKernels]
[./incslip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./incslip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./botx]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./boty]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./botx2]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./boty2]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./topy]
type = DirichletBC
variable = disp_y
boundary = 4
value = -0.005
[../]
[]
[Materials]
[./bottom]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1.0e9
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[./top]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1.0e6
poissons_ratio = 0.3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 200
dt = 0.001
end_time = 0.01
num_steps = 1000
nl_rel_tol = 1e-08
nl_abs_tol = 1e-08
dtmin = 0.001
l_tol = 1e-3
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = coulomb
system = constraint
friction_coefficient = '0.25'
formulation = tangential_penalty
penalty = 1e10
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
master = '2'
slave = '3'
[../]
[]
modules/tensor_mechanics/test/tests/dynamics/linear_constraint/disp_mid.i
# Constraining slave nodes to move a linear combination of master nodes
#
# The test consists of a 2D rectangular block divided into two Quad elements
# (along its height) which have different material properties.
# A displacement of 2 m is applied to the top surface of the block in x direction and the
# bottom surface is held fixed.
# The nodes of the interface between the two elements will tend to move as
# dictated by the material models of the two elements.
# LinearNodalConstraint forces the interface nodes to move as a linear combination
# of the nodes on the top and bottom of the block.
# master node ids and the corresponding weights are taken as input by the LinearNodalConstraint
# along with the slave node set or slave node ids.
# The constraint can be applied using either penalty or kinematic formulation.
# In this example, the final x displacement of the top surface is 2m and bottom surface is 0m.
# Therefore, the final x displacement of the interface nodes would be 0.25*top+0.75*bottom = 0.5m
[Mesh]
file=rect_mid.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Kernels]
[./TensorMechanics]
displacements = 'disp_x disp_y'
[../]
[]
[BCs]
[./top_2x]
type = DirichletBC
variable = disp_x
boundary = 10
value = 2.0
[../]
[./top_2y]
type = DirichletBC
variable = disp_y
boundary = 10
value = 0.0
[../]
[./bottom_1]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./bottom_2]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[]
[Materials]
[./Elasticity_tensor_1]
type = ComputeElasticityTensor
block = 1
fill_method = 'symmetric_isotropic'
C_ijkl = '400. 200.'
[../]
[./strain_1]
type = ComputeSmallStrain
block = 1
displacements = 'disp_x disp_y'
[../]
[./stress_1]
type = ComputeLinearElasticStress
block = 1
[../]
[./density_1]
type = GenericConstantMaterial
block = 1
prop_names = 'density'
prop_values = '10.'
[../]
[./Elasticity_tensor_2]
type = ComputeElasticityTensor
block = 2
fill_method = 'symmetric_isotropic'
C_ijkl = '1000. 500.'
[../]
[./strain_2]
type = ComputeSmallStrain
block = 2
displacements = 'disp_x disp_y'
[../]
[./stress_2]
type = ComputeLinearElasticStress
block = 2
[../]
[./density_2]
type = GenericConstantMaterial
block = 2
prop_names = 'density'
prop_values = '10.'
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = ''
petsc_options_value = ''
line_search = 'none'
[]
[Constraints]
[./disp_x_1]
type = LinearNodalConstraint
variable = disp_x
master = '0 5'
weights = '0.25 0.75'
# slave_node_set = '2'
slave_node_ids = '2 3'
penalty = 1e8
formulation = kinematic
[../]
[./disp_y_1]
type = LinearNodalConstraint
variable = disp_y
master = '0 5'
weights = '0.25 0.75'
# slave_node_set = '2'
slave_node_ids = '2 3'
penalty = 1e8
formulation = kinematic
[../]
[]
[Postprocessors]
[./_dt]
type = TimestepSize
[../]
[./disp_1]
type = NodalVariableValue
nodeid = 0
variable = disp_x
[../]
[./disp_2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_3]
type = NodalVariableValue
nodeid = 2
variable = disp_x
[../]
[./disp_4]
type = NodalVariableValue
nodeid = 3
variable = disp_x
[../]
[./disp_5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_6]
type = NodalVariableValue
nodeid = 5
variable = disp_x
[../]
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_template1_sm.i
[Mesh]
file = brick1_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x8]
type = NodalVariableValue
nodeid = 7
variable = disp_x
[../]
[./disp_x13]
type = NodalVariableValue
nodeid = 12
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y8]
type = NodalVariableValue
nodeid = 7
variable = disp_y
[../]
[./disp_y13]
type = NodalVariableValue
nodeid = 12
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_x8 disp_x13 disp_x16 disp_y5 disp_y8 disp_y13 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_3/brick3_mu_0_2_pen_sm.i
[Mesh]
file = brick3_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[./tang_force_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x28]
type = NodalVariableValue
nodeid = 27
variable = disp_x
[../]
[./disp_x33]
type = NodalVariableValue
nodeid = 32
variable = disp_x
[../]
[./disp_y28]
type = NodalVariableValue
nodeid = 27
variable = disp_y
[../]
[./disp_y33]
type = NodalVariableValue
nodeid = 32
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
file_base = brick3_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = brick3_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x28 disp_y28 disp_x33 disp_y33 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+6
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/frictionless_penalty.i
[Mesh]
file = blocks_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e7
poissons_ratio = 0.3
[../]
[./right]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
system = Constraint
master = 2
slave = 3
model = frictionless
formulation = penalty
penalty = 1e+7
[../]
[]
modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_change_sm.i
# This is a test designed to evaluate the cabability of the
# IterationAdaptiveDT TimeStepper to adjust time step size according to
# a function. For example, if the power input function for a BISON
# simulation rapidly increases or decreases, the IterationAdaptiveDT
# TimeStepper should take time steps small enough to capture the
# oscillation.
[GlobalParams]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
order = FIRST
family = LAGRANGE
block = 1
[]
[Mesh]
file = 1hex8_10mm_cube.e
displacements = 'disp_x disp_y disp_z'
[]
[Functions]
[./Fiss_Function]
type = PiecewiseLinear
x = '0 1e6 2e6 2.001e6 2.002e6'
y = '0 3e8 3e8 12e8 0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./temp]
initial_condition = 300.0
[../]
[]
[AuxVariables]
[./vonmises_stress]
order = CONSTANT
family = MONOMIAL
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
[../]
[]
[Kernels]
[./heat]
type = HeatConduction
variable = temp
[../]
[./heat_ie]
type = HeatConductionTimeDerivative
variable = temp
[../]
[./heat_source]
type = HeatSource
variable = temp
value = 1.0
function = Fiss_Function
[../]
[]
[AuxKernels]
[./vonmises]
type = MaterialTensorAux
tensor = stress
variable = vonmises_stress
quantity = vonmises
execute_on = timestep_end
[../]
[]
[BCs]
[./bottom_temp]
type = DirichletBC
variable = temp
boundary = 1
value = 300
[../]
[./top_bottom_disp_x]
type = DirichletBC
variable = disp_x
boundary = '1'
value = 0
[../]
[./top_bottom_disp_y]
type = DirichletBC
variable = disp_y
boundary = '1'
value = 0
[../]
[./top_bottom_disp_z]
type = DirichletBC
variable = disp_z
boundary = '1'
value = 0
[../]
[]
[Materials]
[./thermal]
type = HeatConductionMaterial
temp = temp
specific_heat = 1.0
thermal_conductivity = 1.0
[../]
[./elastic]
type = Elastic
youngs_modulus = 300e6
poissons_ratio = .3
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
thermal_expansion = 5e-6
stress_free_temperature = 300.0
increment_calculation = Eigen
[../]
[./density]
type = Density
density = 10963.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
verbose = true
nl_abs_tol = 1e-10
start_time = 0.0
num_steps = 50000
end_time = 2.002e6
[./TimeStepper]
type = IterationAdaptiveDT
timestep_limiting_function = Fiss_Function
max_function_change = 3e7
dt = 1e6
[../]
[]
[Postprocessors]
[./Temperature_of_Block]
type = ElementAverageValue
variable = temp
execute_on = 'initial timestep_end'
[../]
[./vonMises]
type = ElementAverageValue
variable = vonmises_stress
execute_on = 'initial timestep_end'
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 10
[../]
[]
modules/porous_flow/test/tests/dirackernels/squarepulse1.i
# Test PorousFlowSquarePulsePointSource DiracKernel
[Mesh]
type = GeneratedMesh
dim = 2
bias_x = 1.1
bias_y = 1.1
ymax = 1
xmax = 1
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = pp
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1e-7
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2e9
density0 = 1000
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.2
[../]
[]
[Postprocessors]
[./total_mass]
type = PorousFlowFluidMass
execute_on = 'initial timestep_end'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
nl_abs_tol = 1e-14
dt = 200
end_time = 2000
[]
[Outputs]
perf_graph = true
file_base = squarepulse1
csv = true
execute_on = 'initial timestep_end'
[./con]
output_linear = true
type = Console
[../]
[]
[ICs]
[./PressureIC]
variable = pp
type = ConstantIC
value = 20e6
[../]
[]
[DiracKernels]
[./sink1]
type = PorousFlowSquarePulsePointSource
start_time = 100
end_time = 300
point = '0.5 0.5 0'
mass_flux = -0.1
variable = pp
[../]
[./sink]
type = PorousFlowSquarePulsePointSource
start_time = 600
end_time = 1400
point = '0.5 0.5 0'
mass_flux = -0.1
variable = pp
[../]
[./source]
point = '0.5 0.5 0'
start_time = 1500
mass_flux = 0.2
end_time = 2000
variable = pp
type = PorousFlowSquarePulsePointSource
[../]
[]
test/tests/outputs/postprocessor/output_pps_hidden_shown_check.i
# Computing two postprocessors and specifying one of them both in the
# show list and the hide list, which should throw an error message.
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 10
ny = 10
elem_type = QUAD4
# This test uses ElementalVariableValue postprocessors on specific
# elements, so element numbering needs to stay unchanged
allow_renumbering = false
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./lr_u]
type = DirichletBC
variable = u
boundary = '1 3'
value = 1
[../]
[]
[Postprocessors]
[./elem_56]
type = ElementalVariableValue
variable = u
elementid = 56
[../]
[./elem_12]
type = ElementalVariableValue
variable = u
elementid = 12
[../]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
[]
[Outputs]
[./console]
type = Console
show = 'elem_56'
hide = 'elem_56'
[../]
[]
modules/combined/test/tests/gap_heat_transfer_htonly/sphere3D.i
#
# 3D Spherical Gap Heat Transfer Test.
#
# This test exercises 3D gap heat transfer for a constant conductivity gap.
#
# The mesh consists of an inner solid sphere of radius = 1 unit, and outer
# hollow sphere with an inner radius of 2. In other words, the gap between
# them is 1 radial unit in length.
#
# The conductivity of both spheres is set very large to achieve a uniform
# temperature in each sphere. The temperature of the center node of the
# inner sphere is ramped from 100 to 200 over one time unit. The
# temperature of the outside of the outer, hollow sphere is held fixed
# at 100.
#
# A simple analytical solution is possible for the integrated heat flux
# between the inner and outer spheres:
#
# Integrated Flux = (T_left - T_right) * (gapK/(r^2*((1/r1)-(1/r2)))) * Area
#
# For gapK = 1 (default value)
#
# The area is taken as the area of the slave (inner) surface:
#
# Area = 4 * pi * 1^2 (4*pi*r^2)
#
# The integrated heat flux across the gap at time 1 is then:
#
# 4*pi*k*delta_T/((1/r1)-(1/r2))
# 4*pi*1*100/((1/1) - (1/2)) = 2513.3 watts
#
# For comparison, see results from the integrated flux post processors.
# This simulation makes use of symmetry, so only 1/8 of the spheres is meshed
# As such, the integrated flux from the post processors is 1/8 of the total,
# or 314.159 watts... i.e. 100*pi.
# The value coming from the post processor is slightly less than this
# but converges as mesh refinement increases.
#
# Simulating contact is challenging. Regression tests that exercise
# contact features can be difficult to solve consistently across multiple
# platforms. While designing these tests, we felt it worth while to note
# some aspects of these tests. The following applies to:
# sphere3D.i, sphere2DRZ.i, cyl2D.i, and cyl3D.i.
# 1. We decided that to perform consistently across multiple platforms we
# would use very small convergence tolerance. In this test we chose an
# nl_rel_tol of 1e-12.
# 2. Due to such a high value for thermal conductivity (used here so that the
# domains come to a uniform temperature) the integrated flux at time = 0
# was relatively large (the value coming from SideIntegralFlux =
# -_diffusion_coef[_qp]*_grad_u[_qp]*_normals[_qp] where the diffusion coefficient
# here is thermal conductivity).
# Even though _grad_u[_qp] is small, in this case the diffusion coefficient
# is large. The result is a number that isn't exactly zero and tends to
# fail exodiff. For this reason the parameter execute_on = initial should not
# be used. That parameter is left to default settings in these regression tests.
#
[GlobalParams]
order = SECOND
family = LAGRANGE
[]
[Mesh]
file = sphere3D.e
[]
[Functions]
[./temp]
type = PiecewiseLinear
x = '0 1'
y = '100 200'
[../]
[]
[Variables]
[./temp]
initial_condition = 100
[../]
[]
[AuxVariables]
[./gap_conductance]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./heat_conduction]
type = HeatConduction
variable = temp
[../]
[]
[AuxKernels]
[./gap_cond]
type = MaterialRealAux
property = gap_conductance
variable = gap_conductance
boundary = 2
[../]
[]
[Materials]
[./heat1]
type = HeatConductionMaterial
block = '1 2'
specific_heat = 1.0
thermal_conductivity = 100000000.0
[../]
[]
[ThermalContact]
[./thermal_contact]
type = GapHeatTransfer
variable = temp
master = 3
slave = 2
gap_conductivity = 1
quadrature = true
gap_geometry_type = SPHERE
sphere_origin = '0 0 0'
[../]
[]
[BCs]
[./mid]
type = FunctionDirichletBC
boundary = 5
variable = temp
function = temp
[../]
[./temp_far_right]
type = DirichletBC
boundary = 4
variable = temp
value = 100
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
dt = 1
dtmin = 0.01
end_time = 1
nl_rel_tol = 1e-12
nl_abs_tol = 1e-7
[./Quadrature]
order = fifth
side_order = seventh
[../]
[]
[Outputs]
exodus = true
[./Console]
type = Console
[../]
[]
[Postprocessors]
[./temp_left]
type = SideAverageValue
boundary = 2
variable = temp
[../]
[./temp_right]
type = SideAverageValue
boundary = 3
variable = temp
[../]
[./flux_left]
type = SideFluxIntegral
variable = temp
boundary = 2
diffusivity = thermal_conductivity
[../]
[./flux_right]
type = SideFluxIntegral
variable = temp
boundary = 3
diffusivity = thermal_conductivity
[../]
[]
test/tests/functions/vector_postprocessor_function/vector_postprocessor_function.i
#This function linearly interpolates the data generated by a vector post
#processor. The purpose is to have a function take points and a field variable
#(aux or primary) as arguments.
[Mesh]
type = GeneratedMesh
dim = 2
nx = 2
ny = 4
xmin = 0.0
xmax = 0.004
ymin = 0.0
ymax = 0.008
[]
[Variables]
[./u]
initial_condition = 0
[../]
[]
[AuxVariables]
[./v]
initial_condition = 1
[../]
[]
[Functions]
[./ramp_u]
type = ParsedFunction
value = 't'
[../]
[./point_value_function_u]
type = VectorPostprocessorFunction
component = 1
argument_column = y
value_column = u
vectorpostprocessor_name = point_value_vector_postprocessor_u
[../]
[./line_value_function_v]
type = VectorPostprocessorFunction
component = 1
argument_column = y
value_column = v
vectorpostprocessor_name = line_value_vector_postprocessor_v
[../]
[./function_v]
type = PiecewiseLinear
x = '0 0.008'
y = '1 2'
axis = y
[../]
[]
[Kernels]
[./diffusion_u]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./aux_v]
type = FunctionAux
variable = v
function = function_v
[../]
[]
[BCs]
[./top_u]
type = FunctionDirichletBC
boundary = top
variable = u
function = ramp_u
[../]
[./bottom_u]
type = DirichletBC
boundary = bottom
variable = u
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package -ksp_gmres_restart'
petsc_options_value = ' lu superlu_dist 51'
line_search = 'none'
l_max_its = 50
l_tol = 1e-3
nl_max_its = 20
nl_rel_tol = 1e-4
nl_abs_tol = 1e-6
start_time = 0
num_steps = 1
dt = 1
[]
[Postprocessors]
[./point_value_postprocessor_u]
type = FunctionValuePostprocessor
function = point_value_function_u
point = '0.002 0.004 0'
[../]
[./line_value_postprocessor_v]
type = FunctionValuePostprocessor
function = line_value_function_v
point = '0.002 0.004 0'
[../]
[./postprocessor_average_u]
type = ElementAverageValue
variable = u
[../]
[./postprocessor_average_v]
type = ElementAverageValue
variable = v
[../]
[]
[VectorPostprocessors]
[./point_value_vector_postprocessor_u]
type = PointValueSampler
variable = u
points = '0 0.001 0 0 0.004 0 0 0.008 0'
#points = '0.001 0 0 0.002 0 0'
sort_by = y
execute_on = linear
[../]
[./line_value_vector_postprocessor_v]
type = LineValueSampler
variable = v
start_point = '0 0.001 0'
end_point = '0 0.008 0'
num_points = 5
sort_by = y
execute_on = linear
[../]
[]
[Outputs]
interval = 1
csv = false
exodus = true
file_base = out
[./console]
type = Console
output_linear = true
max_rows = 10
[../]
[]
modules/xfem/test/tests/side_integral/side_integral_3d.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 3
ny = 3
nz = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.2
elem_type = HEX8
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./square_cut_uo]
type = RectangleCutUserObject
cut_data = ' -1.0 -0.1 -1.0
2.0 1.1 -1.0
2.0 1.1 1.0
-1.0 -0.1 1.0'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./front]
type = DirichletBC
variable = u
boundary = front
value = 3
[../]
[./back]
type = DirichletBC
variable = u
boundary = back
value = 2
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Postprocessors]
[./front]
type = SideIntegralVariablePostprocessor
variable = u
boundary = front
[../]
[./back]
type = SideIntegralVariablePostprocessor
variable = u
boundary = back
[../]
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_4/ring4_mu_0_2_pen_sm.i
[Mesh]
file = ring4_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = ring4_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = ring4_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/constraint/frictionless_penalty.i
# This is a benchmark test that checks constraint based frictionless
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2. The gold file is run
# on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
test/tests/multiapps/multilevel/dt_from_master_master.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
num_steps = 1
dt = 0.25
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[./out]
type = Console
output_file = true
[../]
[]
[MultiApps]
[./sub]
type = TransientMultiApp
app_type = MooseTestApp
positions = '0 0 0 0.5 0.5 0'
input_files = dt_from_master_sub.i
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_mu_0_2_pen_sm.i
[Mesh]
file = brick1_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[./tang_force_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x8]
type = NodalVariableValue
nodeid = 7
variable = disp_x
[../]
[./disp_x13]
type = NodalVariableValue
nodeid = 12
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y8]
type = NodalVariableValue
nodeid = 7
variable = disp_y
[../]
[./disp_y13]
type = NodalVariableValue
nodeid = 12
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
file_base = brick1_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = brick1_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x5 disp_x8 disp_x13 disp_x16 disp_y5 disp_y8 disp_y13 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/constraint/sm/frictional_02_penalty_sm.i
# This is a benchmark test that checks constraint based frictional
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2 and a friction coefficient
# of 0.2 is used. The gold file is run on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -sub_pc_type -pc_asm_overlap -ksp_gmres_restart'
petsc_options_value = 'asm lu 20 101'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-3
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
penalty = 1e+7
friction_coefficient = 0.2
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/xfem/test/tests/moment_fitting/diffusion_moment_fitting_four_points.i
# Test for a diffusion problem which uses four points moment_fitting approach.
# See this paper (https://doi.org/10.1007/s00466-018-1544-2) for more details about moment_fitting approach.
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 6
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
geometric_cut_userobjects = 'line_seg_cut_uo'
qrule = moment_fitting
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.5'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '0 0.1'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = FunctionDirichletBC
variable = u
boundary = 3
function = u_left
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/diffusion_xfem/levelsetcut2d_aux.i
# 2D: Mesh is cut by level set based cutter
# The level set is a MOOSE auxvariable
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 3
ny = 3
xmin = 0
xmax = 1
ymin = 0
ymax = 1
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
[../]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '3 5'
[../]
[./ls_func]
type = ParsedFunction
value = 'x-0.5'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 3
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/fieldsplit_contact/2blocks3d_sm.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = 2blocks3d.e
patch_size = 5
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[]
[Functions]
[./horizontal_movement]
type = ParsedFunction
value = t/10.0
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
[../]
[]
[AuxKernels]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 2
paired_boundary = 3
[../]
[]
[BCs]
[./push_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 1
function = horizontal_movement
[../]
[./fix_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = 0.0
[../]
[./fix_y]
type = DirichletBC
variable = disp_y
boundary = '1 4'
value = 0.0
[../]
[./fix_z]
type = DirichletBC
variable = disp_z
boundary = '1 4'
value = 0.0
[../]
[]
[Materials]
[./left]
type = Elastic
block = 1
poissons_ratio = 0.3
youngs_modulus = 1e6
formulation = Nonlinear3D
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
[../]
[./right]
type = Elastic
block = 2
poissons_ratio = 0.3
youngs_modulus = 1e6
formulation = Nonlinear3D
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
[../]
[]
[Contact]
[./leftright]
slave = 2
master = 3
model = frictionless
penalty = 1e+6
normalize_penalty = true
formulation = kinematic
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
[Preconditioning]
active = 'FSP'
[./FSP]
type = FSP
# It is the starting point of splitting
topsplit = 'contact_interior' # 'contact_interior' should match the following block name
[./contact_interior]
splitting = 'contact interior'
splitting_type = multiplicative
[../]
[./interior]
type = ContactSplit
vars = 'disp_x disp_y disp_z'
uncontact_master = '3'
uncontact_slave = '2'
uncontact_displaced = '1'
blocks = '1 2'
include_all_contact_nodes = 1
petsc_options_iname = '-ksp_type -ksp_max_it -ksp_rtol -ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter -pc_hypre_strong_threshold'
petsc_options_value = ' preonly 10 1e-4 201 hypre boomeramg 1 0.25'
[../]
[./contact]
type = ContactSplit
vars = 'disp_x disp_y disp_z'
contact_master = '3'
contact_slave = '2'
contact_displaced = '1'
include_all_contact_nodes = 1
petsc_options_iname = '-ksp_type -ksp_max_it -pc_type -pc_asm_overlap -sub_pc_type -pc_factor_levels'
petsc_options_value = ' preonly 10 asm 1 lu 0'
[../]
[../]
[]
[Problem]
error_on_jacobian_nonzero_reallocation = true
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
dt = 0.1
dtmin = 0.1
end_time = 0.1
l_tol = 1e-4
l_max_its = 100
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
nl_max_its = 100
[]
[Outputs]
file_base = 2blocks3d_out
[./exodus]
type = Exodus
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
modules/combined/test/tests/inelastic_strain/elas_plas/elas_plas_nl1_sm.i
#
# Test for effective strain calculation.
# Boundary conditions from NAFEMS test NL1
#
# This is not a verification test. The boundary conditions are applied such
# that the first step generates only elastic stresses. The second and third
# steps generate plastic deformation and the effective strain should be
# increasing throughout the run.
#
[GlobalParams]
disp_x = disp_x
disp_y = disp_y
order = FIRST
family = LAGRANGE
volumetric_locking_correction = true
[]
[Mesh]#Comment
file = one_elem2.e
displacements = 'disp_x disp_y'
[] # Mesh
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[] # Variables
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[./pressure]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./eff_plastic_strain]
order = CONSTANT
family = MONOMIAL
[../]
[] # AuxVariables
[SolidMechanics]
[./solid]
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./vonmises]
type = MaterialTensorAux
tensor = stress
variable = vonmises
quantity = vonmises
execute_on = timestep_end
[../]
[./pressure]
type = MaterialTensorAux
tensor = stress
variable = pressure
quantity = hydrostatic
execute_on = timestep_end
[../]
[./elastic_strain_xx]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_xx
index = 0
[../]
[./elastic_strain_yy]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_yy
index = 1
[../]
[./elastic_strain_zz]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_zz
index = 2
[../]
[./plastic_strain_xx]
type = MaterialTensorAux
tensor = plastic_strain
variable = plastic_strain_xx
index = 0
[../]
[./plastic_strain_yy]
type = MaterialTensorAux
tensor = plastic_strain
variable = plastic_strain_yy
index = 1
[../]
[./plastic_strain_zz]
type = MaterialTensorAux
tensor = plastic_strain
variable = plastic_strain_zz
index = 2
[../]
[./tot_strain_xx]
type = MaterialTensorAux
tensor = total_strain
variable = tot_strain_xx
index = 0
[../]
[./tot_strain_yy]
type = MaterialTensorAux
tensor = total_strain
variable = tot_strain_yy
index = 1
[../]
[./tot_strain_zz]
type = MaterialTensorAux
tensor = total_strain
variable = tot_strain_zz
index = 2
[../]
[./eff_plastic_strain]
type = MaterialRealAux
property = effective_plastic_strain
variable = eff_plastic_strain
[../]
[] # AuxKernels
[Functions]
[./appl_dispy]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0.0 0.208e-4 0.50e-4 1.00e-4'
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 101
value = 0.0
[../]
[./origin_x]
type = DirichletBC
variable = disp_x
boundary = 103
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 102
value = 0.0
[../]
[./origin_y]
type = DirichletBC
variable = disp_y
boundary = 103
value = 0.0
[../]
[./top_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1
function = appl_dispy
[../]
[] # BCs
[Materials]
[./stiffStuff1]
type = SolidModel
block = 1
youngs_modulus = 250e9
poissons_ratio = 0.25
constitutive_model = isoplas
formulation = NonlinearPlaneStrain
[../]
[./isoplas]
type = IsotropicPlasticity
block = 1
yield_stress = 5e6
hardening_constant = 0.0
[../]
[] # Materials
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
l_tol = 1e-4
l_max_its = 100
nl_max_its = 20
dt = 1.0
start_time = 0.0
num_steps = 100
end_time = 3.0
[] # Executioner
[Postprocessors]
[./stress_xx]
type = ElementAverageValue
variable = stress_xx
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./stress_xy]
type = ElementAverageValue
variable = stress_xy
[../]
[./vonmises]
type = ElementAverageValue
variable = vonmises
[../]
[./pressure]
type = ElementAverageValue
variable = pressure
[../]
[./el_strain_xx]
type = ElementAverageValue
variable = elastic_strain_xx
[../]
[./el_strain_yy]
type = ElementAverageValue
variable = elastic_strain_yy
[../]
[./el_strain_zz]
type = ElementAverageValue
variable = elastic_strain_zz
[../]
[./pl_strain_xx]
type = ElementAverageValue
variable = plastic_strain_xx
[../]
[./pl_strain_yy]
type = ElementAverageValue
variable = plastic_strain_yy
[../]
[./pl_strain_zz]
type = ElementAverageValue
variable = plastic_strain_zz
[../]
[./eff_plastic_strain]
type = ElementAverageValue
variable = eff_plastic_strain
[../]
[./tot_strain_xx]
type = ElementAverageValue
variable = tot_strain_xx
[../]
[./tot_strain_yy]
type = ElementAverageValue
variable = tot_strain_yy
[../]
[./tot_strain_zz]
type = ElementAverageValue
variable = tot_strain_zz
[../]
[./disp_x1]
type = NodalVariableValue
nodeid = 0
variable = disp_x
[../]
[./disp_x4]
type = NodalVariableValue
nodeid = 3
variable = disp_x
[../]
[./disp_y1]
type = NodalVariableValue
nodeid = 0
variable = disp_y
[../]
[./disp_y4]
type = NodalVariableValue
nodeid = 3
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[]
[Outputs]
exodus = true
csv = true
file_base=elas_plas_nl1_out
[./console]
type = Console
output_linear = true
[../]
[] # Outputs
modules/xfem/test/tests/solid_mechanics_basic/sm/penny_crack.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
file = quarter_sym.e
displacements = 'disp_x disp_y disp_z'
[]
[UserObjects]
[./circle_cut_uo]
type = CircleCutUserObject
cut_data = '-0.5 -0.5 0
0.0 -0.5 0
-0.5 0 0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises_stress]
order = CONSTANT
family = MONOMIAL
[../]
[./SED]
order = CONSTANT
family = MONOMIAL
[../]
[]
[DomainIntegral]
integrals = 'Jintegral'
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
crack_front_points = '-0.5 0.0 0.0
-0.25 -0.07 0
-0.15 -0.15 0
-0.07 -0.25 0
0 -0.5 0'
crack_end_direction_method = CrackDirectionVector
crack_direction_vector_end_1 = '0 1 0'
crack_direction_vector_end_2 = '1 0 0'
crack_direction_method = CurvedCrackFront
intersecting_boundary = '3 4' #It would be ideal to use this, but can't use with XFEM yet
radius_inner = '0.3'
radius_outer = '0.6'
poissons_ratio = 0.3
youngs_modulus = 207000
block = 1
incremental = true
solid_mechanics = true
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
use_displaced_mesh = true
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
execute_on = timestep_end
[../]
[./vonmises_stress]
type = MaterialTensorAux
tensor = stress
variable = vonmises_stress
quantity = vonmises
execute_on = timestep_end
[../]
[./SED]
type = MaterialRealAux
variable = SED
property = strain_energy_density
execute_on = timestep_end
block = 1
[../]
[]
[Functions]
[./top_trac_z]
type = ConstantFunction
value = 10
[../]
[]
[BCs]
[./top_z]
type = FunctionNeumannBC
boundary = 2
variable = disp_z
function = top_trac_z
[../]
[./bottom_x]
type = DirichletBC
boundary = 1
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = 1
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = 1
variable = disp_z
value = 0.0
[../]
[./sym_y]
type = DirichletBC
boundary = 3
variable = disp_y
value = 0.0
[../]
[./sym_x]
type = DirichletBC
boundary = 4
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 207000
compute_JIntegral = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
file_base = penny_crack_out
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/dirac/sm/frictional_04_penalty_sm.i
# This is a benchmark test that checks Dirac based frictional
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2 and a friction coefficient
# of 0. is used. The gold file is run on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
friction_coefficient = 0.4
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_3/ring3_template2_sm.i
[Mesh]
file = ring3_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/xfem/test/tests/single_var_constraint_2d/stationary_fluxjump_func.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.0'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
jump = 0
jump_flux = jump_flux_func
geometric_cut_userobject = 'line_seg_cut_uo'
[../]
[]
[Functions]
[./jump_flux_func]
type = ParsedFunction
value = '1'
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/phase_field/tutorials/spinodal_decomposition/s4_mobility.i
#
# Example simulation of an iron-chromium alloy at 500 C. Equilibrium
# concentrations are at 23.6 and 82.3 mol% Cr. Kappa value, free energy equation,
# and mobility equation were provided by Lars Hoglund. Solved using the split
# form of the Cahn-Hilliard equation.
#
[Mesh]
type = GeneratedMesh
dim = 2
elem_type = QUAD4
nx = 25
ny = 25
nz = 0
xmin = 0
xmax = 25
ymin = 0
ymax = 25
zmin = 0
zmax = 0
uniform_refine = 2
[]
[Variables]
[./c] # Mole fraction of Cr (unitless)
order = FIRST
family = LAGRANGE
[../]
[./w] # Chemical potential (eV/mol)
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./concentrationIC] # 46.774 mol% Cr with variations
type = RandomIC
min = 0.44774
max = 0.48774
seed = 210
variable = c
[../]
[]
[BCs]
[./Periodic]
[./c_bcs]
auto_direction = 'x y'
[../]
[../]
[]
[Kernels]
[./w_dot]
variable = w
v = c
type = CoupledTimeDerivative
[../]
[./coupled_res]
variable = w
type = SplitCHWRes
mob_name = M
[../]
[./coupled_parsed]
variable = c
type = SplitCHParsed
f_name = f_loc
kappa_name = kappa_c
w = w
[../]
[]
[Materials]
# d is a scaling factor that makes it easier for the solution to converge
# without changing the results. It is defined in each of the first three
# materials and must have the same value in each one.
[./kappa] # Gradient energy coefficient (eV nm^2/mol)
type = GenericFunctionMaterial
prop_names = 'kappa_c'
prop_values = '8.125e-16*6.24150934e+18*1e+09^2*1e-27'
# kappa_c *eV_J*nm_m^2* d
[../]
[./mobility] # Mobility (nm^2 mol/eV/s)
# NOTE: This is a fitted equation, so only 'Conv' has units
type = DerivativeParsedMaterial
f_name = M
args = c
constant_names = 'Acr Bcr Ccr Dcr
Ecr Fcr Gcr
Afe Bfe Cfe Dfe
Efe Ffe Gfe
nm_m eV_J d'
constant_expressions = '-32.770969 -25.8186669 -3.29612744 17.669757
37.6197853 20.6941796 10.8095813
-31.687117 -26.0291774 0.2286581 24.3633544
44.3334237 8.72990497 20.956768
1e+09 6.24150934e+18 1e-27'
function = 'nm_m^2/eV_J/d*((1-c)^2*c*10^
(Acr*c+Bcr*(1-c)+Ccr*c*log(c)+Dcr*(1-c)*log(1-c)+
Ecr*c*(1-c)+Fcr*c*(1-c)*(2*c-1)+Gcr*c*(1-c)*(2*c-1)^2)
+c^2*(1-c)*10^
(Afe*c+Bfe*(1-c)+Cfe*c*log(c)+Dfe*(1-c)*log(1-c)+
Efe*c*(1-c)+Ffe*c*(1-c)*(2*c-1)+Gfe*c*(1-c)*(2*c-1)^2))'
derivative_order = 1
outputs = exodus
[../]
[./local_energy] # Local free energy function (eV/mol)
type = DerivativeParsedMaterial
f_name = f_loc
args = c
constant_names = 'A B C D E F G eV_J d'
constant_expressions = '-2.446831e+04 -2.827533e+04 4.167994e+03 7.052907e+03
1.208993e+04 2.568625e+03 -2.354293e+03
6.24150934e+18 1e-27'
function = 'eV_J*d*(A*c+B*(1-c)+C*c*log(c)+D*(1-c)*log(1-c)+
E*c*(1-c)+F*c*(1-c)*(2*c-1)+G*c*(1-c)*(2*c-1)^2)'
derivative_order = 2
[../]
[./precipitate_indicator] # Returns 1/625 if precipitate
type = ParsedMaterial
f_name = prec_indic
args = c
function = if(c>0.6,0.0016,0)
[../]
[]
[Postprocessors]
[./step_size] # Size of the time step
type = TimestepSize
[../]
[./iterations] # Number of iterations needed to converge timestep
type = NumNonlinearIterations
[../]
[./nodes] # Number of nodes in mesh
type = NumNodes
[../]
[./evaluations] # Cumulative residual calculations for simulation
type = NumResidualEvaluations
[../]
[./precipitate_area] # Fraction of surface devoted to precipitates
type = ElementIntegralMaterialProperty
mat_prop = prec_indic
[../]
[./active_time] # Time computer spent on simulation
type = PerfGraphData
section_name = "Root"
data_type = total
[../]
[]
[Preconditioning]
[./coupled]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
l_max_its = 30
l_tol = 1e-6
nl_max_its = 50
nl_abs_tol = 1e-9
end_time = 604800 # 7 days
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type
-sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly
ilu 1'
[./TimeStepper]
type = IterationAdaptiveDT
dt = 10
cutback_factor = 0.8
growth_factor = 1.5
optimal_iterations = 7
[../]
[./Adaptivity]
coarsen_fraction = 0.1
refine_fraction = 0.7
max_h_level = 2
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[Outputs]
exodus = true
console = true
csv = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/tensor_mechanics/examples/coal_mining/cosserat_wp_only.i
# Strata deformation and fracturing around a coal mine
#
# A 2D geometry is used that simulates a transverse section of
# the coal mine. The model is actually 3D, but the "x"
# dimension is only 10m long, meshed with 1 element, and
# there is no "x" displacement. The mine is 300m deep
# and just the roof is studied (0<=z<=300). The model sits
# between 0<=y<=450. The excavation sits in 0<=y<=150. This
# is a "half model": the boundary conditions are such that
# the model simulates an excavation sitting in -150<=y<=150
# inside a model of the region -450<=y<=450. The
# excavation height is 3m (ie, the excavation lies within
# 0<=z<=3). Mining is simulated by moving the excavation's
# roof down, until disp_z=-3 at t=1.
# Time is meaningless in this example
# as quasi-static solutions are sought at each timestep, but
# the number of timesteps controls the resolution of the
# process.
#
# The boundary conditions are:
# - disp_x = 0 everywhere
# - disp_y = 0 at y=0 and y=450
# - disp_z = 0 for y>150
# - disp_z = -3 at maximum, for 0<=y<=150. See excav function.
# That is, rollers on the sides, free at top, and prescribed at bottom.
#
# The small strain formulation is used.
#
# All stresses are measured in MPa. The initial stress is consistent with
# the weight force from density 2500 kg/m^3, ie, stress_zz = -0.025*(300-z) MPa
# where gravity = 10 m.s^-2 = 1E-5 MPa m^2/kg. The maximum and minimum
# principal horizontal stresses are assumed to be equal to 0.8*stress_zz.
#
# Below you will see Drucker-Prager parameters and AuxVariables, etc.
# These are not actally used in this example.
#
# Material properties:
# Young's modulus = 8 GPa
# Poisson's ratio = 0.25
# Cosserat layer thickness = 1 m
# Cosserat-joint normal stiffness = large
# Cosserat-joint shear stiffness = 1 GPa
# Weak-plane cohesion = 0.1 MPa
# Weak-plane friction angle = 20 deg
# Weak-plane dilation angle = 10 deg
# Weak-plane tensile strength = 0.1 MPa
# Weak-plane compressive strength = 100 MPa, varying down to 1 MPa when tensile strain = 1
#
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 1
xmin = -5
xmax = 5
nz = 40
zmin = 0
zmax = 400
bias_z = 1.1
ny = 30 # make this a multiple of 3, so y=150 is at a node
ymin = 0
ymax = 450
[]
[left]
type = SideSetsAroundSubdomainGenerator
new_boundary = 11
normal = '0 -1 0'
input = generated_mesh
[]
[right]
type = SideSetsAroundSubdomainGenerator
new_boundary = 12
normal = '0 1 0'
input = left
[]
[front]
type = SideSetsAroundSubdomainGenerator
new_boundary = 13
normal = '-1 0 0'
input = right
[]
[back]
type = SideSetsAroundSubdomainGenerator
new_boundary = 14
normal = '1 0 0'
input = front
[]
[top]
type = SideSetsAroundSubdomainGenerator
new_boundary = 15
normal = '0 0 1'
input = back
[]
[bottom]
type = SideSetsAroundSubdomainGenerator
new_boundary = 16
normal = '0 0 -1'
input = top
[]
[excav]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '-5 0 0'
top_right = '5 150 3'
input = bottom
[]
[roof]
type = SideSetsBetweenSubdomainsGenerator
new_boundary = 21
master_block = 0
paired_block = 1
input = excav
[]
[hole]
type = BlockDeletionGenerator
block_id = 1
input = roof
[]
[]
[GlobalParams]
block = 0
perform_finite_strain_rotations = false
displacements = 'disp_x disp_y disp_z'
Cosserat_rotations = 'wc_x wc_y wc_z'
[]
[Variables]
[./disp_y]
[../]
[./disp_z]
[../]
[./wc_x]
[../]
[]
[Kernels]
[./cy_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_y
component = 1
[../]
[./cz_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_z
component = 2
[../]
[./x_couple]
type = StressDivergenceTensors
use_displaced_mesh = false
variable = wc_x
displacements = 'wc_x wc_y wc_z'
component = 0
base_name = couple
[../]
[./x_moment]
type = MomentBalancing
use_displaced_mesh = false
variable = wc_x
component = 0
[../]
[./gravity]
type = Gravity
use_displaced_mesh = false
variable = disp_z
value = -10E-6
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./wc_y]
[../]
[./wc_z]
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./dp_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./dp_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[./dp_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./dp_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
[../]
[./dp_shear]
type = MaterialStdVectorAux
index = 0
property = dp_plastic_internal_parameter
variable = dp_shear
[../]
[./dp_tensile]
type = MaterialStdVectorAux
index = 1
property = dp_plastic_internal_parameter
variable = dp_tensile
[../]
[./wp_shear]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_internal_parameter
variable = wp_shear
[../]
[./wp_tensile]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_internal_parameter
variable = wp_tensile
[../]
[./dp_shear_f]
type = MaterialStdVectorAux
index = 0
property = dp_plastic_yield_function
variable = dp_shear_f
[../]
[./dp_tensile_f]
type = MaterialStdVectorAux
index = 1
property = dp_plastic_yield_function
variable = dp_tensile_f
[../]
[./wp_shear_f]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_yield_function
variable = wp_shear_f
[../]
[./wp_tensile_f]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_yield_function
variable = wp_tensile_f
[../]
[]
[BCs]
[./no_y]
type = DirichletBC
variable = disp_y
boundary = '11 12 16 21' # note addition of 16 and 21
value = 0.0
[../]
[./no_z]
type = DirichletBC
variable = disp_z
boundary = '16'
value = 0.0
[../]
[./no_wc_x]
type = DirichletBC
variable = wc_x
boundary = '11 12'
value = 0.0
[../]
[./roof]
type = FunctionDirichletBC
variable = disp_z
boundary = 21
function = excav_sideways
[../]
[]
[Functions]
[./ini_xx]
type = ParsedFunction
value = '-0.8*2500*10E-6*(400-z)'
[../]
[./ini_zz]
type = ParsedFunction
value = '-2500*10E-6*(400-z)'
[../]
[./excav_sideways]
type = ParsedFunction
vars = 'end_t ymin ymax e_h closure_dist'
vals = '1.0 0 150.0 -3.0 15.0'
value = 'e_h*max(min((t/end_t*(ymax-ymin)+ymin-y)/closure_dist,1),0)'
[../]
[./excav_downwards]
type = ParsedFunction
vars = 'end_t ymin ymax e_h closure_dist'
vals = '1.0 0 150.0 -3.0 15.0'
value = 'e_h*t/end_t*max(min(((ymax-ymin)+ymin-y)/closure_dist,1),0)'
[../]
[]
[UserObjects]
[./dp_coh_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 2.9 # MPa
value_residual = 3.1 # MPa
rate = 1.0
[../]
[./dp_fric]
type = TensorMechanicsHardeningConstant
value = 0.65 # 37deg
[../]
[./dp_dil]
type = TensorMechanicsHardeningConstant
value = 0.65
[../]
[./dp_tensile_str_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 1.0 # MPa
value_residual = 1.4 # MPa
rate = 1.0
[../]
[./dp_compressive_str]
type = TensorMechanicsHardeningConstant
value = 1.0E3 # Large!
[../]
[./drucker_prager_model]
type = TensorMechanicsPlasticDruckerPrager
mc_cohesion = dp_coh_strong_harden
mc_friction_angle = dp_fric
mc_dilation_angle = dp_dil
internal_constraint_tolerance = 1 # irrelevant here
yield_function_tolerance = 1 # irrelevant here
[../]
[./wp_coh_harden]
type = TensorMechanicsHardeningCubic
value_0 = 0.1
value_residual = 0.1
internal_limit = 10
[../]
[./wp_tan_fric]
type = TensorMechanicsHardeningConstant
value = 0.36 # 20deg
[../]
[./wp_tan_dil]
type = TensorMechanicsHardeningConstant
value = 0.18 # 10deg
[../]
[./wp_tensile_str_harden]
type = TensorMechanicsHardeningCubic
value_0 = 0.1
value_residual = 0.1
internal_limit = 10
[../]
[./wp_compressive_str_soften]
type = TensorMechanicsHardeningCubic
value_0 = 100
value_residual = 1.0
internal_limit = 1.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeLayeredCosseratElasticityTensor
young = 8E3 # MPa
poisson = 0.25
layer_thickness = 1.0
joint_normal_stiffness = 1E9 # huge
joint_shear_stiffness = 1E3
[../]
[./strain]
type = ComputeCosseratIncrementalSmallStrain
eigenstrain_names = ini_stress
[../]
[./ini_stress]
type = ComputeEigenstrainFromInitialStress
initial_stress = 'ini_xx 0 0 0 ini_xx 0 0 0 ini_zz'
eigenstrain_name = ini_stress
[../]
[./stress]
type = ComputeMultipleInelasticCosseratStress
block = 0
inelastic_models = 'wp'
relative_tolerance = 2.0
absolute_tolerance = 1E6
max_iterations = 1
tangent_operator = nonlinear
perform_finite_strain_rotations = false
[../]
[./dp]
type = CappedDruckerPragerCosseratStressUpdate
block = 0
warn_about_precision_loss = false
host_youngs_modulus = 8E3
host_poissons_ratio = 0.25
base_name = dp
DP_model = drucker_prager_model
tensile_strength = dp_tensile_str_strong_harden
compressive_strength = dp_compressive_str
max_NR_iterations = 100000
tip_smoother = 0.1E1
smoothing_tol = 0.1E1 # MPa # Must be linked to cohesion
yield_function_tol = 1E-11 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0
[../]
[./wp]
type = CappedWeakPlaneCosseratStressUpdate
block = 0
warn_about_precision_loss = false
base_name = wp
cohesion = wp_coh_harden
tan_friction_angle = wp_tan_fric
tan_dilation_angle = wp_tan_dil
tensile_strength = wp_tensile_str_harden
compressive_strength = wp_compressive_str_soften
max_NR_iterations = 10000
tip_smoother = 0.1
smoothing_tol = 0.1 # MPa # Note, this must be tied to cohesion, otherwise get no possible return at cone apex
yield_function_tol = 1E-11 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0E-3
[../]
[./density]
type = GenericConstantMaterial
prop_names = density
prop_values = 2500
[../]
[]
[Postprocessors]
[./subsidence]
type = PointValue
point = '0 0 400'
variable = disp_z
use_displaced_mesh = false
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
petsc_options_value = ' asm 2 lu gmres 200'
line_search = bt
nl_abs_tol = 1e-3
nl_rel_tol = 1e-5
l_max_its = 30
nl_max_its = 1000
start_time = 0.0
dt = 0.2
end_time = 0.2
[]
[Outputs]
file_base = cosserat_wp_only
interval = 1
print_linear_residuals = false
csv = true
exodus = true
[./console]
type = Console
output_linear = false
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/dirac/sm/frictionless_penalty_sm.i
# This is a benchmark test that checks Dirac based frictionless
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2. The gold file is run
# on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
test/tests/time_integrators/explicit-euler/ee-2d-linear.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 10
ny = 10
elem_type = QUAD4
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = (x+y)
[../]
[./exact_fn]
type = ParsedFunction
value = t*(x+y)
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
lumping = true
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[BCs]
active = 'all'
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1 2 3'
function = exact_fn
implicit = true
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
scheme = 'explicit-euler'
solve_type = 'LINEAR'
start_time = 0.0
num_steps = 20
dt = 0.00005
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_4/ring4_template1.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = ring4_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/xfem/test/tests/single_var_constraint_3d/stationary_fluxjump_3d.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 5
ny = 5
nz = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.25
elem_type = HEX8
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./square_planar_cut_uo]
type = RectangleCutUserObject
cut_data = ' 0.5 -0.001 -0.001
0.5 1.001 -0.001
0.5 1.001 1.001
0.5 -0.001 1.001'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
jump = 0
jump_flux = 1
geometric_cut_userobject = 'square_planar_cut_uo'
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = left
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = right
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/hertz_cyl/half_symm_q4/hertz_cyl_half_1deg_template1.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = hertz_cyl_half_1deg.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Functions]
[./disp_ramp_vert]
type = PiecewiseLinear
x = '0. 1. 3.5'
y = '0. -0.0020 -0.0020'
[../]
[./disp_ramp_horz]
type = PiecewiseLinear
x = '0. 1. 3.5'
y = '0. 0.0 0.0014'
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 2
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 2
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./disp_x226]
type = NodalVariableValue
nodeid = 225
variable = disp_x
[../]
[./disp_y226]
type = NodalVariableValue
nodeid = 225
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_y
boundary = '1 2'
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_x
boundary = '1 2'
value = 0.0
[../]
[./top_y_disp]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = disp_ramp_vert
[../]
[./top_x_disp]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = disp_ramp_horz
[../]
[]
[Materials]
[./stuff1_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e10
poissons_ratio = 0.0
[../]
[./stuff1_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./stuff1_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./stuff2_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff2_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./stuff2_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[./stuff3_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '3'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff3_strain]
type = ComputeFiniteStrain
block = '3'
[../]
[./stuff3_stress]
type = ComputeFiniteStrainElasticStress
block = '3'
[../]
[./stuff4_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '4'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff4_strain]
type = ComputeFiniteStrain
block = '4'
[../]
[./stuff4_stress]
type = ComputeFiniteStrainElasticStress
block = '4'
[../]
[./stuff5_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '5'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff5_strain]
type = ComputeFiniteStrain
block = '5'
[../]
[./stuff5_stress]
type = ComputeFiniteStrainElasticStress
block = '5'
[../]
[./stuff6_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '6'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff6_strain]
type = ComputeFiniteStrain
block = '6'
[../]
[./stuff6_stress]
type = ComputeFiniteStrainElasticStress
block = '6'
[../]
[./stuff7_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '7'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff7_strain]
type = ComputeFiniteStrain
block = '7'
[../]
[./stuff7_stress]
type = ComputeFiniteStrainElasticStress
block = '7'
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-6
nl_rel_tol = 1e-5
l_max_its = 100
nl_max_its = 200
start_time = 0.0
end_time = 3.5
l_tol = 1e-3
dt = 0.1
dtmin = 0.1
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '3 4'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '3 4'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'x_disp y_disp cont_press'
start_time = 0.9
execute_vector_postprocessors_on = timestep_end
[../]
[./chkfile2]
type = CSV
show = 'bot_react_x bot_react_y disp_x226 disp_y226 top_react_x top_react_y'
start_time = 0.9
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./interface]
master = 2
slave = 3
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+10
system = Constraint
[../]
[]
modules/xfem/test/tests/crack_tip_enrichment/edge_crack_2d.i
[XFEM]
qrule = volfrac
output_cut_plane = true
use_crack_tip_enrichment = true
crack_front_definition = crack_tip
enrichment_displacements = 'enrich1_x enrich2_x enrich3_x enrich4_x enrich1_y enrich2_y enrich3_y enrich4_y'
displacements = 'disp_x disp_y'
cut_off_boundary = all
cut_off_radius = 0.2
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.0 1.0 0.5 1.0'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[./crack_tip]
type = CrackFrontDefinition
crack_direction_method = CrackDirectionVector
crack_front_points = '0.5 1.0 0'
crack_direction_vector = '1 0 0'
2d = true
axis_2d = 2
[../]
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 9
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 2.0
elem_type = QUAD4
[]
[./all_node]
type = BoundingBoxNodeSetGenerator
new_boundary = 'all'
top_right = '1 2 0'
bottom_left = '0 0 0'
input = gen
[../]
[./right_bottom_node]
type = ExtraNodesetGenerator
new_boundary = 'right_bottom_node'
coord = '1.0 0.0'
input = all_node
[../]
[./right_top_node]
type = ExtraNodesetGenerator
new_boundary = 'right_top_node'
coord = '1.0 2.0'
input = right_bottom_node
[../]
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./saved_x]
[../]
[./saved_y]
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./TensorMechanics]
displacements = 'disp_x disp_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./vonmises]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = vonmises
scalar_type = vonmisesStress
execute_on = timestep_end
[../]
[]
[BCs]
[./top_y]
type = Pressure
variable = disp_y
boundary = top
component = 1
factor = -1
[../]
[./bottom_y]
type = Pressure
variable = disp_y
boundary = bottom
component = 1
factor = -1
[../]
[./fix_y]
type = DirichletBC
boundary = right_bottom_node
variable = disp_y
value = 0.0
[../]
[./fix_x]
type = DirichletBC
boundary = right_bottom_node
variable = disp_x
value = 0.0
[../]
[./fix_x2]
type = DirichletBC
boundary = right_top_node
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./strain]
type = ComputeCrackTipEnrichmentSmallStrain
displacements = 'disp_x disp_y'
crack_front_definition = crack_tip
enrichment_displacements = 'enrich1_x enrich2_x enrich3_x enrich4_x enrich1_y enrich2_y enrich3_y enrich4_y'
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
# Since we do not sub-triangularize the tip element,
# we need to use higher order quadrature rule to improve
# integration accuracy.
# Here second = SECOND is for regression test only.
# However, order = SIXTH is recommended.
[./Quadrature]
type = GAUSS
order = SECOND
[../]
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 10
l_tol = 1e-4
# controls for nonlinear iterations
nl_max_its = 100
nl_rel_tol = 1e-12 #11
nl_abs_tol = 1e-12 #12
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
dtmin = 1.0
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
file_base = edge_crack_2d_out
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/solid_mechanics/test/tests/material_limit_time_step/elas_plas/nafems_nl1_lim_no_comb.i
#
# Tests material model IsotropicPlasticity with material based time stepper
# Boundary conditions from NAFEMS test NL1
#
[GlobalParams]
disp_x = disp_x
disp_y = disp_y
order = FIRST
family = LAGRANGE
volumetric_locking_correction = true
[]
[Mesh]#Comment
file = one_elem2.e
displacements = 'disp_x disp_y'
[] # Mesh
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[] # Variables
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_eff]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[] # AuxVariables
[SolidMechanics]
[./solid]
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./vonmises]
type = MaterialTensorAux
tensor = stress
variable = vonmises
quantity = vonmises
execute_on = timestep_end
[../]
[./elastic_strain_yy]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_yy
index = 1
[../]
[./plastic_strain_eff]
type = MaterialRealAux
property = effective_plastic_strain
variable = plastic_strain_eff
[../]
[./tot_strain_yy]
type = MaterialTensorAux
tensor = total_strain
variable = tot_strain_yy
index = 1
[../]
[] # AuxKernels
[Functions]
[./appl_dispx]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0'
y = '0.0 0.25e-4 0.50e-4 0.50e-4 0.50e-4 0.25e-4 0.0 0.0 0.0'
[../]
[./appl_dispy]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0'
y = '0.0 0.0 0.0 0.25e-4 0.50e-4 0.50e-4 0.50e-4 0.25e-4 0.0 '
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 101
value = 0.0
[../]
[./origin_x]
type = DirichletBC
variable = disp_x
boundary = 103
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 102
value = 0.0
[../]
[./origin_y]
type = DirichletBC
variable = disp_y
boundary = 103
value = 0.0
[../]
[./top_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1
function = appl_dispy
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 2
function = appl_dispx
[../]
[] # BCs
[Materials]
[./stiffStuff1]
type = SolidModel
block = 1
youngs_modulus = 250e9
poissons_ratio = 0.25
constitutive_model = isoplas
formulation = NonlinearPlaneStrain
large_strain = true
[../]
[./isoplas]
type = IsotropicPlasticity
block = 1
yield_stress = 5e6
hardening_constant = 0.0
relative_tolerance = 1e-20
absolute_tolerance = 1e-8
max_inelastic_increment = 0.000001
compute_material_timestep_limit = true
[../]
[] # Materials
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
l_tol = 1e-4
l_max_its = 100
nl_max_its = 20
[./TimeStepper]
type = IterationAdaptiveDT
dt = 0.1
time_t = '1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0'
time_dt = '0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1'
optimal_iterations = 30
iteration_window = 9
growth_factor = 2.0
cutback_factor = 0.5
timestep_limiting_postprocessor = matl_ts_min
[../]
start_time = 0.0
num_steps = 1000
end_time = 8.0
[] # Executioner
[Postprocessors]
[./matl_ts_min]
type = MaterialTimeStepPostprocessor
[../]
[./stress_xx]
type = ElementAverageValue
variable = stress_xx
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./vonmises]
type = ElementAverageValue
variable = vonmises
[../]
[./el_strain_yy]
type = ElementAverageValue
variable = elastic_strain_yy
[../]
[./plas_strain_eff]
type = ElementAverageValue
variable = plastic_strain_eff
[../]
[./tot_strain_yy]
type = ElementAverageValue
variable = tot_strain_yy
[../]
[./disp_x1]
type = NodalVariableValue
nodeid = 0
variable = disp_x
[../]
[./disp_x4]
type = NodalVariableValue
nodeid = 3
variable = disp_x
[../]
[./disp_y1]
type = NodalVariableValue
nodeid = 0
variable = disp_y
[../]
[./disp_y4]
type = NodalVariableValue
nodeid = 3
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[]
[Outputs]
exodus = true
csv = true
[./console]
type = Console
output_linear = true
[../]
[] # Outputs
modules/combined/test/tests/contact_verification/patch_tests/plane_3/plane3_template2_sm.i
[Mesh]
file = plane3_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 200
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = LinearIsotropicMaterial
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = LinearIsotropicMaterial
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-8
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/frictional_contact/single_point_2d/single_point_2d_predictor.i
[Mesh]
file = single_point_2d.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./horizontal_movement]
type = ParsedFunction
value = t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
save_in = 'saved_x saved_y'
diag_save_in = 'diag_saved_x diag_saved_y'
[../]
[]
[AuxKernels]
[./incslip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./incslip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./botx]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./boty]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./botx2]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./boty2]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./topy]
type = DirichletBC
variable = disp_y
boundary = 4
value = -0.005
[../]
[]
[Materials]
[./bottom]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1.0e9
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[./top]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1.0e6
poissons_ratio = 0.3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 200
dt = 0.001
end_time = 0.01
num_steps = 1000
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
dtmin = 0.001
l_tol = 1e-3
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = coulomb
system = constraint
friction_coefficient = '0.25'
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
master = '2'
slave = '3'
[../]
[]
test/tests/postprocessors/pps_interval/pps_interval_mismatch.i
[Mesh]
file = square-2x2-nodeids.e
# This test can only be run with renumering disabled, so the
# NodalVariableValue postprocessor's node id is well-defined.
allow_renumbering = false
[]
[Variables]
active = 'u v'
[./u]
order = SECOND
family = LAGRANGE
[../]
[./v]
order = SECOND
family = LAGRANGE
[../]
[]
[Functions]
active = 'force_fn exact_fn left_bc'
[./force_fn]
type = ParsedFunction
value = '1-x*x+2*t'
[../]
[./exact_fn]
type = ParsedFunction
value = '(1-x*x)*t'
[../]
[./left_bc]
type = ParsedFunction
value = t
[../]
[]
[Kernels]
active = '
time_u diff_u ffn_u
time_v diff_v'
[./time_u]
type = TimeDerivative
variable = u
[../]
[./diff_u]
type = Diffusion
variable = u
[../]
[./ffn_u]
type = BodyForce
variable = u
function = force_fn
[../]
[./time_v]
type = TimeDerivative
variable = v
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[]
[BCs]
active = 'all_u left_v right_v'
[./all_u]
type = FunctionDirichletBC
variable = u
boundary = '1'
function = exact_fn
[../]
[./left_v]
type = FunctionDirichletBC
variable = v
boundary = '3'
function = left_bc
[../]
[./right_v]
type = DirichletBC
variable = v
boundary = '2'
value = 0
[../]
[]
[Postprocessors]
active = 'l2 node1 node4'
[./l2]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[./node1]
type = NodalVariableValue
variable = u
nodeid = 15
[../]
[./node4]
type = NodalVariableValue
variable = v
nodeid = 10
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
dt = 0.1
start_time = 0
end_time = 1
[]
[Outputs]
interval = 4
exodus = true
[./console]
type = Console
interval = 3
[../]
[]
test/tests/userobjects/toggle_mesh_adaptivity/toggle_mesh_adaptivity_wait.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Problem]
solve = false
[]
[Executioner]
type = Transient
num_steps = 4
dt = 0.1
[]
[Adaptivity]
cycles_per_step = 1
marker = marker
max_h_level = 4
[./Markers]
[./marker]
type = BoxMarker
bottom_left = '0.35 0.25 0'
top_right = '0.5 0.5 0'
inside = refine
outside = coarsen
[../]
[../]
[]
[UserObjects]
[./mesh_adaptivity_off]
type = ToggleMeshAdaptivity
mesh_adaptivity = 'off'
apply_after_timestep = 1
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
print_mesh_changed_info = true
[../]
[]
modules/xfem/test/tests/init_solution_propagation/init_solution_propagation.i
# The purpose of this test is to verify that the procedures for initializing
# the solution on nodes/elements affected by XFEM works correctly in both
# serial and parallel.
# The crack cuts near to domain boundaries in parallel, and the displacement
# solution will be wrong in parallel if this is not done correctly. This
# test also has multiple aux variables of various types that are only computed
# on initialization, and which will be wrong if the XFEM initializtion
# is not done correctly.
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
volumetric_locking_correction = true
[]
[XFEM]
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 7
ny = 7
xmin = 0.0
xmax = 25.0
ymin = -12.5
ymax = 12.5
elem_type = QUAD4
[]
[UserObjects]
[./line_seg_cut_set_uo]
type = LineSegmentCutSetUserObject
cut_data ='0.0000e+000 0.0000e+000 5.5000e+000 0.0000e+000 0.0 0.0
5.5000e+000 0.0000e+000 2.5500e+001 0.0000e+000 0.05 1.05'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./const_monomial]
order = CONSTANT
family = MONOMIAL
[../]
[./first_monomial]
order = FIRST
family = MONOMIAL
[../]
[./first_linear]
order = FIRST
family = LAGRANGE
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
add_variables = true
planar_formulation = PLANE_STRAIN
[../]
[]
[AuxKernels]
[./const_monomial]
type = FunctionAux
function = 'dummy'
variable = const_monomial
execute_on = 'initial'
[../]
[./first_monomial]
type = FunctionAux
function = 'dummy'
variable = first_monomial
execute_on = 'initial'
[../]
[./first_linear]
type = FunctionAux
function = 'dummy'
variable = first_linear
execute_on = 'initial'
[../]
[]
[Functions]
[./dummy]
type = ParsedFunction
value = 'x*x+y*y'
[../]
[./disp_top_y]
type = PiecewiseLinear
x = '0 1'
y = '0 0.1'
[../]
[]
[BCs]
[./top_y]
type = FunctionDirichletBC
boundary = 2
variable = disp_y
function = disp_top_y
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./right_x]
type = DirichletBC
boundary = 1
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
petsc_options = '-snes_ksp_ew'
l_max_its = 100
nl_max_its = 25
nl_rel_tol = 1e-6
nl_abs_tol = 1e-8
start_time = 0.0
dt = 0.1
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
exodus = true
csv = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/glued_kinematic_dirac.i
# This is a dirac (contact formulation) version of glued_kinematic.i
[Mesh]
file = blocks_2d_nogap.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.01
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e7
poissons_ratio = 0.3
[../]
[./right]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = glued
penalty = 1e+6
system = diracKernel
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/edge_crack_3d.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y disp_z'
volumetric_locking_correction = true
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 5
ny = 5
nz = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.2
elem_type = HEX8
[]
[UserObjects]
[./square_cut_uo]
type = RectangleCutUserObject
cut_data = ' -0.001 0.5 -0.001
0.401 0.5 -0.001
0.401 0.5 0.201
-0.001 0.5 0.201'
[../]
[]
[AuxVariables]
[./SED]
order = CONSTANT
family = MONOMIAL
[../]
[]
[DomainIntegral]
integrals = 'Jintegral InteractionIntegralKI'
crack_front_points = '0.4 0.5 0.0
0.4 0.5 0.1
0.4 0.5 0.2'
crack_direction_method = CrackDirectionVector
crack_direction_vector = '1 0 0'
radius_inner = '0.2'
radius_outer = '0.4'
poissons_ratio = 0.3
youngs_modulus = 207000
block = 0
incremental = true
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
add_variables = true
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress'
[../]
[]
[AuxKernels]
[./SED]
type = MaterialRealAux
variable = SED
property = strain_energy_density
execute_on = timestep_end
block = 0
[../]
[]
[Functions]
[./top_trac_y]
type = ConstantFunction
value = 10
[../]
[]
[BCs]
[./top_y]
type = FunctionNeumannBC
boundary = top
variable = disp_y
function = top_trac_y
[../]
[./bottom_x]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = bottom
variable = disp_z
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 207000
poissons_ratio = 0.3
block = 0
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-12
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
file_base = edge_crack_3d_out
execute_on = 'timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/moving_interface/moving_level_set.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
xmin = 0
xmax = 1
ymin = 0
ymax = 1
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutSetUserObject
cut_data = '0.3 1.0 0.3 0.2 0 3'
heal_always = false
[../]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
heal_always = true
[../]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '3 5'
[../]
[./ls_func]
type = ParsedFunction
value = 'x-0.7-0.07*(t-1)'
[../]
[]
[Constraints]
[./u_constraint]
type = XFEMSingleVariableConstraint
geometric_cut_userobject = 'level_set_cut_uo'
use_displaced_mesh = false
variable = u
use_penalty = true
alpha = 1e5
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 3
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
# petsc_options_iname = '-pc_type -pc_hypre_type'
# petsc_options_value = 'hypre boomeramg'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-9
start_time = 0.0
dt = 1
end_time = 3.0
max_xfem_update = 1
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/bimaterials/glued_bimaterials_2d.i
# This test is for two layer materials with different youngs modulus
# The global stress is determined by switching the stress based on level set values
# The material interface is marked by a level set function
# The two layer materials are glued together
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
[../]
[]
[Mesh]
displacements = 'disp_x disp_y'
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
xmin = 0.0
xmax = 5.
ymin = 0.0
ymax = 5.
elem_type = QUAD4
[]
[./left_bottom]
type = ExtraNodesetGenerator
new_boundary = 'left_bottom'
coord = '0.0 0.0'
input = gen
[../]
[./left_top]
type = ExtraNodesetGenerator
new_boundary = 'left_top'
coord = '0.0 5.'
input = left_bottom
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Functions]
[./ls_func]
type = ParsedFunction
value = 'y-2.5'
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./a_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./a_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./a_strain_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./b_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./b_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./b_strain_xy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
index_i = 0
index_j = 0
variable = stress_xx
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
index_i = 1
index_j = 1
variable = stress_yy
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
index_i = 0
index_j = 1
variable = stress_xy
[../]
[./a_strain_xx]
type = RankTwoAux
rank_two_tensor = A_total_strain
index_i = 0
index_j = 0
variable = a_strain_xx
[../]
[./a_strain_yy]
type = RankTwoAux
rank_two_tensor = A_total_strain
index_i = 1
index_j = 1
variable = a_strain_yy
[../]
[./a_strain_xy]
type = RankTwoAux
rank_two_tensor = A_total_strain
index_i = 0
index_j = 1
variable = a_strain_xy
[../]
[./b_strain_xx]
type = RankTwoAux
rank_two_tensor = B_total_strain
index_i = 0
index_j = 0
variable = b_strain_xx
[../]
[./b_strain_yy]
type = RankTwoAux
rank_two_tensor = B_total_strain
index_i = 1
index_j = 1
variable = b_strain_yy
[../]
[./b_strain_xy]
type = RankTwoAux
rank_two_tensor = B_total_strain
index_i = 0
index_j = 1
variable = b_strain_xy
[../]
[]
[Constraints]
[./dispx_constraint]
type = XFEMSingleVariableConstraint
use_displaced_mesh = false
variable = disp_x
alpha = 1e8
geometric_cut_userobject = 'level_set_cut_uo'
[../]
[./dispy_constraint]
type = XFEMSingleVariableConstraint
use_displaced_mesh = false
variable = disp_y
alpha = 1e8
geometric_cut_userobject = 'level_set_cut_uo'
[../]
[]
[BCs]
[./bottomx]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottomy]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
boundary = top
variable = disp_x
function = 0.03*t
[../]
[./topy]
type = FunctionDirichletBC
boundary = top
variable = disp_y
function = '0.03*t'
[../]
[]
[Materials]
[./elasticity_tensor_A]
type = ComputeIsotropicElasticityTensor
base_name = A
youngs_modulus = 1e9
poissons_ratio = 0.3
[../]
[./strain_A]
type = ComputeSmallStrain
base_name = A
[../]
[./stress_A]
type = ComputeLinearElasticStress
base_name = A
[../]
[./elasticity_tensor_B]
type = ComputeIsotropicElasticityTensor
base_name = B
youngs_modulus = 1e5
poissons_ratio = 0.3
[../]
[./strain_B]
type = ComputeSmallStrain
base_name = B
[../]
[./stress_B]
type = ComputeLinearElasticStress
base_name = B
[../]
[./combined_stress]
type = LevelSetBiMaterialRankTwo
levelset_positive_base = 'A'
levelset_negative_base = 'B'
level_set_var = ls
prop_name = stress
[../]
[./combined_dstressdstrain]
type = LevelSetBiMaterialRankFour
levelset_positive_base = 'A'
levelset_negative_base = 'B'
level_set_var = ls
prop_name = Jacobian_mult
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'bt'
# controls for linear iterations
l_max_its = 20
l_tol = 1e-3
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-14
nl_abs_tol = 1e-7
# time control
start_time = 0.0
dt = 0.1
num_steps = 2
max_xfem_update = 1
[]
[Outputs]
exodus = true
execute_on = timestep_end
csv = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/constraint/frictionless_penalty_contact_line_search.i
# This is a benchmark test that checks constraint based frictionless
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2. The gold file is run
# on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[./tot_nonlin_it]
type = CumulativeValuePostprocessor
postprocessor = nonlinear_its
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-ksp_monitor_true_residual'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'contact'
contact_line_search_ltol = .5
contact_line_search_allowed_lambda_cuts = 0
l_max_its = 100
nl_max_its = 20
dt = 0.1
end_time = 3
# num_steps = 30
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_2/ring2_template1_sm.i
[Mesh]
file = ring2_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/xfem/test/tests/single_var_constraint_2d/stationary_jump_fluxjump.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.0'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
jump = 0.5
jump_flux = 1
geometric_cut_userobject = 'line_seg_cut_uo'
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
test/tests/outputs/console/console_transient.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.1
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
start_time = -1
end_time = 0
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
verbose = true
[]
[Outputs]
execute_on = 'timestep_end'
[./screen]
type = Console
verbose = true
time_precision = 6
execute_on = 'failed nonlinear linear timestep_begin timestep_end'
[../]
[]
tutorials/darcy_thermo_mech/step10_multiapps/tests/auxkernels/corrosion/corrosion.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
ymax = 0.1
xmax = 0.1
uniform_refine = 0
[]
[Adaptivity]
max_h_level = 3
initial_steps = 5
cycles_per_step = 2
initial_marker = error_marker
marker = error_marker
[Indicators]
[phi_jump]
type = GradientJumpIndicator
variable = phi
[]
[]
[Markers]
[error_marker]
type = ErrorFractionMarker
indicator = phi_jump
refine = 0.9
[]
[]
[]
[Variables]
[temperature]
initial_condition = 300
[]
[]
[AuxVariables]
[phi]
[]
[]
[AuxKernels]
[corrosion]
type = RandomCorrosion
execute_on = 'timestep_end'
variable = phi
reference_temperature = 300
temperature = 301
[]
[]
[Kernels]
[heat_conduction]
type = HeatConduction
variable = temperature
[]
[]
[BCs]
[left]
type = PostprocessorDirichletBC
variable = temperature
boundary = left
postprocessor = 301
[]
[right]
type = NeumannBC
variable = temperature
boundary = right
value = 100 # prescribed flux
[]
[]
[Materials]
[column]
type = PackedColumn
temperature = temperature
radius = 1 # mm
phase = phi
outputs = exodus
output_properties = porosity
[]
[]
[Problem]
type = FEProblem
[]
[Postprocessors]
[k_eff]
type = ThermalConductivity
variable = temperature
T_hot = 301
flux = 100
dx = 0.1
boundary = right
length_scale = 1
[]
[]
[Executioner]
type = Transient
num_steps = 5
dt = 0.5
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
execute_on = 'initial timestep_end'
exodus = true
[console]
type = Console
execute_postprocessors_on = 'timestep_begin timestep_end'
[]
[]
[ICs]
[close_pack]
radius = 0.01
outvalue = 0 # water
variable = phi
invalue = 1 #steel
type = ClosePackIC
[]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_1/ring1_mu_0_2_pen.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = ring1_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = ring1_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = ring1_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
tangential_tolerance = 1e-3
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/gap_heat_transfer_htonly/cyl3D.i
#
# 3D Cylindrical Gap Heat Transfer Test.
#
# This test exercises 3D gap heat transfer for a constant conductivity gap.
#
# The mesh consists of an inner solid cylinder of radius = 1 unit, and outer
# hollow cylinder with an inner radius of 2. In other words, the gap between
# them is 1 radial unit in length.
#
# The conductivity of both cylinders is set very large to achieve a uniform
# temperature in each cylinder. The temperature of the center node of the
# inner cylinder is ramped from 100 to 200 over one time unit. The temperature
# of the outside of the outer, hollow cylinder is held fixed at 100.
#
# A simple analytical solution is possible for the integrated heat flux
# between the inner and outer cylinders:
#
# Integrated Flux = (T_left - T_right) * (gapK/(r*ln(r2/r1))) * Area
#
# For gapK = 1 (default value)
#
# The area is taken as the area of the slave (inner) surface:
#
# Area = 2 * pi * h * r, where h is the height of the cylinder.
#
# The integrated heat flux across the gap at time 1 is then:
#
# 2*pi*h*k*delta_T/(ln(r2/r1))
# 2*pi*1*1*100/(ln(2/1)) = 906.5 watts
#
# For comparison, see results from the integrated flux post processors.
# This simulation makes use of symmetry, so only 1/4 of the cylinders is meshed
# As such, the integrated flux from the post processors is 1/4 of the total,
# or 226.6 watts.
# The value coming from the post processor is slightly less than this
# but converges as mesh refinement increases.
#
# Simulating contact is challenging. Regression tests that exercise
# contact features can be difficult to solve consistently across multiple
# platforms. While designing these tests, we felt it worth while to note
# some aspects of these tests. The following applies to:
# sphere3D.i, sphere2DRZ.i, cyl2D.i, and cyl3D.i.
# 1. We decided that to perform consistently across multiple platforms we
# would use very small convergence tolerance. In this test we chose an
# nl_rel_tol of 1e-12.
# 2. Due to such a high value for thermal conductivity (used here so that the
# domains come to a uniform temperature) the integrated flux at time = 0
# was relatively large (the value coming from SideIntegralFlux =
# -_diffusion_coef[_qp]*_grad_u[_qp]*_normals[_qp] where the diffusion coefficient
# here is thermal conductivity).
# Even though _grad_u[_qp] is small, in this case the diffusion coefficient
# is large. The result is a number that isn't exactly zero and tends to
# fail exodiff. For this reason the parameter execute_on = initial should not
# be used. That parameter is left to default settings in these regression tests.
#
[GlobalParams]
order = SECOND
family = LAGRANGE
[]
[Mesh]
file = cyl3D.e
[]
[Functions]
[./temp]
type = PiecewiseLinear
x = '0 1'
y = '100 200'
[../]
[]
[Variables]
[./temp]
initial_condition = 100
[../]
[]
[AuxVariables]
[./gap_conductance]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./heat_conduction]
type = HeatConduction
variable = temp
[../]
[]
[AuxKernels]
[./gap_cond]
type = MaterialRealAux
property = gap_conductance
variable = gap_conductance
boundary = 2
[../]
[]
[Materials]
[./heat1]
type = HeatConductionMaterial
block = '1 2'
specific_heat = 1.0
thermal_conductivity = 1000000.0
[../]
[]
[ThermalContact]
[./thermal_contact]
type = GapHeatTransfer
variable = temp
master = 3
slave = 2
gap_conductivity = 1
quadrature = true
gap_geometry_type = CYLINDER
cylinder_axis_point_1 = '0 0 0'
cylinder_axis_point_2 = '0 1 0'
[../]
[]
[BCs]
[./mid]
type = FunctionDirichletBC
boundary = 5
variable = temp
function = temp
[../]
[./temp_far_right]
type = DirichletBC
boundary = 4
variable = temp
value = 100
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
dt = 1
dtmin = 0.01
end_time = 1
nl_rel_tol = 1e-12
nl_abs_tol = 1e-7
[./Quadrature]
order = fifth
side_order = seventh
[../]
[]
[Outputs]
exodus = true
[./Console]
type = Console
[../]
[]
[Postprocessors]
[./temp_left]
type = SideAverageValue
boundary = 2
variable = temp
[../]
[./temp_right]
type = SideAverageValue
boundary = 3
variable = temp
[../]
[./flux_left]
type = SideFluxIntegral
variable = temp
boundary = 2
diffusivity = thermal_conductivity
[../]
[./flux_right]
type = SideFluxIntegral
variable = temp
boundary = 3
diffusivity = thermal_conductivity
[../]
[]
modules/xfem/test/tests/side_integral/side_integral.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 6
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.55 1.0 0.55 0.0'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./top]
type = DirichletBC
variable = u
boundary = 2
value = 3
[../]
[./bottom]
type = DirichletBC
variable = u
boundary = 0
value = 2
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Postprocessors]
[./top_surface]
type = SideIntegralVariablePostprocessor
variable = u
boundary = 2
[../]
[./bottom_surface]
type = SideIntegralVariablePostprocessor
variable = u
boundary = 0
[../]
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/frictionless_penalty_dirac_sm.i
# This is a dirac (contact formulation) version of frictionless_penalty.i
[Mesh]
file = blocks_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e7
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = frictionless
formulation = penalty
penalty = 1e+7
system = dirackernel
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/glued_kinematic_dirac_sm.i
# This is a dirac (contact formulation) version of glued_kinematic.i
[Mesh]
file = blocks_2d_nogap.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.01
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e7
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = glued
penalty = 1e+6
system = dirackernel
[../]
[]
test/tests/markers/two_circle_marker/two_circle_marker_gaussian_ic.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[ICs]
[./gaussian_ic]
type = FunctionIC
variable = u
function = gaussian_2d
[../]
[]
[Functions]
[./gaussian_2d]
type = ParsedFunction
value = exp(-((x-x0)*(x-x0)+(y-y0)*(y-y0))/2.0/sigma/sigma)
vars = 'sigma x0 y0'
vals = '0.05 0.35 0.25'
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.02
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./Periodic]
[./all]
variable = u
auto_direction = 'x y'
[../]
[../]
[]
[Executioner]
type = Transient
num_steps = 6
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
initial_steps = 1
initial_marker = two_circle_marker
cycles_per_step = 1
marker = two_circle_marker
max_h_level = 1
[./Markers]
[./two_circle_marker]
type = TwoCircleMarker
point1 = '0.5 0.5 0'
radius1 = 0.3
point2 = '0.35 0.25 0'
radius2 = 0.3
shut_off_time = 0.15
inside = refine
outside = coarsen
[../]
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
print_mesh_changed_info = true
[../]
[]
modules/xfem/test/tests/second_order_elements/square_branch_quad8_2d.i
[GlobalParams]
order = SECOND
family = LAGRANGE
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD8
[]
[UserObjects]
[./line_seg_cut_set_uo]
type = LineSegmentCutSetUserObject
cut_data = '-1.0000e-10 6.6340e-01 6.6340e-01 -1.0000e-10 0.0 1.0
3.3120e-01 3.3200e-01 1.0001e+00 3.3200e-01 1.0 2.0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
planar_formulation = PLANE_STRAIN
[../]
[]
[Functions]
[./right_disp_x]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[./top_disp_y]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[]
[BCs]
[./right_x]
type = FunctionDirichletBC
boundary = 1
variable = disp_x
function = right_disp_x
[../]
[./top_y]
type = FunctionDirichletBC
boundary = 2
variable = disp_y
function = top_disp_y
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./left_x]
type = DirichletBC
boundary = 3
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 2.2
num_steps = 5000
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/solid_mechanics/test/tests/material_limit_time_step/elas_plas/nafems_nl1_lim.i
#
# Tests material model IsotropicPlasticity with material based time stepper
# Boundary conditions from NAFEMS test NL1
#
[GlobalParams]
disp_x = disp_x
disp_y = disp_y
order = FIRST
family = LAGRANGE
volumetric_locking_correction = true
[]
[Mesh]#Comment
file = one_elem2.e
displacements = 'disp_x disp_y'
[] # Mesh
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[] # Variables
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_eff]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[] # AuxVariables
[SolidMechanics]
[./solid]
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./vonmises]
type = MaterialTensorAux
tensor = stress
variable = vonmises
quantity = vonmises
execute_on = timestep_end
[../]
[./elastic_strain_yy]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_yy
index = 1
[../]
[./plastic_strain_eff]
type = MaterialRealAux
property = effective_plastic_strain
variable = plastic_strain_eff
[../]
[./tot_strain_yy]
type = MaterialTensorAux
tensor = total_strain
variable = tot_strain_yy
index = 1
[../]
[] # AuxKernels
[Functions]
[./appl_dispx]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0'
y = '0.0 0.25e-4 0.50e-4 0.50e-4 0.50e-4 0.25e-4 0.0 0.0 0.0'
[../]
[./appl_dispy]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0'
y = '0.0 0.0 0.0 0.25e-4 0.50e-4 0.50e-4 0.50e-4 0.25e-4 0.0 '
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 101
value = 0.0
[../]
[./origin_x]
type = DirichletBC
variable = disp_x
boundary = 103
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 102
value = 0.0
[../]
[./origin_y]
type = DirichletBC
variable = disp_y
boundary = 103
value = 0.0
[../]
[./top_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1
function = appl_dispy
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 2
function = appl_dispx
[../]
[] # BCs
[Materials]
[./stiffStuff1]
type = SolidModel
block = 1
youngs_modulus = 250e9
poissons_ratio = 0.25
constitutive_model = combined
formulation = NonlinearPlaneStrain
large_strain = true
[../]
[./combined]
type = CombinedCreepPlasticity
block = 1
submodels = 'isoplas'
absolute_tolerance = 1e-8
[../]
[./isoplas]
type = IsotropicPlasticity
block = 1
yield_stress = 5e6
hardening_constant = 0.0
relative_tolerance = 1e-20
absolute_tolerance = 1e-8
max_inelastic_increment = 0.000001
[../]
[] # Materials
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
l_tol = 1e-4
l_max_its = 100
nl_max_its = 20
[./TimeStepper]
type = IterationAdaptiveDT
dt = 0.1
time_t = '1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0'
time_dt = '0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1'
optimal_iterations = 30
iteration_window = 9
growth_factor = 2.0
cutback_factor = 0.5
timestep_limiting_postprocessor = matl_ts_min
[../]
start_time = 0.0
num_steps = 1000
end_time = 8.0
[] # Executioner
[Postprocessors]
[./matl_ts_min]
type = MaterialTimeStepPostprocessor
[../]
[./stress_xx]
type = ElementAverageValue
variable = stress_xx
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./vonmises]
type = ElementAverageValue
variable = vonmises
[../]
[./el_strain_yy]
type = ElementAverageValue
variable = elastic_strain_yy
[../]
[./plas_strain_eff]
type = ElementAverageValue
variable = plastic_strain_eff
[../]
[./tot_strain_yy]
type = ElementAverageValue
variable = tot_strain_yy
[../]
[./disp_x1]
type = NodalVariableValue
nodeid = 0
variable = disp_x
[../]
[./disp_x4]
type = NodalVariableValue
nodeid = 3
variable = disp_x
[../]
[./disp_y1]
type = NodalVariableValue
nodeid = 0
variable = disp_y
[../]
[./disp_y4]
type = NodalVariableValue
nodeid = 3
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[]
[Outputs]
exodus = true
csv = true
[./console]
type = Console
output_linear = true
[../]
[] # Outputs
test/tests/postprocessors/pps_interval/pps_bad_interval2.i
[Mesh]
file = square-2x2-nodeids.e
# This test can only be run with renumering disabled, so the
# NodalVariableValue postprocessor's node id is well-defined.
allow_renumbering = false
[]
[Variables]
active = 'u v'
[./u]
order = SECOND
family = LAGRANGE
[../]
[./v]
order = SECOND
family = LAGRANGE
[../]
[]
[Functions]
active = 'force_fn exact_fn left_bc'
[./force_fn]
type = ParsedFunction
value = '1-x*x+2*t'
[../]
[./exact_fn]
type = ParsedFunction
value = '(1-x*x)*t'
[../]
[./left_bc]
type = ParsedFunction
value = t
[../]
[]
[Kernels]
active = '
time_u diff_u ffn_u
time_v diff_v'
[./time_u]
type = TimeDerivative
variable = u
[../]
[./diff_u]
type = Diffusion
variable = u
[../]
[./ffn_u]
type = BodyForce
variable = u
function = force_fn
[../]
[./time_v]
type = TimeDerivative
variable = v
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[]
[BCs]
active = 'all_u left_v right_v'
[./all_u]
type = FunctionDirichletBC
variable = u
boundary = '1'
function = exact_fn
[../]
[./left_v]
type = FunctionDirichletBC
variable = v
boundary = '3'
function = left_bc
[../]
[./right_v]
type = DirichletBC
variable = v
boundary = '2'
value = 0
[../]
[]
[Postprocessors]
active = 'l2 node1 node4'
[./l2]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[./node1]
type = NodalVariableValue
variable = u
nodeid = 15
[../]
[./node4]
type = NodalVariableValue
variable = v
nodeid = 10
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
dt = 0.1
start_time = 0
end_time = 1
[]
[Outputs]
file_base = ignore_bad
exodus = true
[./console]
type = Console
interval = 2
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_1/cyl1_template2_sm.i
#
# This input file is a template for both the frictionless and glued test
# variations for the current problem geometry. In order to create an input
# file to run outside the runtest framework, look at the tests file and add the
# appropriate input file lines from the cli_args line.
#
[Mesh]
file = cyl1_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/xfem/test/tests/second_order_elements/diffusion_2d_tri6.i
[GlobalParams]
order = SECOND
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 3
ny = 4
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = TRI6
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.35 1.0 0.35 0.2'
time_start_cut = 0.0
time_end_cut = 2.0
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '0 0.1'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = FunctionDirichletBC
variable = u
boundary = 3
function = u_left
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
test/tests/multiapps/picard/picard.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[./v]
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.1
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[./left_v]
type = DirichletBC
variable = v
boundary = left
value = 1
[../]
[./right_v]
type = DirichletBC
variable = v
boundary = right
value = 0
[../]
[]
[Executioner]
type = Transient
num_steps = 20
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[./console]
type = Console
start_time = 1
end_time = 1.5
[../]
[]
modules/xfem/test/tests/single_var_constraint_2d/propagating_2field_2constraint.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.0'
time_start_cut = 0.0
time_end_cut = 2.0
[../]
[]
[Variables]
[./u]
[../]
[./v]
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[]
[Constraints]
[./xfem_constraint_u]
type = XFEMSingleVariableConstraint
variable = u
jump = 0
jump_flux = 0
geometric_cut_userobject = 'line_seg_cut_uo'
[../]
[./xfem_constraint_v]
type = XFEMSingleVariableConstraint
variable = v
jump = 0
jump_flux = 0
geometric_cut_userobject = 'line_seg_cut_uo'
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./left_v]
type = DirichletBC
variable = v
boundary = 3
value = 1
[../]
[./right_v]
type = DirichletBC
variable = v
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_1/cyl1_template2.i
#
# This input file is a template for both the frictionless and glued test
# variations for the current problem geometry. In order to create an input
# file to run outside the runtest framework, look at the tests file and add the
# appropriate input file lines from the cli_args line.
#
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = cyl1_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_1/plane1_template2.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = plane1_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 200
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeIncrementalSmallStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeIncrementalSmallStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_4/cyl4_template1_sm.i
[Mesh]
file = cyl4_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/xfem/test/tests/moving_interface/verification/1D_rz_homog1mat.i
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
# XFEM Moving Interface Verification Problem
# Dimensionality: quasi-1D
# Coordinate System: rz
# Material Numbers/Types: homogeneous 1 material, 2 region
# Element Order: 1st
# Interface Characteristics: u independent, prescribed level set function
# Description:
# A simple transient heat transfer problem in cylindrical coordinates designed
# with the Method of Manufactured Solutions. This problem was developed to
# verify XFEM performance in the presence of a moving interface for linear
# element models that can be exactly evaluated by FEM/Moose. Both the
# temperature solution and level set function are designed to be linear to
# attempt to minimize error between the Moose/exact solution and XFEM results.
# Thermal conductivity is a single, constant value at all points in the system.
# Results:
# The temperature at the left boundary (x=1) exhibits the largest difference
# between the FEM/Moose solution and XFEM results. We present the XFEM results
# at this location with 10 digits of precision:
# Time Expected Temperature XFEM Calculated Temperature
# 0.2 440 440
# 0.4 480 480.0008118
# 0.6 520 520.0038529
# 0.8 560 560.0089177
# 1.0 600 600.0133344
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Problem]
coord_type = RZ
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 1
xmin = 1.0
xmax = 2.0
ymin = 0.0
ymax = 0.5
elem_type = QUAD4
[]
[XFEM]
qrule = moment_fitting
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
heal_always = true
[../]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./heat_cond]
type = MatDiffusion
variable = u
diffusivity = diffusion_coefficient
[../]
[./vol_heat_src]
type = BodyForce
variable = u
function = src_func
[../]
[./mat_time_deriv]
type = TestMatTimeDerivative
variable = u
mat_prop_value = rhoCp
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
geometric_cut_userobject = 'level_set_cut_uo'
use_penalty = true
alpha = 1e5
[../]
[]
[Functions]
[./src_func]
type = ParsedFunction
value = '10*(-200*x+400) + 200*1.5*t/x'
[../]
[./neumann_func]
type = ParsedFunction
value = '1.5*200*t'
[../]
[./ls_func]
type = ParsedFunction
value = '2.04 - x - 0.2*t'
[../]
[]
[Materials]
[./mat_time_deriv_prop]
type = GenericConstantMaterial
prop_names = 'rhoCp'
prop_values = 10
[../]
[./therm_cond_prop]
type = GenericConstantMaterial
prop_names = 'diffusion_coefficient'
prop_values = 1.5
[../]
[]
[BCs]
[./left_u]
type = FunctionNeumannBC
variable = u
boundary = 'left'
function = neumann_func
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 'right'
value = 400
[../]
[]
[ICs]
[./u_ic]
type = ConstantIC
value = 400
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
line_search = 'none'
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-10
nl_abs_tol = 1.0e-9
start_time = 0.0
dt = 0.2
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
interval = 1
execute_on = 'initial timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
test/tests/outputs/output_on/postprocessors.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.1
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Postprocessors]
[./sum]
type = PerfGraphData
section_name = "Root"
data_type = total
execute_on = 'initial nonlinear timestep_end'
[../]
[]
[Executioner]
type = Transient
num_steps = 2
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = false
[./console]
type = Console
execute_postprocessors_on = 'initial nonlinear timestep_end'
[../]
[]
modules/combined/test/tests/frictional_contact/sliding_elastic_blocks_2d/sliding_elastic_blocks_2d.i
[Mesh]
file = sliding_elastic_blocks_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
save_in = 'saved_x saved_y'
diag_save_in = 'diag_saved_x diag_saved_y'
[../]
[]
[AuxKernels]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip]
type = PenetrationAux
variable = accum_slip
execute_on = timestep_end
quantity = accumulated_slip
boundary = 3
paired_boundary = 2
[../]
[./tangential_force_x]
type = PenetrationAux
variable = tang_force_x
execute_on = timestep_end
quantity = tangential_force_x
boundary = 3
paired_boundary = 2
[../]
[./tangential_force_y]
type = PenetrationAux
variable = tang_force_y
execute_on = timestep_end
quantity = tangential_force_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.005
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1.0e7
poissons_ratio = 0.3
[../]
[./right]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1.0e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.05
num_steps = 1000
nl_rel_tol = 1e-16
nl_abs_tol = 1e-09
dtmin = 0.01
l_tol = 1e-3
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
file_base = sliding_elastic_blocks_2d_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
system = constraint
friction_coefficient = '0.25'
penalty = 1e6
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
slave = 3
master = 2
[../]
[]
modules/xfem/test/tests/corner_nodes_cut/sm/corner_node_cut_twice.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '-0.0 0.3 1.0 0.7'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
use_displaced_mesh = false
[../]
[]
[BCs]
[./top_x]
type = DirichletBC
boundary = 2
variable = disp_x
value = 0.0
[../]
[./top_y]
type = DirichletBC
boundary = 2
variable = disp_y
value = 0.1
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = -0.1
[../]
[./bottom_x]
type = DirichletBC
boundary = 0
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = LinearIsotropicMaterial
block = 0
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-9
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/porous_flow/test/tests/sinks/s07.i
# apply a sink flux on just one component of a 3-component system and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp frac0 frac1'
number_fluid_phases = 1
number_fluid_components = 3
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1.1
[../]
[]
[Variables]
[./pp]
[../]
[./frac0]
initial_condition = 0.1
[../]
[./frac1]
initial_condition = 0.6
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = y
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = frac0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = frac1
[../]
[./mass2]
type = PorousFlowMassTimeDerivative
fluid_component = 2
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'frac0 frac1'
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '0.2 0 0 0 0.1 0 0 0 0.1'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[]
[Functions]
[./mass1_00]
type = ParsedFunction
value = 'frac*vol*por*dens0*exp(pp/bulk)*pow(1+pow(-al*pp,1.0/(1-m)),-m)'
vars = 'frac vol por dens0 pp bulk al m'
vals = 'f1_00 0.25 0.1 1.1 p00 1.3 1.1 0.5'
[../]
[./expected_mass_change1_00]
type = ParsedFunction
value = 'frac*fcn*area*dt'
vars = 'frac fcn area dt'
vals = 'f1_00 6 0.5 1E-3'
[../]
[./mass1_00_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm1_00_prev del_m1_00'
[../]
[./mass1_01]
type = ParsedFunction
value = 'frac*vol*por*dens0*exp(pp/bulk)*pow(1+pow(-al*pp,1.0/(1-m)),-m)'
vars = 'frac vol por dens0 pp bulk al m'
vals = 'f1_01 0.25 0.1 1.1 p01 1.3 1.1 0.5'
[../]
[./expected_mass_change1_01]
type = ParsedFunction
value = 'frac*fcn*area*dt'
vars = 'frac fcn area dt'
vals = 'f1_01 6 0.5 1E-3'
[../]
[./mass1_01_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm1_01_prev del_m1_01'
[../]
[]
[Postprocessors]
[./f1_00]
type = PointValue
point = '0 0 0'
variable = frac1
execute_on = 'initial timestep_end'
[../]
[./flux_00]
type = PointValue
point = '0 0 0'
variable = flux_out
execute_on = 'initial timestep_end'
[../]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m1_00]
type = FunctionValuePostprocessor
function = mass1_00
execute_on = 'initial timestep_end'
[../]
[./m1_00_prev]
type = FunctionValuePostprocessor
function = mass1_00
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m1_00]
type = FunctionValuePostprocessor
function = expected_mass_change1_00
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m1_00_expect]
type = FunctionValuePostprocessor
function = mass1_00_expect
execute_on = 'timestep_end'
[../]
[./f1_01]
type = PointValue
point = '0 1 0'
variable = frac1
execute_on = 'initial timestep_end'
[../]
[./flux_01]
type = PointValue
point = '0 1 0'
variable = flux_out
execute_on = 'initial timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m1_01]
type = FunctionValuePostprocessor
function = mass1_01
execute_on = 'initial timestep_end'
[../]
[./m1_01_prev]
type = FunctionValuePostprocessor
function = mass1_01
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m1_01]
type = FunctionValuePostprocessor
function = expected_mass_change1_01
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m1_01_expect]
type = FunctionValuePostprocessor
function = mass1_01_expect
execute_on = 'timestep_end'
[../]
[./f1_11]
type = PointValue
point = '1 1 0'
variable = frac1
execute_on = 'initial timestep_end'
[../]
[./flux_11]
type = PointValue
point = '1 1 0'
variable = flux_out
execute_on = 'initial timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowSink
boundary = 'left'
variable = frac1
use_mobility = false
use_relperm = false
mass_fraction_component = 1
fluid_phase = 0
flux_function = 6
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-3
end_time = 0.01
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s07
[./console]
type = Console
execute_on = 'nonlinear linear'
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
[../]
[]
test/tests/time_integrators/explicit-euler/ee-2d-linear-adapt.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 10
ny = 10
elem_type = QUAD4
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = (x+y)
[../]
[./exact_fn]
type = ParsedFunction
value = t*(x+y)
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
lumping = true
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[BCs]
active = 'all'
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = exact_fn
implicit = true
[../]
[]
[Adaptivity]
steps = 1
marker = box
max_h_level = 2
[./Markers]
[./box]
bottom_left = '-0.4 -0.4 0'
inside = refine
top_right = '0.4 0.4 0'
outside = do_nothing
type = BoxMarker
[../]
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
scheme = 'explicit-euler'
start_time = 0.0
num_steps = 4
dt = 0.005
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/combined/test/tests/frictional_contact/sliding_elastic_blocks_2d/sm/sliding_elastic_blocks_2d_sm.i
[Mesh]
file = sliding_elastic_blocks_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_x = diag_saved_x
use_displaced_mesh = true
[../]
[]
[AuxKernels]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip]
type = PenetrationAux
variable = accum_slip
execute_on = timestep_end
quantity = accumulated_slip
boundary = 3
paired_boundary = 2
[../]
[./tangential_force_x]
type = PenetrationAux
variable = tang_force_x
execute_on = timestep_end
quantity = tangential_force_x
boundary = 3
paired_boundary = 2
[../]
[./tangential_force_y]
type = PenetrationAux
variable = tang_force_y
execute_on = timestep_end
quantity = tangential_force_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.005
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e7
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.05
num_steps = 1000
nl_rel_tol = 1e-16
nl_abs_tol = 1e-09
dtmin = 0.01
l_tol = 1e-3
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
system = constraint
friction_coefficient = '0.25'
penalty = 1e6
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
slave = 3
master = 2
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/constraint/sm/frictionless_penalty_sm.i
# This is a benchmark test that checks constraint based frictionless
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2. The gold file is run
# on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/combined/examples/phase_field-mechanics/kks_mechanics_VTS.i
# KKS phase-field model coupled with elasticity using the Voigt-Taylor scheme as
# described in L.K. Aagesen et al., Computational Materials Science, 140, 10-21 (2017)
# Original run #170329e
[Mesh]
type = GeneratedMesh
dim = 3
nx = 640
ny = 1
nz = 1
xmin = -10
xmax = 10
ymin = 0
ymax = 0.03125
zmin = 0
zmax = 0.03125
elem_type = HEX8
[]
[Variables]
# order parameter
[./eta]
order = FIRST
family = LAGRANGE
[../]
# solute concentration
[./c]
order = FIRST
family = LAGRANGE
[../]
# chemical potential
[./w]
order = FIRST
family = LAGRANGE
[../]
# solute phase concentration (matrix)
[./cm]
order = FIRST
family = LAGRANGE
[../]
# solute phase concentration (precipitate)
[./cp]
order = FIRST
family = LAGRANGE
[../]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[./disp_z]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./eta_ic]
variable = eta
type = FunctionIC
function = ic_func_eta
block = 0
[../]
[./c_ic]
variable = c
type = FunctionIC
function = ic_func_c
block = 0
[../]
[./w_ic]
variable = w
type = ConstantIC
value = 0.00991
block = 0
[../]
[./cm_ic]
variable = cm
type = ConstantIC
value = 0.131
block = 0
[../]
[./cp_ic]
variable = cp
type = ConstantIC
value = 0.236
block = 0
[../]
[]
[Functions]
[./ic_func_eta]
type = ParsedFunction
value = '0.5*(1.0+tanh((x)/delta_eta/sqrt(2.0)))'
vars = 'delta_eta'
vals = '0.8034'
[../]
[./ic_func_c]
type = ParsedFunction
value = '0.2388*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))^3*(6*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))^2-15*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))+10)+0.1338*(1-(0.5*(1.0+tanh(x/delta/sqrt(2.0))))^3*(6*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))^2-15*(0.5*(1.0+tanh(x/delta/sqrt(2.0))))+10))'
vars = 'delta'
vals = '0.8034'
[../]
[./psi_eq_int]
type = ParsedFunction
value = 'volume*psi_alpha'
vars = 'volume psi_alpha'
vals = 'volume psi_alpha'
[../]
[./gamma]
type = ParsedFunction
value = '(psi_int - psi_eq_int) / dy / dz'
vars = 'psi_int psi_eq_int dy dz'
vals = 'psi_int psi_eq_int 0.03125 0.03125'
[../]
[]
[AuxVariables]
[./sigma11]
order = CONSTANT
family = MONOMIAL
[../]
[./sigma22]
order = CONSTANT
family = MONOMIAL
[../]
[./sigma33]
order = CONSTANT
family = MONOMIAL
[../]
[./e11]
order = CONSTANT
family = MONOMIAL
[../]
[./e12]
order = CONSTANT
family = MONOMIAL
[../]
[./e22]
order = CONSTANT
family = MONOMIAL
[../]
[./e33]
order = CONSTANT
family = MONOMIAL
[../]
[./e_el11]
order = CONSTANT
family = MONOMIAL
[../]
[./e_el12]
order = CONSTANT
family = MONOMIAL
[../]
[./e_el22]
order = CONSTANT
family = MONOMIAL
[../]
[./f_el]
order = CONSTANT
family = MONOMIAL
[../]
[./eigen_strain00]
order = CONSTANT
family = MONOMIAL
[../]
[./Fglobal]
order = CONSTANT
family = MONOMIAL
[../]
[./psi]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./matl_sigma11]
type = RankTwoAux
rank_two_tensor = stress
index_i = 0
index_j = 0
variable = sigma11
[../]
[./matl_sigma22]
type = RankTwoAux
rank_two_tensor = stress
index_i = 1
index_j = 1
variable = sigma22
[../]
[./matl_sigma33]
type = RankTwoAux
rank_two_tensor = stress
index_i = 2
index_j = 2
variable = sigma33
[../]
[./matl_e11]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 0
index_j = 0
variable = e11
[../]
[./matl_e12]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 0
index_j = 1
variable = e12
[../]
[./matl_e22]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 1
index_j = 1
variable = e22
[../]
[./matl_e33]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 2
index_j = 2
variable = e33
[../]
[./f_el]
type = MaterialRealAux
variable = f_el
property = f_el_mat
execute_on = timestep_end
[../]
[./GlobalFreeEnergy]
variable = Fglobal
type = KKSGlobalFreeEnergy
fa_name = fm
fb_name = fp
w = 0.0264
kappa_names = kappa
interfacial_vars = eta
[../]
[./psi_potential]
variable = psi
type = ParsedAux
args = 'Fglobal w c f_el sigma11 e11'
function = 'Fglobal - w*c + f_el - sigma11*e11'
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = left
value = 0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = right
value = 0
[../]
[./front_y]
type = DirichletBC
variable = disp_y
boundary = front
value = 0
[../]
[./back_y]
type = DirichletBC
variable = disp_y
boundary = back
value = 0
[../]
[./top_z]
type = DirichletBC
variable = disp_z
boundary = top
value = 0
[../]
[./bottom_z]
type = DirichletBC
variable = disp_z
boundary = bottom
value = 0
[../]
[]
[Materials]
# Chemical free energy of the matrix
[./fm]
type = DerivativeParsedMaterial
f_name = fm
args = 'cm'
function = '6.55*(cm-0.13)^2'
[../]
# Elastic energy of the matrix
[./elastic_free_energy_m]
type = ElasticEnergyMaterial
base_name = matrix
f_name = fe_m
args = ' '
outputs = exodus
[../]
# Total free energy of the matrix
[./Total_energy_matrix]
type = DerivativeSumMaterial
f_name = f_total_matrix
sum_materials = 'fm fe_m'
args = 'cm'
[../]
# Free energy of the precipitate phase
[./fp]
type = DerivativeParsedMaterial
f_name = fp
args = 'cp'
function = '6.55*(cp-0.235)^2'
[../]
# Elastic energy of the precipitate
[./elastic_free_energy_p]
type = ElasticEnergyMaterial
base_name = ppt
f_name = fe_p
args = ' '
outputs = exodus
[../]
# Total free energy of the precipitate
[./Total_energy_ppt]
type = DerivativeSumMaterial
f_name = f_total_ppt
sum_materials = 'fp fe_p'
args = 'cp'
[../]
# Total elastic energy
[./Total_elastic_energy]
type = DerivativeTwoPhaseMaterial
eta = eta
f_name = f_el_mat
fa_name = fe_m
fb_name = fe_p
outputs = exodus
W = 0
[../]
# h(eta)
[./h_eta]
type = SwitchingFunctionMaterial
h_order = HIGH
eta = eta
[../]
# g(eta)
[./g_eta]
type = BarrierFunctionMaterial
g_order = SIMPLE
eta = eta
[../]
# constant properties
[./constants]
type = GenericConstantMaterial
prop_names = 'M L kappa misfit'
prop_values = '0.7 0.7 0.01704 0.00377'
[../]
#Mechanical properties
[./Stiffness_matrix]
type = ComputeElasticityTensor
C_ijkl = '103.3 74.25 74.25 103.3 74.25 103.3 46.75 46.75 46.75'
base_name = matrix
fill_method = symmetric9
[../]
[./Stiffness_ppt]
type = ComputeElasticityTensor
C_ijkl = '100.7 71.45 71.45 100.7 71.45 100.7 50.10 50.10 50.10'
base_name = ppt
fill_method = symmetric9
[../]
[./stress_matrix]
type = ComputeLinearElasticStress
base_name = matrix
[../]
[./stress_ppt]
type = ComputeLinearElasticStress
base_name = ppt
[../]
[./strain_matrix]
type = ComputeSmallStrain
displacements = 'disp_x disp_y disp_z'
base_name = matrix
[../]
[./strain_ppt]
type = ComputeSmallStrain
displacements = 'disp_x disp_y disp_z'
base_name = ppt
eigenstrain_names = 'eigenstrain_ppt'
[../]
[./eigen_strain]
type = ComputeEigenstrain
base_name = ppt
eigen_base = '1 1 1 0 0 0'
prefactor = misfit
eigenstrain_name = 'eigenstrain_ppt'
[../]
[./global_stress]
type = TwoPhaseStressMaterial
base_A = matrix
base_B = ppt
[../]
[./global_strain]
type = ComputeSmallStrain
displacements = 'disp_x disp_y disp_z'
[../]
[]
[Kernels]
[./TensorMechanics]
displacements = 'disp_x disp_y disp_z'
[../]
# enforce c = (1-h(eta))*cm + h(eta)*cp
[./PhaseConc]
type = KKSPhaseConcentration
ca = cm
variable = cp
c = c
eta = eta
[../]
# enforce pointwise equality of chemical potentials
[./ChemPotVacancies]
type = KKSPhaseChemicalPotential
variable = cm
cb = cp
fa_name = f_total_matrix
fb_name = f_total_ppt
[../]
#
# Cahn-Hilliard Equation
#
[./CHBulk]
type = KKSSplitCHCRes
variable = c
ca = cm
fa_name = f_total_matrix
w = w
[../]
[./dcdt]
type = CoupledTimeDerivative
variable = w
v = c
[../]
[./ckernel]
type = SplitCHWRes
mob_name = M
variable = w
[../]
#
# Allen-Cahn Equation
#
[./ACBulkF]
type = KKSACBulkF
variable = eta
fa_name = f_total_matrix
fb_name = f_total_ppt
w = 0.0264
args = 'cp cm'
[../]
[./ACBulkC]
type = KKSACBulkC
variable = eta
ca = cm
cb = cp
fa_name = f_total_matrix
[../]
[./ACInterface]
type = ACInterface
variable = eta
kappa_name = kappa
[../]
[./detadt]
type = TimeDerivative
variable = eta
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type'
petsc_options_value = 'asm ilu nonzero'
l_max_its = 30
nl_max_its = 10
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
nl_abs_tol = 1.0e-11
num_steps = 200
[./TimeStepper]
type = SolutionTimeAdaptiveDT
dt = 0.5
[../]
[]
[VectorPostprocessors]
#[./eta]
# type = LineValueSampler
# start_point = '-10 0 0'
# end_point = '10 0 0'
# variable = eta
# num_points = 321
# sort_by = id
#[../]
#[./eta_position]
# type = FindValueOnLineSample
# vectorpostprocessor = eta
# variable_name = eta
# search_value = 0.5
#[../]
# [./f_el]
# type = LineMaterialRealSampler
# start = '-20 0 0'
# end = '20 0 0'
# sort_by = id
# property = f_el
# [../]
# [./f_el_a]
# type = LineMaterialRealSampler
# start = '-20 0 0'
# end = '20 0 0'
# sort_by = id
# property = fe_m
# [../]
# [./f_el_b]
# type = LineMaterialRealSampler
# start = '-20 0 0'
# end = '20 0 0'
# sort_by = id
# property = fe_p
# [../]
# [./h_out]
# type = LineMaterialRealSampler
# start = '-20 0 0'
# end = '20 0 0'
# sort_by = id
# property = h
# [../]
# [./fm_out]
# type = LineMaterialRealSampler
# start = '-20 0 0'
# end = '20 0 0'
# sort_by = id
# property = fm
# [../]
[]
[Postprocessors]
[./f_el_int]
type = ElementIntegralMaterialProperty
mat_prop = f_el_mat
[../]
[./c_alpha]
type = SideAverageValue
boundary = left
variable = c
[../]
[./c_beta]
type = SideAverageValue
boundary = right
variable = c
[../]
[./e11_alpha]
type = SideAverageValue
boundary = left
variable = e11
[../]
[./e11_beta]
type = SideAverageValue
boundary = right
variable = e11
[../]
[./s11_alpha]
type = SideAverageValue
boundary = left
variable = sigma11
[../]
[./s22_alpha]
type = SideAverageValue
boundary = left
variable = sigma22
[../]
[./s33_alpha]
type = SideAverageValue
boundary = left
variable = sigma33
[../]
[./s11_beta]
type = SideAverageValue
boundary = right
variable = sigma11
[../]
[./s22_beta]
type = SideAverageValue
boundary = right
variable = sigma22
[../]
[./s33_beta]
type = SideAverageValue
boundary = right
variable = sigma33
[../]
[./f_el_alpha]
type = SideAverageValue
boundary = left
variable = f_el
[../]
[./f_el_beta]
type = SideAverageValue
boundary = right
variable = f_el
[../]
[./f_c_alpha]
type = SideAverageValue
boundary = left
variable = Fglobal
[../]
[./f_c_beta]
type = SideAverageValue
boundary = right
variable = Fglobal
[../]
[./chem_pot_alpha]
type = SideAverageValue
boundary = left
variable = w
[../]
[./chem_pot_beta]
type = SideAverageValue
boundary = right
variable = w
[../]
[./psi_alpha]
type = SideAverageValue
boundary = left
variable = psi
[../]
[./psi_beta]
type = SideAverageValue
boundary = right
variable = psi
[../]
[./total_energy]
type = ElementIntegralVariablePostprocessor
variable = Fglobal
[../]
# Get simulation cell size from postprocessor
[./volume]
type = ElementIntegralMaterialProperty
mat_prop = 1
[../]
[./psi_eq_int]
type = FunctionValuePostprocessor
function = psi_eq_int
[../]
[./psi_int]
type = ElementIntegralVariablePostprocessor
variable = psi
[../]
[./gamma]
type = FunctionValuePostprocessor
function = gamma
[../]
[]
#
# Precondition using handcoded off-diagonal terms
#
[Preconditioning]
[./full]
type = SMP
full = true
[../]
[]
[Outputs]
[./exodus]
type = Exodus
interval = 20
[../]
[./csv]
type = CSV
execute_on = 'final'
[../]
#[./console]
# type = Console
# output_file = true
# [../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_4/plane4_mu_0_2_pen.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = plane4_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeIncrementalSmallStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeIncrementalSmallStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = plane4_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = plane4_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/axisymmetric_2d3d_solution_function/3dy.i
[GlobalParams]
order = FIRST
family = LAGRANGE
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = 3dy.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./temp]
[../]
[./hoop_stress]
order = CONSTANT
family = MONOMIAL
[../]
[]
[UserObjects]
[./soln]
type = SolutionUserObject
mesh = 2d_out.e
system_variables = 'disp_x disp_y temp'
[../]
[]
[Functions]
[./soln_func_temp]
type = Axisymmetric2D3DSolutionFunction
solution = soln
from_variables = 'temp'
[../]
[./soln_func_disp_x]
type = Axisymmetric2D3DSolutionFunction
solution = soln
from_variables = 'disp_x disp_y'
component = 0
[../]
[./soln_func_disp_y]
type = Axisymmetric2D3DSolutionFunction
solution = soln
from_variables = 'disp_x disp_y'
component = 1
[../]
[./soln_func_disp_z]
type = Axisymmetric2D3DSolutionFunction
solution = soln
from_variables = 'disp_x disp_y'
component = 2
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
volumetric_locking_correction = true
add_variables = true
incremental = true
strain = FINITE
eigenstrain_names = thermal_expansion
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress'
[../]
[]
[AuxKernels]
[./t_soln_aux]
type = FunctionAux
variable = temp
block = '1 2'
function = soln_func_temp
[../]
[./hoop_stress]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = hoop_stress
scalar_type = HoopStress
execute_on = timestep_end
[../]
[]
[BCs]
[./x_soln_bc]
type = FunctionDirichletBC
variable = disp_x
preset = false
boundary = '1 2'
function = soln_func_disp_x
[../]
[./y_soln_bc]
type = FunctionDirichletBC
variable = disp_y
preset = false
boundary = '1 2'
function = soln_func_disp_y
[../]
[./z_soln_bc]
type = FunctionDirichletBC
variable = disp_z
preset = false
boundary = '1 2'
function = soln_func_disp_z
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 193.05e9
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[./thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = '1 2'
thermal_expansion_coeff = 13e-6
stress_free_temperature = 295.00
temperature = temp
eigenstrain_name = thermal_expansion
[../]
[./density]
type = Density
block = '1'
density = 8000.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-ksp_snes_ew'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = ' 201 hypre boomeramg 4'
line_search = 'none'
l_max_its = 25
nl_max_its = 20
nl_rel_tol = 1e-10
l_tol = 1e-2
start_time = 0.0
dt = 1
end_time = 1
dtmin = 1
[]
[Outputs]
file_base = 3dy_out
exodus = true
[./console]
type = Console
max_rows = 25
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/single_pnt_2d/single_point_2d_frictional_sm.i
[Mesh]
file = single_point_2d.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./appl_disp]
type = PiecewiseLinear
x = '0 0.001 0.101'
y = '0 0.0 -0.10'
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_x = saved_x
save_in_disp_y = saved_y
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
[../]
[]
[AuxKernels]
[./incslip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./incslip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./botx]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./boty]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = appl_disp
[../]
[./topy]
type = DirichletBC
variable = disp_y
boundary = 4
value = -0.002001
[../]
[]
[Materials]
[./bottom]
type = Elastic
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e9
formulation = NonlinearPlaneStrain
[../]
[./top]
type = Elastic
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
formulation = NonlinearPlaneStrain
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./disp_x]
type = NodalVariableValue
nodeid = 5
variable = disp_x
[../]
[./disp_y]
type = NodalVariableValue
nodeid = 5
variable = disp_y
[../]
[./inc_slip_x]
type = NodalVariableValue
nodeid = 5
variable = inc_slip_x
[../]
[./inc_slip_y]
type = NodalVariableValue
nodeid = 5
variable = inc_slip_y
[../]
[./accum_slip_x]
type = NodalVariableValue
nodeid = 5
variable = accum_slip_x
[../]
[./accum_slip_y]
type = NodalVariableValue
nodeid = 5
variable = accum_slip_y
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 200
dt = 0.001
end_time = 0.001
num_steps = 10000
nl_rel_tol = 1e-6
nl_abs_tol = 1e-8
dtmin = 0.001
l_tol = 1e-3
[]
[Outputs]
file_base = single_point_2d_out_frictional_0_2_kin
exodus = true
print_linear_residuals = true
perf_graph = true
csv = true
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = coulomb
system = constraint
formulation = kinematic
penalty = 1e12
normalize_penalty = true
friction_coefficient = '0.2'
tangential_tolerance = 1e-3
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
master = '2'
slave = '3'
[../]
[]
modules/xfem/test/tests/moving_interface/verification/2D_rz_lsdep1mat.i
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
# XFEM Moving Interface Verification Problem
# Dimensionality: 2D
# Coordinate System: rz
# Material Numbers/Types: level set dep 1 material, 2 region
# Element Order: 1st
# Interface Characteristics: u independent, prescribed level set function
# Description:
# Transient 2D heat transfer problem in cylindrical coordinates designed with
# the Method of Manufactured Solutions. This problem was developed to verify
# XFEM performance on linear elements in the presence of a moving interface
# sweeping across the x-y coordinates of a system with thermal conductivity
# dependent upon the transient level set function. This problem can be
# exactly evaluated by FEM/Moose without the moving interface. Both the
# temperature and level set function are designed to be linear to attempt to
# minimize the error between the Moose/exact solution and XFEM results.
# Results:
# The temperature at the bottom left boundary (x=1, y=1) exhibits the largest
# difference between the FEM/Moose solution and XFEM results. We present the
# XFEM results at this location with 10 digits of precision:
# Time Expected Temperature XFEM Calculated Temperature
# 0.2 440 440
# 0.4 480 479.9998717
# 0.6 520 519.9994963
# 0.8 560 559.9989217
# 1.0 600 599.9986735
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Problem]
coord_type = RZ
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 4
xmin = 1.0
xmax = 2.0
ymin = 1.0
ymax = 2.0
elem_type = QUAD4
[]
[XFEM]
qrule = moment_fitting
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
heal_always = true
[../]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./heat_cond]
type = MatDiffusion
variable = u
diffusivity = diffusion_coefficient
[../]
[./vol_heat_src]
type = BodyForce
variable = u
function = src_func
[../]
[./mat_time_deriv]
type = TestMatTimeDerivative
variable = u
mat_prop_value = rhoCp
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
geometric_cut_userobject = 'level_set_cut_uo'
use_penalty = true
alpha = 1e5
[../]
[]
[Functions]
[./src_func]
type = ParsedFunction
value = '10*(-100*x-100*y+400) + t*(-2.5*y/(2.04*x) + 155/x - t/(2.04*x)
- 7.5/2.04)'
[../]
[./neumann_func]
type = ParsedFunction
value = '((0.01/2.04)*(-2.5*x-2.5*y-t)+1.55)*100*t'
[../]
[./dirichlet_right_func]
type = ParsedFunction
value = '(-100*y+200)*t+400'
[../]
[./dirichlet_top_func]
type = ParsedFunction
value = '(-100*x+200)*t+400'
[../]
[./k_func]
type = ParsedFunction
value = '(0.01/2.04)*(-2.5*x-2.5*y-t) + 1.55'
[../]
[./ls_func]
type = ParsedFunction
value = '-0.5*(x+y) + 2.04 -0.2*t'
[../]
[]
[Materials]
[./mat_time_deriv_prop]
type = GenericConstantMaterial
prop_names = 'rhoCp'
prop_values = 10
[../]
[./therm_cond_prop]
type = GenericFunctionMaterial
prop_names = 'diffusion_coefficient'
prop_values = 'k_func'
[../]
[]
[BCs]
[./left_du]
type = FunctionNeumannBC
variable = u
boundary = 'left'
function = neumann_func
[../]
[./right_u]
type = FunctionDirichletBC
variable = u
boundary = 'right'
function = dirichlet_right_func
[../]
[./bottom_du]
type = FunctionNeumannBC
variable = u
boundary = 'bottom'
function = neumann_func
[../]
[./top_u]
type = FunctionDirichletBC
variable = u
boundary = 'top'
function = dirichlet_top_func
[../]
[]
[ICs]
[./u_ic]
type = ConstantIC
value = 400
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
line_search = 'none'
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-10
nl_abs_tol = 1.0e-9
start_time = 0.0
dt = 0.2
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
interval = 1
execute_on = 'initial timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/sm/edge_crack_3d.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y disp_z'
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 5
ny = 5
nz = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.2
elem_type = HEX8
[]
[UserObjects]
[./square_cut_uo]
type = RectangleCutUserObject
cut_data = ' -0.001 0.5 -0.001
0.401 0.5 -0.001
0.401 0.5 0.201
-0.001 0.5 0.201'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises_stress]
order = CONSTANT
family = MONOMIAL
[../]
[./SED]
order = CONSTANT
family = MONOMIAL
[../]
[]
[DomainIntegral]
integrals = 'Jintegral InteractionIntegralKI'
crack_front_points = '0.4 0.5 0.0
0.4 0.5 0.1
0.4 0.5 0.2'
crack_direction_method = CrackDirectionVector
crack_direction_vector = '1 0 0'
radius_inner = '0.2'
radius_outer = '0.4'
poissons_ratio = 0.3
youngs_modulus = 207000
block = 0
solid_mechanics = true
incremental = true
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
use_displaced_mesh = true
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
execute_on = timestep_end
[../]
[./vonmises_stress]
type = MaterialTensorAux
tensor = stress
variable = vonmises_stress
quantity = vonmises
execute_on = timestep_end
[../]
[./SED]
type = MaterialRealAux
variable = SED
property = strain_energy_density
execute_on = timestep_end
block = 0
[../]
[]
[Functions]
[./top_trac_y]
type = ConstantFunction
value = 10
[../]
[]
[BCs]
[./top_y]
type = FunctionNeumannBC
boundary = top
variable = disp_y
function = top_trac_y
[../]
[./bottom_x]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = bottom
variable = disp_z
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = Elastic
block = 0
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 207000
compute_JIntegral = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-12
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
file_base = edge_crack_3d_out
execute_on = 'timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_4/plane4_template1_sm.i
[Mesh]
file = plane4_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = LinearIsotropicMaterial
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = LinearIsotropicMaterial
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/constraint/frictional_02_penalty.i
# This is a benchmark test that checks constraint based frictional
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2 and a friction coefficient
# of 0.2 is used. The gold file is run on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./left_stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -sub_pc_type -pc_asm_overlap -ksp_gmres_restart'
petsc_options_value = 'asm lu 20 101'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-3
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
penalty = 1e+7
friction_coefficient = 0.2
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/combined/test/tests/sliding_block/sliding/constraint/sm/frictionless_kinematic_sm.i
# This is a benchmark test that checks constraint based frictionless
# contact using the kinematic method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -sub_pc_type -pc_asm_overlap -ksp_gmres_restart'
petsc_options_value = 'asm lu 20 101'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+6
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/combined/test/tests/sliding_block/sliding/constraint/sm/frictional_04_penalty_sm.i
# This is a benchmark test that checks constraint based frictional
# contact using the penalty method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# A friction coefficient of 0.4 is used. The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
penalty = 1e+7
friction_coefficient = 0.4
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_template2.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick2_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_x26]
type = NodalVariableValue
nodeid = 25
variable = disp_x
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./disp_y26]
type = NodalVariableValue
nodeid = 25
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x7 disp_y7 disp_x26 disp_y26 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+7
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/contact_verification/hertz_cyl/half_symm_q4/hertz_cyl_half_1deg_template3.i
[GlobalParams]
order = FIRST
family = LAGRANGE
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = hertz_cyl_half_1deg.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Functions]
[./disp_ramp_vert]
type = PiecewiseLinear
x = '0. 1. 11.'
y = '0. -0.0020 -0.0020'
[../]
[./disp_ramp_horz]
type = PiecewiseLinear
x = '0. 1. 11.'
y = '0. 0.0 0.0014'
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
extra_vector_tags = 'ref'
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 2
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 2
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./disp_x226]
type = NodalVariableValue
nodeid = 225
variable = disp_x
[../]
[./disp_y226]
type = NodalVariableValue
nodeid = 225
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_y
boundary = '1 2'
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_x
boundary = '1 2'
value = 0.0
[../]
[./top_y_disp]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = disp_ramp_vert
[../]
[./top_x_disp]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = disp_ramp_horz
[../]
[]
[Materials]
[./stuff1_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e10
poissons_ratio = 0.0
[../]
[./stuff1_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./stuff1_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./stuff2_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff2_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./stuff2_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[./stuff3_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '3'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff3_strain]
type = ComputeFiniteStrain
block = '3'
[../]
[./stuff3_stress]
type = ComputeFiniteStrainElasticStress
block = '3'
[../]
[./stuff4_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '4'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff4_strain]
type = ComputeFiniteStrain
block = '4'
[../]
[./stuff4_stress]
type = ComputeFiniteStrainElasticStress
block = '4'
[../]
[./stuff5_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '5'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff5_strain]
type = ComputeFiniteStrain
block = '5'
[../]
[./stuff5_stress]
type = ComputeFiniteStrainElasticStress
block = '5'
[../]
[./stuff6_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '6'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff6_strain]
type = ComputeFiniteStrain
block = '6'
[../]
[./stuff6_stress]
type = ComputeFiniteStrainElasticStress
block = '6'
[../]
[./stuff7_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '7'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff7_strain]
type = ComputeFiniteStrain
block = '7'
[../]
[./stuff7_stress]
type = ComputeFiniteStrainElasticStress
block = '7'
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 200
start_time = 0.0
end_time = 2.0
l_tol = 5e-4
dt = 0.1
dtmin = 0.1
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '3 4'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '3 4'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'x_disp y_disp cont_press'
start_time = 0.9
execute_vector_postprocessors_on = timestep_end
[../]
[./chkfile2]
type = CSV
show = 'bot_react_x bot_react_y disp_x226 disp_y226 top_react_x top_react_y'
start_time = 0.9
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./interface]
master = 2
slave = 3
disp_x = disp_x
disp_y = disp_y
model = coulomb
friction_coefficient = 0.0
system = constraint
formulation = penalty
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
master = '2'
slave = '3'
[../]
[]
test/tests/time_integrators/actually_explicit_euler_verification/ee-1d-quadratic-neumann.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 10
elem_type = EDGE3
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x*x-2*t+t*x*x
[../]
[./exact_fn]
type = ParsedFunction
value = t*x*x
[../]
[./left_bc_fn]
type = ParsedFunction
value = -t*2*x
[../]
[./right_bc_fn]
type = ParsedFunction
value = t*2*x
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./abs]
type = Reaction
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./left]
type = FunctionNeumannBC
variable = u
boundary = '0'
function = left_bc_fn
[../]
[./right]
type = FunctionNeumannBC
variable = u
boundary = '1'
function = right_bc_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
l_tol = 1e-12
start_time = 0.0
num_steps = 10
dt = 0.001
[./TimeIntegrator]
type = ActuallyExplicitEuler
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_3/plane3_template2.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = plane3_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 200
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeIncrementalSmallStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeIncrementalSmallStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-8
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_mu_0_2_pen.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick2_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[./tang_force_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_x26]
type = NodalVariableValue
nodeid = 25
variable = disp_x
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./disp_y26]
type = NodalVariableValue
nodeid = 25
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
file_base = brick2_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = brick2_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x7 disp_y7 disp_x26 disp_y26 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+7
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_4/cyl4_mu_0_2_pen_sm.i
[Mesh]
file = cyl4_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = cyl4_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = cyl4_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
test/tests/outputs/console/console_print_toggles.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
execute_on = 'timestep_end'
# This block is needed so cli_args in the tests files is available
[./console]
type = Console
[../]
[]
modules/xfem/test/tests/second_order_elements/sm/square_branch_quad8_2d.i
[GlobalParams]
order = SECOND
family = LAGRANGE
volumetric_locking_correction = false
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD8
displacements = 'disp_x disp_y'
[]
[UserObjects]
[./line_seg_cut_set_uo]
type = LineSegmentCutSetUserObject
cut_data = '-1.0000e-10 6.6340e-01 6.6340e-01 -1.0000e-10 0.0 1.0
3.3120e-01 3.3200e-01 1.0001e+00 3.3200e-01 1.0 2.0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
use_displaced_mesh = false
[../]
[]
[Functions]
[./right_disp_x]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[./top_disp_y]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[]
[BCs]
[./right_x]
type = FunctionDirichletBC
boundary = 1
variable = disp_x
function = right_disp_x
[../]
[./top_y]
type = FunctionDirichletBC
boundary = 2
variable = disp_y
function = top_disp_y
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./left_x]
type = DirichletBC
boundary = 3
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = LinearIsotropicMaterial
block = 0
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 2.2
num_steps = 5000
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/pressure_bc/sm/edge_2d_pressure.i
[GlobalParams]
order = FIRST
family = LAGRANGE
volumetric_locking_correction = False
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 9
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
displacements = 'disp_x disp_y'
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.0 0.5 0.5 0.5'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx] # stress aux variables are defined for output; this is a way to get integration point variables to the output file
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_xx] # computes stress components for output
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
execute_on = timestep_end # for efficiency, only compute at the end of a timestep
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
execute_on = timestep_end
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
use_displaced_mesh = false
[../]
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0 1.0 2.0'
y = '0 500 1000'
[../]
[]
[BCs]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./top_y]
type = DirichletBC
boundary = 2
variable = disp_y
value = 0.0
[../]
[./bottom_x]
type = DirichletBC
boundary = 0
variable = disp_x
value = 0.0
[../]
[]
[DiracKernels]
[./pressure_x]
type = XFEMPressure
variable = disp_x
component = 0
function = pressure
[../]
[./pressure_y]
type = XFEMPressure
variable = disp_y
component = 1
function = pressure
[../]
[]
[Materials]
[./linelast]
type = LinearIsotropicMaterial
block = 0
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
# time control
start_time = 0.0
dt = 1
end_time = 2
[]
[Outputs]
file_base = edge_2d_pressure_out
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/tensor_mechanics/examples/coal_mining/cosserat_mc_wp_sticky_longitudinal.i
# Strata deformation and fracturing around a coal mine
#
# A 2D geometry is used that simulates a longitudinal section of
# the coal mine. The model is actually 3D, but the "x"
# dimension is only 10m long, meshed with 1 element, and
# there is no "x" displacement. The mine is 400m deep
# and just the roof is studied (0<=z<=400). The model sits
# between -300<=y<=1800. The excavation sits in 0<=y<=1500. The
# excavation height is 3m (ie, the excavation lies within
# 0<=z<=3).
#
# Time is meaningless in this example
# as quasi-static solutions are sought at each timestep, but
# the number of timesteps controls the resolution of the
# process.
#
# The boundary conditions for this elastic simulation are:
# - disp_x = 0 everywhere
# - disp_y = 0 at y=-300 and y=1800
# - disp_z = 0 at z=0, but there is a time-dependent
# Young's modulus that simulates excavation
# - wc_x = 0 at y=300 and y=1800.
# That is, rollers on the sides, free at top,
# and prescribed at bottom in the unexcavated portion.
#
# The small strain formulation is used.
#
# All stresses are measured in MPa. The initial stress is consistent with
# the weight force from density 2500 kg/m^3, ie, stress_zz = -0.025*(300-z) MPa
# where gravity = 10 m.s^-2 = 1E-5 MPa m^2/kg. The maximum and minimum
# principal horizontal stresses are assumed to be equal to 0.8*stress_zz.
#
# Material properties:
# Young's modulus = 8 GPa
# Poisson's ratio = 0.25
# Cosserat layer thickness = 1 m
# Cosserat-joint normal stiffness = large
# Cosserat-joint shear stiffness = 1 GPa
# MC cohesion = 3 MPa
# MC friction angle = 37 deg
# MC dilation angle = 8 deg
# MC tensile strength = 1 MPa
# MC compressive strength = 100 MPa
#
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 1
xmin = -5
xmax = 5
nz = 40
zmin = 0
zmax = 400
bias_z = 1.1
ny = 140 # 15m elements
ymin = -300
ymax = 1800
[]
[left]
type = SideSetsAroundSubdomainGenerator
block = 0
new_boundary = 11
normal = '0 -1 0'
input = generated_mesh
[]
[right]
type = SideSetsAroundSubdomainGenerator
block = 0
new_boundary = 12
normal = '0 1 0'
input = left
[]
[front]
type = SideSetsAroundSubdomainGenerator
block = 0
new_boundary = 13
normal = '-1 0 0'
input = right
[]
[back]
type = SideSetsAroundSubdomainGenerator
block = 0
new_boundary = 14
normal = '1 0 0'
input = front
[]
[top]
type = SideSetsAroundSubdomainGenerator
block = 0
new_boundary = 15
normal = '0 0 1'
input = back
[]
[bottom]
type = SideSetsAroundSubdomainGenerator
block = 0
new_boundary = 16
normal = '0 0 -1'
input = top
[]
[excav]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '-5 0 0'
top_right = '5 1500 3'
input = bottom
[]
[roof]
type = SideSetsAroundSubdomainGenerator
block = 1
new_boundary = 18
normal = '0 0 1'
input = excav
[]
[]
[GlobalParams]
perform_finite_strain_rotations = false
displacements = 'disp_x disp_y disp_z'
Cosserat_rotations = 'wc_x wc_y wc_z'
[]
[Variables]
[./disp_y]
[../]
[./disp_z]
[../]
[./wc_x]
[../]
[]
[Kernels]
[./cy_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_y
component = 1
[../]
[./cz_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_z
component = 2
[../]
[./x_couple]
type = StressDivergenceTensors
use_displaced_mesh = false
variable = wc_x
displacements = 'wc_x wc_y wc_z'
component = 0
base_name = couple
[../]
[./x_moment]
type = MomentBalancing
use_displaced_mesh = false
variable = wc_x
component = 0
[../]
[./gravity]
type = Gravity
use_displaced_mesh = false
variable = disp_z
value = -10E-6 # remember this is in MPa
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./wc_y]
[../]
[./wc_z]
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./mc_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
[../]
[./stress_xz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xz
index_i = 0
index_j = 2
[../]
[./stress_yx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yx
index_i = 1
index_j = 0
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
[../]
[./stress_yz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yz
index_i = 1
index_j = 2
[../]
[./stress_zx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zx
index_i = 2
index_j = 0
[../]
[./stress_zy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zy
index_i = 2
index_j = 1
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
[../]
[./mc_shear]
type = MaterialStdVectorAux
index = 0
property = mc_plastic_internal_parameter
variable = mc_shear
[../]
[./mc_tensile]
type = MaterialStdVectorAux
index = 1
property = mc_plastic_internal_parameter
variable = mc_tensile
[../]
[./wp_shear]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_internal_parameter
variable = wp_shear
[../]
[./wp_tensile]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_internal_parameter
variable = wp_tensile
[../]
[./mc_shear_f]
type = MaterialStdVectorAux
index = 6
property = mc_plastic_yield_function
variable = mc_shear_f
[../]
[./mc_tensile_f]
type = MaterialStdVectorAux
index = 0
property = mc_plastic_yield_function
variable = mc_tensile_f
[../]
[./wp_shear_f]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_yield_function
variable = wp_shear_f
[../]
[./wp_tensile_f]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_yield_function
variable = wp_tensile_f
[../]
[]
[BCs]
[./no_y]
type = DirichletBC
variable = disp_y
boundary = '11 12'
value = 0.0
[../]
[./no_z]
type = DirichletBC
variable = disp_z
boundary = '16'
value = 0.0
[../]
[./no_wc_x]
type = DirichletBC
variable = wc_x
boundary = '11 12'
value = 0.0
[../]
[./roof]
type = StickyBC
variable = disp_z
min_value = -3.0
boundary = '18'
[../]
[]
[Functions]
[./ini_xx]
type = ParsedFunction
value = '-0.8*2500*10E-6*(400-z)'
[../]
[./ini_zz]
type = ParsedFunction
value = '-2500*10E-6*(400-z)'
[../]
[./excav_sideways]
type = ParsedFunction
vars = 'end_t ymin ymax minval maxval slope'
vals = '1.0 0 1500.0 1E-9 1 15'
# excavation face at ymin+(ymax-ymin)*min(t/end_t,1)
# slope is the distance over which the modulus reduces from maxval to minval
value = 'if(y<ymin+(ymax-ymin)*min(t/end_t,1),minval,if(y<ymin+(ymax-ymin)*min(t/end_t,1)+slope,minval+(maxval-minval)*(y-(ymin+(ymax-ymin)*min(t/end_t,1)))/slope,maxval))'
[../]
[./density_sideways]
type = ParsedFunction
vars = 'end_t ymin ymax minval maxval'
vals = '1.0 0 1500.0 0 2500'
value = 'if(y<ymin+(ymax-ymin)*min(t/end_t,1),minval,maxval)'
[../]
[]
[UserObjects]
[./mc_coh_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 2.99 # MPa
value_residual = 3.01 # MPa
rate = 1.0
[../]
[./mc_fric]
type = TensorMechanicsHardeningConstant
value = 0.65 # 37deg
[../]
[./mc_dil]
type = TensorMechanicsHardeningConstant
value = 0.15 # 8deg
[../]
[./mc_tensile_str_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 1.0 # MPa
value_residual = 1.0 # MPa
rate = 1.0
[../]
[./mc_compressive_str]
type = TensorMechanicsHardeningCubic
value_0 = 100 # Large!
value_residual = 100
internal_limit = 0.1
[../]
[./wp_coh_harden]
type = TensorMechanicsHardeningCubic
value_0 = 0.1
value_residual = 0.1
internal_limit = 10
[../]
[./wp_tan_fric]
type = TensorMechanicsHardeningConstant
value = 0.36 # 20deg
[../]
[./wp_tan_dil]
type = TensorMechanicsHardeningConstant
value = 0.18 # 10deg
[../]
[./wp_tensile_str_harden]
type = TensorMechanicsHardeningCubic
value_0 = 0.1
value_residual = 0.1
internal_limit = 10
[../]
[./wp_compressive_str_soften]
type = TensorMechanicsHardeningCubic
value_0 = 100
value_residual = 1.0
internal_limit = 1.0
[../]
[]
[Materials]
[./elasticity_tensor_0]
type = ComputeLayeredCosseratElasticityTensor
block = 0
young = 8E3 # MPa
poisson = 0.25
layer_thickness = 1.0
joint_normal_stiffness = 1E9 # huge
joint_shear_stiffness = 1E3 # MPa
[../]
[./elasticity_tensor_1]
type = ComputeLayeredCosseratElasticityTensor
block = 1
young = 8E3 # MPa
poisson = 0.25
layer_thickness = 1.0
joint_normal_stiffness = 1E9 # huge
joint_shear_stiffness = 1E3 # MPa
elasticity_tensor_prefactor = excav_sideways
[../]
[./strain]
type = ComputeCosseratIncrementalSmallStrain
eigenstrain_names = ini_stress
[../]
[./ini_stress]
type = ComputeEigenstrainFromInitialStress
eigenstrain_name = ini_stress
initial_stress = 'ini_xx 0 0 0 ini_xx 0 0 0 ini_zz'
[../]
[./stress_0]
type = ComputeMultipleInelasticCosseratStress
block = 0
inelastic_models = 'mc wp'
cycle_models = true
relative_tolerance = 2.0
absolute_tolerance = 1E6
max_iterations = 1
tangent_operator = nonlinear
perform_finite_strain_rotations = false
[../]
[./stress_1]
# this is needed so as to correctly apply the initial stress
type = ComputeMultipleInelasticCosseratStress
block = 1
inelastic_models = ''
relative_tolerance = 2.0
absolute_tolerance = 1E6
max_iterations = 1
tangent_operator = nonlinear
perform_finite_strain_rotations = false
[../]
[./mc]
type = CappedMohrCoulombCosseratStressUpdate
warn_about_precision_loss = false
host_youngs_modulus = 8E3
host_poissons_ratio = 0.25
base_name = mc
tensile_strength = mc_tensile_str_strong_harden
compressive_strength = mc_compressive_str
cohesion = mc_coh_strong_harden
friction_angle = mc_fric
dilation_angle = mc_dil
max_NR_iterations = 100000
smoothing_tol = 0.1 # MPa # Must be linked to cohesion
yield_function_tol = 1E-9 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0
[../]
[./wp]
type = CappedWeakPlaneCosseratStressUpdate
warn_about_precision_loss = false
base_name = wp
cohesion = wp_coh_harden
tan_friction_angle = wp_tan_fric
tan_dilation_angle = wp_tan_dil
tensile_strength = wp_tensile_str_harden
compressive_strength = wp_compressive_str_soften
max_NR_iterations = 10000
tip_smoother = 0.1
smoothing_tol = 0.1 # MPa # Note, this must be tied to cohesion, otherwise get no possible return at cone apex
yield_function_tol = 1E-11 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0E-3
[../]
[./density_0]
type = GenericConstantMaterial
block = 0
prop_names = density
prop_values = 2500
[../]
[./density_1]
type = GenericFunctionMaterial
block = 1
prop_names = density
prop_values = density_sideways
[../]
[]
[Postprocessors]
[./subs]
type = PointValue
point = '0 0 400'
variable = disp_z
use_displaced_mesh = false
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
petsc_options_value = ' asm 2 lu gmres 200'
line_search = bt
nl_abs_tol = 1e-3
nl_rel_tol = 1e-5
l_max_its = 30
nl_max_its = 100
start_time = 0.0
dt = 0.01 # 1 element per step
end_time = 1.0
[]
[Outputs]
file_base = cosserat_mc_wp_sticky_longitudinal
interval = 1
print_linear_residuals = false
exodus = true
csv = true
console = true
#[./console]
# type = Console
# output_linear = false
#[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/dirac/frictional_04_penalty.i
# This is a benchmark test that checks Dirac based frictional
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2 and a friction coefficient
# of 0. is used. The gold file is run on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./constitutive]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
file_base = frictional_04_penalty_out
interval = 10
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
friction_coefficient = 0.4
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
modules/xfem/test/tests/moving_interface/verification/1D_xy_lsdep1mat.i
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
# XFEM Moving Interface Verification Problem
# Dimensionality: quasi-1D
# Coordinate System: xy
# Material Numbers/Types: level set dep 1 material, 2 region
# Element Order: 1st
# Interface Characteristics: u independent, prescribed level set function
# Description:
# A simple transient heat transfer problem in Cartesian coordinates designed
# with the Method of Manufactured Solutions. This problem was developed to
# verify XFEM performance in the presence of a moving interface for linear
# element models that can be exactly evaluated by FEM/Moose. Both the
# temperature solution and level set function are designed to be linear to
# attempt to minimize error between the Moose/exact solution and XFEM results.
# Thermal conductivity is dependent upon the value of the level set function
# at each timestep.
# Results:
# The temperature at the left boundary (x=0) exhibits the largest difference
# between the FEM/Moose solution and XFEM results. We present the XFEM
# results at this location with 10 digits of precision:
# Time Expected Temperature XFEM Calculated Temperature
# 0.2 440 440
# 0.4 480 479.9999722
# 0.6 520 519.9998726
# 0.8 560 559.9997314
# 1.0 600 599.9996885
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 0.5
elem_type = QUAD4
[]
[XFEM]
qrule = moment_fitting
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
heal_always = true
[../]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./heat_cond]
type = MatDiffusion
variable = u
diffusivity = diffusion_coefficient
[../]
[./vol_heat_src]
type = BodyForce
variable = u
function = src_func
[../]
[./mat_time_deriv]
type = TestMatTimeDerivative
variable = u
mat_prop_value = rhoCp
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
geometric_cut_userobject = 'level_set_cut_uo'
use_penalty = true
alpha = 1e5
[../]
[]
[Functions]
[./src_func]
type = ParsedFunction
value = 'rhoCp*(-200*x+200)-(0.05*200*t/1.04)'
vars = 'rhoCp'
vals = 10
[../]
[./neumann_func]
type = ParsedFunction
value = '((0.05/1.04)*(1-(x-0.04)-0.2*t) + 1.5)*200*t'
[../]
[./k_func]
type = ParsedFunction
value = '(0.05/1.04)*(1-(x-0.04)-0.2*t) + 1.5'
[../]
[./ls_func]
type = ParsedFunction
value = '1.04 - x - 0.2*t'
[../]
[]
[Materials]
[./mat_time_deriv_prop]
type = GenericConstantMaterial
prop_names = 'rhoCp'
prop_values = 10
[../]
[./therm_cond_prop]
type = GenericFunctionMaterial
prop_names = 'diffusion_coefficient'
prop_values = 'k_func'
[../]
[]
[BCs]
[./left_u]
type = FunctionNeumannBC
variable = u
boundary = 'left'
function = neumann_func
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 'right'
value = 400
[../]
[]
[ICs]
[./u_ic]
type = ConstantIC
value = 400
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
line_search = 'none'
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-10
nl_abs_tol = 1.0e-9
start_time = 0.0
dt = 0.2
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
interval = 1
execute_on = 'initial timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_3/plane3_template1_sm.i
[Mesh]
file = plane3_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = LinearIsotropicMaterial
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = LinearIsotropicMaterial
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-8
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/solid_mechanics/test/tests/material_limit_time_step/creep/nafems_test5a_lim.i
[GlobalParams]
disp_x = disp_x
disp_y = disp_y
temp = temp
order = FIRST
family = LAGRANGE
[]
[Mesh]
file = plane1_mesh.e
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./temp]
initial_condition = 1500.0
[../]
[./creep]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[./pressure]
order = CONSTANT
family = MONOMIAL
[../]
[./invariant3]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[]
[SolidMechanics]
[./solid]
[../]
[]
[AuxKernels]
[./creep_aux]
type = MaterialRealAux
property = effective_creep_strain
variable = creep
[../]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./vonmises]
type = MaterialTensorAux
tensor = stress
variable = vonmises
quantity = vonmises
[../]
[./pressure]
type = MaterialTensorAux
tensor = stress
variable = pressure
quantity = hydrostatic
[../]
[./invariant3]
type = MaterialTensorAux
tensor = stress
variable = invariant3
quantity = thirdInvariant
[../]
[./creep_strain_xx]
type = MaterialTensorAux
tensor = creep_strain
variable = creep_strain_xx
index = 0
[../]
[./creep_strain_yy]
type = MaterialTensorAux
tensor = creep_strain
variable = creep_strain_yy
index = 1
[../]
[./creep_strain_zz]
type = MaterialTensorAux
tensor = creep_strain
variable = creep_strain_zz
index = 2
[../]
[./creep_strain_xy]
type = MaterialTensorAux
tensor = creep_strain
variable = creep_strain_xy
index = 3
[../]
[./elastic_str_xx_aux]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_xx
index = 0
[../]
[./elastic_str_yy_aux]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_yy
index = 1
[../]
[./elastic_str_zz_aux]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_zz
index = 2
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 3
component = 1
factor = -100.0
[../]
[./side_press]
type = Pressure
variable = disp_x
boundary = 4
component = 0
factor = -200.0
[../]
[]
[Materials]
[./stiffStuff1]
type = SolidModel
block = 1
youngs_modulus = 200e3
poissons_ratio = 0.3
constitutive_model = combined
formulation = NonlinearPlaneStrain
large_strain = true
[../]
[./combined]
type = CombinedCreepPlasticity
block = 1
submodels = 'creep_matl'
[../]
[./creep_matl]
type = PowerLawCreepModel
block = 1
coefficient = 3.125e-14
n_exponent = 5
activation_energy = 0
max_inelastic_increment = 0.01
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-5
nl_abs_tol = 1e-8
l_max_its = 50
nl_max_its = 100
end_time = 1000.0
num_steps = 10000
l_tol = 1e-3
[./TimeStepper]
type = IterationAdaptiveDT
dt = 1e-6
time_t = '1e-6 2e-6 3e-6 5e-6 9e-6 1.7e-5 3.3e-5 6.5e-5 1.29e-4 2.57e-4 5.13e-4 1.025e-3 2.049e-3 4.097e-3 8.193e-3 1.638e-2 3.276e-2 5.734e-2 0.106 0.180 0.291 0.457 0.706 1.08 1.64 2.48 3.74 5.63 8.46 12.7 19.1 28.7 43.0 64.5 108.0 194.0 366.0 710.0 1000.0'
time_dt = '1e-6 1e-6 2e-6 4e-6 8e-6 1.6e-5 3.2e-5 6.4e-5 1.28e-4 2.56e-4 5.12e-4 1.024e-3 2.048e-3 4.096e-3 8.192e-3 1.6384e-2 2.458e-2 4.915e-2 7.40e-2 0.111 0.166 0.249 0.374 0.560 0.840 1.26 1.89 2.83 4.25 6.40 9.6 14.3 21.5 43.0 86.1 172.0 344.0 290.0 290.0'
optimal_iterations = 30
iteration_window = 9
growth_factor = 2.0
cutback_factor = 0.5
timestep_limiting_postprocessor = matl_ts_min
[../]
[]
[Postprocessors]
[./matl_ts_min]
type = MaterialTimeStepPostprocessor
[../]
[./sigma_xx]
type = ElementAverageValue
variable = stress_xx
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./vonmises]
type = ElementAverageValue
variable = vonmises
[../]
[./pressure]
type = ElementAverageValue
variable = pressure
[../]
[./invariant3]
type = ElementAverageValue
variable = invariant3
[../]
[./eps_crp_xx]
type = ElementAverageValue
variable = creep_strain_xx
[../]
[./eps_crp_yy]
type = ElementAverageValue
variable = creep_strain_yy
[../]
[./eps_crp_zz]
type = ElementAverageValue
variable = creep_strain_zz
[../]
[./eps_crp_mag]
type = ElementAverageValue
variable = creep
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x3]
type = NodalVariableValue
nodeid = 2
variable = disp_x
[../]
[./disp_y3]
type = NodalVariableValue
nodeid = 2
variable = disp_y
[../]
[./disp_y4]
type = NodalVariableValue
nodeid = 3
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./elas_str_xx]
type = ElementAverageValue
variable = elastic_strain_xx
[../]
[./elas_str_yy]
type = ElementAverageValue
variable = elastic_strain_yy
[../]
[./elas_str_zz]
type = ElementAverageValue
variable = elastic_strain_zz
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
csv = true
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 25
[../]
[]
modules/tensor_mechanics/examples/coal_mining/cosserat_elastic.i
# Strata deformation and fracturing around a coal mine
#
# A 2D geometry is used that simulates a transverse section of
# the coal mine. The model is actually 3D, but the "x"
# dimension is only 10m long, meshed with 1 element, and
# there is no "x" displacement. The mine is 400m deep
# and just the roof is studied (0<=z<=400). The model sits
# between 0<=y<=450. The excavation sits in 0<=y<=150. This
# is a "half model": the boundary conditions are such that
# the model simulates an excavation sitting in -150<=y<=150
# inside a model of the region -450<=y<=450. The
# excavation height is 3m (ie, the excavation lies within
# 0<=z<=3).
#
# Time is meaningless in this example
# as quasi-static solutions are sought at each timestep, but
# the number of timesteps controls the resolution of the
# process.
#
# The boundary conditions for this elastic simulation are:
# - disp_x = 0 everywhere
# - disp_y = 0 at y=0 and y=450
# - disp_z = 0 for y>150
# - wc_x = 0 at y=0 and y=450.
# That is, rollers on the sides, free at top,
# and prescribed at bottom in the unexcavated portion.
#
# The small strain formulation is used.
#
# All stresses are measured in MPa. The initial stress is consistent with
# the weight force from density 2500 kg/m^3, ie, stress_zz = -0.025*(300-z) MPa
# where gravity = 10 m.s^-2 = 1E-5 MPa m^2/kg. The maximum and minimum
# principal horizontal stresses are assumed to be equal to 0.8*stress_zz.
#
# This is an elastic simulation, but the weak-plane and Drucker-Prager
# parameters and AuxVariables may be found below. They are irrelevant
# in this simulation. The weak-plane and Drucker-Prager cohesions,
# tensile strengths and compressive strengths have been set very high
#
# Material properties:
# Young's modulus = 8 GPa
# Poisson's ratio = 0.25
# Cosserat layer thickness = 1 m
# Cosserat-joint normal stiffness = large
# Cosserat-joint shear stiffness = 1 GPa
#
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 1
xmin = -5
xmax = 5
nz = 40
zmin = 0
zmax = 403.003
bias_z = 1.1
ny = 30 # make this a multiple of 3, so y=150 is at a node
ymin = 0
ymax = 450
[]
[left]
type = SideSetsAroundSubdomainGenerator
new_boundary = 11
normal = '0 -1 0'
input = generated_mesh
[]
[right]
type = SideSetsAroundSubdomainGenerator
new_boundary = 12
normal = '0 1 0'
input = left
[]
[front]
type = SideSetsAroundSubdomainGenerator
new_boundary = 13
normal = '-1 0 0'
input = right
[]
[back]
type = SideSetsAroundSubdomainGenerator
new_boundary = 14
normal = '1 0 0'
input = front
[]
[top]
type = SideSetsAroundSubdomainGenerator
new_boundary = 15
normal = '0 0 1'
input = back
[]
[bottom]
type = SideSetsAroundSubdomainGenerator
new_boundary = 16
normal = '0 0 -1'
input = top
[]
[excav]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '-5 0 0'
top_right = '5 150 3'
input = bottom
[]
[roof]
type = SideSetsBetweenSubdomainsGenerator
new_boundary = 21
master_block = 0
paired_block = 1
input = excav
[]
[hole]
type = BlockDeletionGenerator
block_id = 1
input = roof
[]
[]
[GlobalParams]
block = 0
perform_finite_strain_rotations = false
displacements = 'disp_x disp_y disp_z'
Cosserat_rotations = 'wc_x wc_y wc_z'
[]
[Variables]
[./disp_y]
[../]
[./disp_z]
[../]
[./wc_x]
[../]
[]
[Kernels]
[./cy_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_y
component = 1
[../]
[./cz_elastic]
type = CosseratStressDivergenceTensors
use_displaced_mesh = false
variable = disp_z
component = 2
[../]
[./x_couple]
type = StressDivergenceTensors
use_displaced_mesh = false
variable = wc_x
displacements = 'wc_x wc_y wc_z'
component = 0
base_name = couple
[../]
[./x_moment]
type = MomentBalancing
use_displaced_mesh = false
variable = wc_x
component = 0
[../]
[./gravity]
type = Gravity
use_displaced_mesh = false
variable = disp_z
value = -10E-6 # remember this is in MPa
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./wc_y]
[../]
[./wc_z]
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./dp_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./dp_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./wp_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[./dp_shear_f]
order = CONSTANT
family = MONOMIAL
[../]
[./dp_tensile_f]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
[../]
[./stress_xz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xz
index_i = 0
index_j = 2
[../]
[./stress_yx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yx
index_i = 1
index_j = 0
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
[../]
[./stress_yz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yz
index_i = 1
index_j = 2
[../]
[./stress_zx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zx
index_i = 2
index_j = 0
[../]
[./stress_zy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zy
index_i = 2
index_j = 1
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
[../]
[./dp_shear]
type = MaterialStdVectorAux
index = 0
property = dp_plastic_internal_parameter
variable = dp_shear
[../]
[./dp_tensile]
type = MaterialStdVectorAux
index = 1
property = dp_plastic_internal_parameter
variable = dp_tensile
[../]
[./wp_shear]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_internal_parameter
variable = wp_shear
[../]
[./wp_tensile]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_internal_parameter
variable = wp_tensile
[../]
[./dp_shear_f]
type = MaterialStdVectorAux
index = 0
property = dp_plastic_yield_function
variable = dp_shear_f
[../]
[./dp_tensile_f]
type = MaterialStdVectorAux
index = 1
property = dp_plastic_yield_function
variable = dp_tensile_f
[../]
[./wp_shear_f]
type = MaterialStdVectorAux
index = 0
property = wp_plastic_yield_function
variable = wp_shear_f
[../]
[./wp_tensile_f]
type = MaterialStdVectorAux
index = 1
property = wp_plastic_yield_function
variable = wp_tensile_f
[../]
[]
[BCs]
[./no_y]
type = DirichletBC
variable = disp_y
boundary = '11 12'
value = 0.0
[../]
[./no_z]
type = DirichletBC
variable = disp_z
boundary = '16'
value = 0.0
[../]
[./no_wc_x]
type = DirichletBC
variable = wc_x
boundary = '11 12'
value = 0.0
[../]
[]
[Functions]
[./ini_xx]
type = ParsedFunction
value = '-0.8*2500*10E-6*(403.003-z)'
[../]
[./ini_zz]
type = ParsedFunction
value = '-2500*10E-6*(403.003-z)'
[../]
[]
[UserObjects]
[./dp_coh_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 2.9 # MPa
value_residual = 3.1 # MPa
rate = 1.0
[../]
[./dp_fric]
type = TensorMechanicsHardeningConstant
value = 0.65 # 37deg
[../]
[./dp_dil]
type = TensorMechanicsHardeningConstant
value = 0.65
[../]
[./dp_tensile_str_strong_harden]
type = TensorMechanicsHardeningExponential
value_0 = 1.0 # MPa
value_residual = 1.4 # MPa
rate = 1.0
[../]
[./dp_compressive_str]
type = TensorMechanicsHardeningConstant
value = 1.0E3 # Large!
[../]
[./drucker_prager_model]
type = TensorMechanicsPlasticDruckerPrager
mc_cohesion = dp_coh_strong_harden
mc_friction_angle = dp_fric
mc_dilation_angle = dp_dil
internal_constraint_tolerance = 1 # irrelevant here
yield_function_tolerance = 1 # irrelevant here
[../]
[./wp_coh]
type = TensorMechanicsHardeningConstant
value = 1E12
[../]
[./wp_tan_fric]
type = TensorMechanicsHardeningConstant
value = 0.36 # 20deg
[../]
[./wp_tan_dil]
type = TensorMechanicsHardeningConstant
value = 0.18 # 10deg
[../]
[./wp_tensile_str]
type = TensorMechanicsHardeningConstant
value = 1E12
[../]
[./wp_compressive_str]
type = TensorMechanicsHardeningConstant
value = 1E12
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeLayeredCosseratElasticityTensor
young = 8E3 # MPa
poisson = 0.25
layer_thickness = 1.0
joint_normal_stiffness = 1E9 # huge
joint_shear_stiffness = 1E3 # MPa
[../]
[./strain]
type = ComputeCosseratIncrementalSmallStrain
eigenstrain_names = ini_stress
[../]
[./ini_stress]
type = ComputeEigenstrainFromInitialStress
initial_stress = 'ini_xx 0 0 0 ini_xx 0 0 0 ini_zz'
eigenstrain_name = ini_stress
[../]
[./stress]
# this is needed so as to correctly apply the initial stress
type = ComputeMultipleInelasticCosseratStress
block = 0
inelastic_models = ''
relative_tolerance = 2.0
absolute_tolerance = 1E6
max_iterations = 1
tangent_operator = nonlinear
perform_finite_strain_rotations = false
[../]
[./dp]
type = CappedDruckerPragerCosseratStressUpdate
block = 0
warn_about_precision_loss = false
host_youngs_modulus = 8E3
host_poissons_ratio = 0.25
base_name = dp
DP_model = drucker_prager_model
tensile_strength = dp_tensile_str_strong_harden
compressive_strength = dp_compressive_str
max_NR_iterations = 100000
tip_smoother = 0.1E1
smoothing_tol = 0.1E1 # MPa # Must be linked to cohesion
yield_function_tol = 1E-11 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0
[../]
[./wp]
type = CappedWeakPlaneCosseratStressUpdate
block = 0
warn_about_precision_loss = false
base_name = wp
cohesion = wp_coh
tan_friction_angle = wp_tan_fric
tan_dilation_angle = wp_tan_dil
tensile_strength = wp_tensile_str
compressive_strength = wp_compressive_str
max_NR_iterations = 10000
tip_smoother = 0.1
smoothing_tol = 0.1 # MPa # Note, this must be tied to cohesion, otherwise get no possible return at cone apex
yield_function_tol = 1E-11 # MPa. this is essentially the lowest possible without lots of precision loss
perfect_guess = true
min_step_size = 1.0E-3
[../]
[./density]
type = GenericConstantMaterial
prop_names = density
prop_values = 2500
[../]
[]
[Postprocessors]
[./subs_max]
type = PointValue
point = '0 0 403.003'
variable = disp_z
use_displaced_mesh = false
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'Linear'
petsc_options = '-snes_converged_reason'
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
petsc_options_value = ' asm 2 lu gmres 200'
line_search = bt
nl_abs_tol = 1e-3
nl_rel_tol = 1e-5
l_max_its = 30
nl_max_its = 1000
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
file_base = cosserat_elastic
interval = 1
print_linear_residuals = false
exodus = true
csv = true
console = true
#[./console]
# type = Console
# output_linear = false
#[../]
[]
modules/combined/test/tests/inelastic_strain/elas_plas/elas_plas_nl1_cycle_sm.i
#
# Test for effective strain calculation.
# Boundary conditions from NAFEMS test NL1
#
# This is not a verification test. The boundary conditions are applied such
# that the first step generates only elastic stresses. The rest of the load
# steps generate cycles of tension and compression in the axial (i.e., y-axis)
# direction. The axial stresses and strains also cycle, however the effective
# plastic strain increases in value throughout the analysis.
#
[GlobalParams]
disp_x = disp_x
disp_y = disp_y
order = FIRST
family = LAGRANGE
volumetric_locking_correction = true
[]
[Mesh]#Comment
file = one_elem2.e
displacements = 'disp_x disp_y'
[] # Mesh
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[] # Variables
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[./pressure]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./eff_plastic_strain]
order = CONSTANT
family = MONOMIAL
[../]
[] # AuxVariables
[SolidMechanics]
[./solid]
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./vonmises]
type = MaterialTensorAux
tensor = stress
variable = vonmises
quantity = vonmises
execute_on = timestep_end
[../]
[./pressure]
type = MaterialTensorAux
tensor = stress
variable = pressure
quantity = hydrostatic
execute_on = timestep_end
[../]
[./elastic_strain_xx]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_xx
index = 0
[../]
[./elastic_strain_yy]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_yy
index = 1
[../]
[./elastic_strain_zz]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_zz
index = 2
[../]
[./plastic_strain_xx]
type = MaterialTensorAux
tensor = plastic_strain
variable = plastic_strain_xx
index = 0
[../]
[./plastic_strain_yy]
type = MaterialTensorAux
tensor = plastic_strain
variable = plastic_strain_yy
index = 1
[../]
[./plastic_strain_zz]
type = MaterialTensorAux
tensor = plastic_strain
variable = plastic_strain_zz
index = 2
[../]
[./tot_strain_xx]
type = MaterialTensorAux
tensor = total_strain
variable = tot_strain_xx
index = 0
[../]
[./tot_strain_yy]
type = MaterialTensorAux
tensor = total_strain
variable = tot_strain_yy
index = 1
[../]
[./tot_strain_zz]
type = MaterialTensorAux
tensor = total_strain
variable = tot_strain_zz
index = 2
[../]
[./eff_plastic_strain]
type = MaterialRealAux
property = effective_plastic_strain
variable = eff_plastic_strain
[../]
[] # AuxKernels
[Functions]
[./appl_dispy]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0'
y = '0.0 0.208e-4 0.50e-4 1.00e-4 0.784e-4 0.50e-4 0.0 0.216e-4 0.5e-4 1.0e-4 0.785e-4 0.50e-4 0.0'
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 101
value = 0.0
[../]
[./origin_x]
type = DirichletBC
variable = disp_x
boundary = 103
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 102
value = 0.0
[../]
[./origin_y]
type = DirichletBC
variable = disp_y
boundary = 103
value = 0.0
[../]
[./top_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1
function = appl_dispy
[../]
[] # BCs
[Materials]
[./stiffStuff1]
type = SolidModel
block = 1
youngs_modulus = 250e9
poissons_ratio = 0.25
constitutive_model = isoplas
formulation = NonlinearPlaneStrain
[../]
[./isoplas]
type = IsotropicPlasticity
block = 1
yield_stress = 5e6
hardening_constant = 0.0
relative_tolerance = 1e-20
absolute_tolerance = 1e-8
[../]
[] # Materials
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
l_tol = 1e-4
l_max_its = 100
nl_max_its = 20
dt = 1.0
start_time = 0.0
num_steps = 100
end_time = 12.0
[] # Executioner
[Postprocessors]
[./stress_xx]
type = ElementAverageValue
variable = stress_xx
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./stress_xy]
type = ElementAverageValue
variable = stress_xy
[../]
[./vonmises]
type = ElementAverageValue
variable = vonmises
[../]
[./pressure]
type = ElementAverageValue
variable = pressure
[../]
[./el_strain_xx]
type = ElementAverageValue
variable = elastic_strain_xx
[../]
[./el_strain_yy]
type = ElementAverageValue
variable = elastic_strain_yy
[../]
[./el_strain_zz]
type = ElementAverageValue
variable = elastic_strain_zz
[../]
[./pl_strain_xx]
type = ElementAverageValue
variable = plastic_strain_xx
[../]
[./pl_strain_yy]
type = ElementAverageValue
variable = plastic_strain_yy
[../]
[./pl_strain_zz]
type = ElementAverageValue
variable = plastic_strain_zz
[../]
[./eff_plastic_strain]
type = ElementAverageValue
variable = eff_plastic_strain
[../]
[./tot_strain_xx]
type = ElementAverageValue
variable = tot_strain_xx
[../]
[./tot_strain_yy]
type = ElementAverageValue
variable = tot_strain_yy
[../]
[./tot_strain_zz]
type = ElementAverageValue
variable = tot_strain_zz
[../]
[./disp_x1]
type = NodalVariableValue
nodeid = 0
variable = disp_x
[../]
[./disp_x4]
type = NodalVariableValue
nodeid = 3
variable = disp_x
[../]
[./disp_y1]
type = NodalVariableValue
nodeid = 0
variable = disp_y
[../]
[./disp_y4]
type = NodalVariableValue
nodeid = 3
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[]
[Outputs]
exodus = true
csv = true
file_base=elas_plas_nl1_cycle_out
[./console]
type = Console
output_linear = true
[../]
[] # Outputs
test/tests/postprocessors/nodal_var_value/screen_output_test.i
[Mesh]
file = square-2x2-nodeids.e
# This test can only be run with renumering disabled, so the
# NodalVariableValue postprocessor's node id is well-defined.
allow_renumbering = false
[]
[Variables]
active = 'u v'
[./u]
order = SECOND
family = LAGRANGE
[../]
[./v]
order = SECOND
family = LAGRANGE
[../]
[]
[Functions]
active = 'force_fn exact_fn left_bc'
[./force_fn]
type = ParsedFunction
value = '1-x*x+2*t'
[../]
[./exact_fn]
type = ParsedFunction
value = '(1-x*x)*t'
[../]
[./left_bc]
type = ParsedFunction
value = t
[../]
[]
[Kernels]
active = '
time_u diff_u ffn_u
time_v diff_v'
[./time_u]
type = TimeDerivative
variable = u
[../]
[./diff_u]
type = Diffusion
variable = u
[../]
[./ffn_u]
type = BodyForce
variable = u
function = force_fn
[../]
[./time_v]
type = TimeDerivative
variable = v
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[]
[BCs]
active = 'all_u left_v right_v'
[./all_u]
type = FunctionDirichletBC
variable = u
boundary = '1'
function = exact_fn
[../]
[./left_v]
type = FunctionDirichletBC
variable = v
boundary = '3'
function = left_bc
[../]
[./right_v]
type = DirichletBC
variable = v
boundary = '2'
value = 0
[../]
[]
[Postprocessors]
active = 'l2 node1 node4'
[./l2]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[./node1]
type = NodalVariableValue
variable = u
nodeid = 15
[../]
[./node4]
type = NodalVariableValue
variable = v
nodeid = 10
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
dt = 0.1
start_time = 0
end_time = 1
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[./console]
type = Console
max_rows = 2
[../]
[]
test/tests/transfers/multiapp_conservative_transfer/master_conservative_transfer.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[MultiApps]
[./sub]
type = FullSolveMultiApp
input_files = sub_conservative_transfer.i
execute_on = timestep_end
[../]
[]
[Postprocessors]
[./from_postprocessor]
type = ElementIntegralVariablePostprocessor
variable = u
execute_on = 'Nonlinear TIMESTEP_END'
[../]
[]
[Transfers]
[./to_sub]
type = MultiAppMeshFunctionTransfer
direction = to_multiapp
source_variable = u
variable = aux_u
multi_app = sub
from_postprocessors_to_be_preserved = 'from_postprocessor'
to_postprocessors_to_be_preserved = 'to_postprocessor'
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
execute_postprocessors_on = 'INITIAL nonlinear TIMESTEP_END'
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_template1.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick1_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x8]
type = NodalVariableValue
nodeid = 7
variable = disp_x
[../]
[./disp_x13]
type = NodalVariableValue
nodeid = 12
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y8]
type = NodalVariableValue
nodeid = 7
variable = disp_y
[../]
[./disp_y13]
type = NodalVariableValue
nodeid = 12
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_x8 disp_x13 disp_x16 disp_y5 disp_y8 disp_y13 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
test/tests/time_integrators/explicit-euler/ee-1d-quadratic-neumann.i
[GlobalParams]
implicit = false
[]
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 10
elem_type = EDGE3
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x*x-2*t+t*x*x
[../]
[./exact_fn]
type = ParsedFunction
value = t*x*x
[../]
[./left_bc_fn]
type = ParsedFunction
value = -t*2*x
[../]
[./right_bc_fn]
type = ParsedFunction
value = t*2*x
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./abs]
type = Reaction
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./left]
type = FunctionNeumannBC
variable = u
boundary = '0'
function = left_bc_fn
[../]
[./right]
type = FunctionNeumannBC
variable = u
boundary = '1'
function = right_bc_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
scheme = 'explicit-euler'
solve_type = 'LINEAR'
l_tol = 1e-12
start_time = 0.0
num_steps = 10
dt = 0.001
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_1/plane1_mu_0_2_pen_sm.i
[Mesh]
file = plane1_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_x = diag_saved_x
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = LinearIsotropicMaterial
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = LinearIsotropicMaterial
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = plane1_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = plane1_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/frictional_contact/sliding_elastic_blocks_2d/sliding_elastic_blocks_2d_tp.i
[Mesh]
file = sliding_elastic_blocks_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
save_in = 'saved_x saved_y'
diag_save_in = 'diag_saved_x diag_saved_y'
[../]
[]
[AuxKernels]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip]
type = PenetrationAux
variable = accum_slip
execute_on = timestep_end
quantity = accumulated_slip
boundary = 3
paired_boundary = 2
[../]
[./tangential_force_x]
type = PenetrationAux
variable = tang_force_x
execute_on = timestep_end
quantity = tangential_force_x
boundary = 3
paired_boundary = 2
[../]
[./tangential_force_y]
type = PenetrationAux
variable = tang_force_y
execute_on = timestep_end
quantity = tangential_force_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.005
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1.0e7
poissons_ratio = 0.3
[../]
[./right]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1.0e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.05
num_steps = 1000
nl_rel_tol = 1e-16
nl_abs_tol = 1e-09
dtmin = 0.01
l_tol = 1e-3
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
system = constraint
formulation = tangential_penalty
friction_coefficient = '0.25'
penalty = 1e6
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
slave = 3
master = 2
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_2/ring2_template2.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = ring2_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/phase_field/examples/grain_growth/grain_growth_2D_voronoi_newadapt.i
# This simulation predicts GB migration of a 2D copper polycrystal with 15 grains
# Mesh adaptivity (new system) and time step adaptivity are used
# An AuxVariable is used to calculate the grain boundary locations
# Postprocessors are used to record time step and the number of grains
# We are not using the GrainTracker in this example so the number
# of order paramaters must match the number of grains.
[Mesh]
# Mesh block. Meshes can be read in or automatically generated
type = GeneratedMesh
dim = 2 # Problem dimension
nx = 12 # Number of elements in the x-direction
ny = 12 # Number of elements in the y-direction
nz = 0 # Number of elements in the z-direction
xmin = 0 # minimum x-coordinate of the mesh
xmax = 1000 # maximum x-coordinate of the mesh
ymin = 0 # minimum y-coordinate of the mesh
ymax = 1000 # maximum y-coordinate of the mesh
zmin = 0
zmax = 0
elem_type = QUAD4 # Type of elements used in the mesh
uniform_refine = 3 # Initial uniform refinement of the mesh
parallel_type = replicated # Periodic BCs
[]
[GlobalParams]
# Parameters used by several kernels that are defined globally to simplify input file
op_num = 15 # Number of grains
var_name_base = gr # Base name of grains
[]
[UserObjects]
[./voronoi]
type = PolycrystalVoronoi
grain_num = 15
rand_seed = 42
coloring_algorithm = bt # We must use bt to force the UserObject to assign one grain to each op
[../]
[]
[ICs]
[./PolycrystalICs]
[./PolycrystalColoringIC]
polycrystal_ic_uo = voronoi
[../]
[../]
[]
[Variables]
# Variable block, where all variables in the simulation are declared
[./PolycrystalVariables]
# Custom action that created all of the grain variables and sets their initial condition
[../]
[]
[AuxVariables]
# Dependent variables
[./bnds]
# Variable used to visualize the grain boundaries in the simulation
[../]
[]
[Kernels]
# Kernel block, where the kernels defining the residual equations are set up.
[./PolycrystalKernel]
# Custom action creating all necessary kernels for grain growth. All input parameters are up in GlobalParams
[../]
[]
[AuxKernels]
# AuxKernel block, defining the equations used to calculate the auxvars
[./bnds_aux]
# AuxKernel that calculates the GB term
type = BndsCalcAux
variable = bnds
execute_on = timestep_end
[../]
[]
[BCs]
# Boundary Condition block
[./Periodic]
[./top_bottom]
auto_direction = 'x y' # Makes problem periodic in the x and y directions
[../]
[../]
[]
[Materials]
[./CuGrGr]
# Material properties
type = GBEvolution # Quantitative material properties for copper grain growth. Dimensions are nm and ns
GBmob0 = 2.5e-6 # Mobility prefactor for Cu from Schonfelder1997
GBenergy = 0.708 # GB energy for Cu from Schonfelder1997
Q = 0.23 # Activation energy for grain growth from Schonfelder 1997
T = 450 # Constant temperature of the simulation (for mobility calculation)
wGB = 14 # Width of the diffuse GB
[../]
[]
[Postprocessors]
# Scalar postprocessors
[./dt]
# Outputs the current time step
type = TimestepSize
[../]
[]
[Executioner]
type = Transient # Type of executioner, here it is transient with an adaptive time step
scheme = bdf2 # Type of time integration (2nd order backward euler), defaults to 1st order backward euler
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart -mat_mffd_type'
petsc_options_value = 'hypre boomeramg 101 ds'
l_max_its = 30 # Max number of linear iterations
l_tol = 1e-4 # Relative tolerance for linear solves
nl_max_its = 40 # Max number of nonlinear iterations
nl_abs_tol = 1e-11 # Relative tolerance for nonlienar solves
nl_rel_tol = 1e-10 # Absolute tolerance for nonlienar solves
[./TimeStepper]
type = SolutionTimeAdaptiveDT
dt = 25 # Initial time step. In this simulation it changes.
[../]
start_time = 0.0
end_time = 4000
num_steps = 3
[]
[Adaptivity]
marker = errorfrac
max_h_level = 4
[./Indicators]
[./error]
type = GradientJumpIndicator
variable = bnds
[../]
[../]
[./Markers]
[./bound_adapt]
type = ValueThresholdMarker
third_state = DO_NOTHING
coarsen = 1.0
refine = 0.99
variable = bnds
invert = true
[../]
[./errorfrac]
type = ErrorFractionMarker
coarsen = 0.1
indicator = error
refine = 0.7
[../]
[../]
[]
[Outputs]
exodus = true
csv = true
[./console]
type = Console
max_rows = 20
[../]
[]
test/tests/postprocessors/pps_interval/pps_out_interval.i
[Mesh]
file = square-2x2-nodeids.e
# This test can only be run with renumering disabled, so the
# NodalVariableValue postprocessor's node id is well-defined.
allow_renumbering = false
[]
[Variables]
active = 'u v'
[./u]
order = SECOND
family = LAGRANGE
[../]
[./v]
order = SECOND
family = LAGRANGE
[../]
[]
[Functions]
active = 'force_fn exact_fn left_bc'
[./force_fn]
type = ParsedFunction
value = '1-x*x+2*t'
[../]
[./exact_fn]
type = ParsedFunction
value = '(1-x*x)*t'
[../]
[./left_bc]
type = ParsedFunction
value = t
[../]
[]
[Kernels]
active = '
time_u diff_u ffn_u
time_v diff_v'
[./time_u]
type = TimeDerivative
variable = u
[../]
[./diff_u]
type = Diffusion
variable = u
[../]
[./ffn_u]
type = BodyForce
variable = u
function = force_fn
[../]
[./time_v]
type = TimeDerivative
variable = v
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[]
[BCs]
active = 'all_u left_v right_v'
[./all_u]
type = FunctionDirichletBC
variable = u
boundary = '1'
function = exact_fn
[../]
[./left_v]
type = FunctionDirichletBC
variable = v
boundary = '3'
function = left_bc
[../]
[./right_v]
type = DirichletBC
variable = v
boundary = '2'
value = 0
[../]
[]
[Postprocessors]
active = 'l2 node1 node4'
[./l2]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[./node1]
type = NodalVariableValue
variable = u
nodeid = 15
[../]
[./node4]
type = NodalVariableValue
variable = v
nodeid = 10
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
dt = 0.1
start_time = 0
end_time = 1
[]
[Outputs]
file_base = pps_out_interval
interval = 2
exodus = true
[./console]
type = Console
interval = 1
[../]
[]
modules/xfem/test/tests/moving_interface/moving_bimaterial.i
# This test is for two layer materials with different youngs modulus
# The global stress is determined by switching the stress based on level set values
# The material interface is marked by a level set function
# The two layer materials are glued together
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
heal_always = true
[../]
[]
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
xmin = 0.0
xmax = 5.
ymin = 0.0
ymax = 5.
elem_type = QUAD4
[]
[./left_bottom]
type = ExtraNodesetGenerator
new_boundary = 'left_bottom'
coord = '0.0 0.0'
input = generated_mesh
[../]
[./left_top]
type = ExtraNodesetGenerator
new_boundary = 'left_top'
coord = '0.0 5.'
input = left_bottom
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Functions]
[./ls_func]
type = ParsedFunction
value = 'y-2.5 + t'
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./a_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./a_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./a_strain_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./b_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./b_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./b_strain_xy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
index_i = 0
index_j = 0
variable = stress_xx
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
index_i = 1
index_j = 1
variable = stress_yy
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
index_i = 0
index_j = 1
variable = stress_xy
[../]
[./a_strain_xx]
type = RankTwoAux
rank_two_tensor = A_total_strain
index_i = 0
index_j = 0
variable = a_strain_xx
[../]
[./a_strain_yy]
type = RankTwoAux
rank_two_tensor = A_total_strain
index_i = 1
index_j = 1
variable = a_strain_yy
[../]
[./a_strain_xy]
type = RankTwoAux
rank_two_tensor = A_total_strain
index_i = 0
index_j = 1
variable = a_strain_xy
[../]
[./b_strain_xx]
type = RankTwoAux
rank_two_tensor = B_total_strain
index_i = 0
index_j = 0
variable = b_strain_xx
[../]
[./b_strain_yy]
type = RankTwoAux
rank_two_tensor = B_total_strain
index_i = 1
index_j = 1
variable = b_strain_yy
[../]
[./b_strain_xy]
type = RankTwoAux
rank_two_tensor = B_total_strain
index_i = 0
index_j = 1
variable = b_strain_xy
[../]
[]
[Constraints]
[./dispx_constraint]
type = XFEMSingleVariableConstraint
use_displaced_mesh = false
variable = disp_x
alpha = 1e8
geometric_cut_userobject = 'level_set_cut_uo'
[../]
[./dispy_constraint]
type = XFEMSingleVariableConstraint
use_displaced_mesh = false
variable = disp_y
alpha = 1e8
geometric_cut_userobject = 'level_set_cut_uo'
[../]
[]
[BCs]
[./bottomx]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottomy]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
boundary = top
variable = disp_x
function = 0.03*t
[../]
[./topy]
type = FunctionDirichletBC
boundary = top
variable = disp_y
function = '0.03*t'
[../]
[]
[Materials]
[./elasticity_tensor_A]
type = ComputeIsotropicElasticityTensor
base_name = A
youngs_modulus = 1e9
poissons_ratio = 0.3
[../]
[./strain_A]
type = ComputeSmallStrain
base_name = A
[../]
[./stress_A]
type = ComputeLinearElasticStress
base_name = A
[../]
[./elasticity_tensor_B]
type = ComputeIsotropicElasticityTensor
base_name = B
youngs_modulus = 1e7
poissons_ratio = 0.3
[../]
[./strain_B]
type = ComputeSmallStrain
base_name = B
[../]
[./stress_B]
type = ComputeLinearElasticStress
base_name = B
[../]
[./combined_stress]
type = LevelSetBiMaterialRankTwo
levelset_positive_base = 'A'
levelset_negative_base = 'B'
level_set_var = ls
prop_name = stress
[../]
[./combined_dstressdstrain]
type = LevelSetBiMaterialRankFour
levelset_positive_base = 'A'
levelset_negative_base = 'B'
level_set_var = ls
prop_name = Jacobian_mult
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'bt'
# controls for linear iterations
l_max_its = 20
l_tol = 1e-3
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-12
nl_abs_tol = 1e-12
# time control
start_time = 0.0
dt = 0.1
num_steps = 2
max_xfem_update = 1
[]
[Outputs]
exodus = true
execute_on = timestep_end
csv = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_4/plane4_template2_sm.i
[Mesh]
file = plane4_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 200
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = LinearIsotropicMaterial
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = LinearIsotropicMaterial
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_2/plane2_template1_sm.i
[Mesh]
file = plane2_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_x = diag_saved_x
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = LinearIsotropicMaterial
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = LinearIsotropicMaterial
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-8
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/phase_field/examples/grain_growth/3D_6000_gr.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 180
ny = 180
nz = 180
xmin = 0
xmax = 180
ymin = 0
ymax = 180
zmin = 0
zmax = 180
elem_type = HEX8
[]
[GlobalParams]
op_num = 28
var_name_base = gr
[]
[Variables]
[./PolycrystalVariables]
order = FIRST
family = LAGRANGE
[../]
[]
[UserObjects]
[./voronoi]
type = PolycrystalVoronoi
grain_num = 6000 # Number of grains
rand_seed = 8675 # 301
coloring_algorithm = jp
[../]
[./term]
type = Terminator
expression = 'grain_tracker < 218'
[../]
[]
[ICs]
[./PolycrystalICs]
[./PolycrystalColoringIC]
polycrystal_ic_uo = voronoi
[../]
[../]
[]
[AuxVariables]
[./bnds]
order = FIRST
family = LAGRANGE
[../]
[./unique_grains]
order = CONSTANT
family = MONOMIAL
[../]
[./ghost_elements]
order = CONSTANT
family = MONOMIAL
[../]
[./halos]
order = CONSTANT
family = MONOMIAL
[../]
[./var_indices]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./PolycrystalKernel]
[../]
[]
[AuxKernels]
[./BndsCalc]
type = BndsCalcAux
variable = bnds
execute_on = 'initial timestep_end'
[../]
[./unique_grains]
type = FeatureFloodCountAux
variable = unique_grains
field_display = UNIQUE_REGION
execute_on = 'initial timestep_end'
flood_counter = grain_tracker
[../]
[./ghost_elements]
type = FeatureFloodCountAux
variable = ghost_elements
field_display = GHOSTED_ENTITIES
execute_on = 'initial timestep_end'
flood_counter = grain_tracker
[../]
[./halos]
type = FeatureFloodCountAux
variable = halos
field_display = HALOS
execute_on = 'initial timestep_end'
flood_counter = grain_tracker
[../]
[./var_indices]
type = FeatureFloodCountAux
variable = var_indices
field_display = VARIABLE_COLORING
execute_on = 'initial timestep_end'
flood_counter = grain_tracker
[../]
[]
#[BCs]
# [./Periodic]
# [./All]
# auto_direction = 'x y'
# [../]
# [../]
#[]
[Materials]
[./Copper]
type = GBEvolution
T = 500
wGB = 3 # um
GBmob0 = 2.5e-6 #m^4/(Js) from Schoenfelder 1997
Q = 0.23 #Migration energy in eV
GBenergy = 0.708 #GB energy in J/m^2
molar_volume = 7.11e-6 #Molar volume in m^3/mol
length_scale = 1.0e-6
time_scale = 1.0
[../]
[]
[Postprocessors]
[./dt]
type = TimestepSize
[../]
[./n_elements]
type = NumElems
execute_on = timestep_end
[../]
[./n_nodes]
type = NumNodes
execute_on = timestep_end
[../]
[./DOFs]
type = NumDOFs
[../]
[./grain_tracker]
type = GrainTracker
threshold = 0.1
compute_halo_maps = true
[../]
[]
#[Preconditioning]
# [./SMP]
# type = SMP
# full = true
# [../]
#[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = PJFNK #Preconditioned JFNK (default)
petsc_options_iname = '-pc_type'
petsc_options_value = 'asm'
l_tol = 1.0e-4
l_max_its = 30
nl_max_its = 20
nl_rel_tol = 1.0e-8
start_time = 0.0
num_steps = 500
dt = 0.0002
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.9
dt = 0.0002
growth_factor = 1.1
optimal_iterations = 8
[../]
#[./Adaptivity]
# initial_adaptivity = 4
# refine_fraction = 0.6
# coarsen_fraction = 0.1
# max_h_level = 4
# print_changed_info = true
#[../]
[]
[Outputs]
nemesis = true
checkpoint = true
csv = true
[./console]
type = Console
[../]
[]
modules/combined/test/tests/sliding_block/sliding/constraint/frictionless_aug.i
# This is a benchmark test that checks constraint based frictionless
# contact using the augmented lagrangian method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./saved_x]
[../]
[./saved_y]
[../]
[./contact_traction]
[../]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 100
dt = 0.1
end_time = 15
num_steps = 200
l_tol = 1e-6
nl_rel_tol = 1e-7
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Problem]
type = AugmentedLagrangianContactProblem
solution_variables = 'disp_x disp_y'
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 25
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
normalize_penalty = true
formulation = augmented_lagrange
tangential_tolerance = 1e-3
system = constraint
normal_smoothing_distance = 0.1
al_penetration_tolerance = 1e-9
[../]
[]
modules/xfem/test/tests/pressure_bc/sm/inclined_edge_2d_pressure.i
[GlobalParams]
order = FIRST
family = LAGRANGE
volumetric_locking_correction = False
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 9
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
displacements = 'disp_x disp_y'
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.0 0.33 0.5 0.67'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx] # stress aux variables are defined for output; this is a way to get integration point variables to the output file
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_xx] # computes stress components for output
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
execute_on = timestep_end # for efficiency, only compute at the end of a timestep
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
execute_on = timestep_end
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
use_displaced_mesh = false
[../]
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0 1.0 2.0'
y = '0 500 1000'
[../]
[]
[BCs]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./top_y]
type = DirichletBC
boundary = 2
variable = disp_y
value = 0.0
[../]
[./bottom_x]
type = DirichletBC
boundary = 0
variable = disp_x
value = 0.0
[../]
[]
[DiracKernels]
[./pressure_x]
type = XFEMPressure
variable = disp_x
component = 0
function = pressure
[../]
[./pressure_y]
type = XFEMPressure
variable = disp_y
component = 1
function = pressure
[../]
[]
[Materials]
[./linelast]
type = LinearIsotropicMaterial
block = 0
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
# time control
start_time = 0.0
dt = 1
end_time = 2
[]
[Outputs]
file_base = inclined_edge_2d_pressure_out
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/second_order_elements/diffusion_3d_tet10.i
[GlobalParams]
order = SECOND
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 3
ny = 5
nz = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.2
elem_type = TET10
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./square_planar_cut_uo]
type = RectangleCutUserObject
cut_data = ' 0.35 1.01 -0.001
0.35 0.49 -0.001
0.35 0.49 0.201
0.35 1.01 0.201'
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '0 0.1'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = FunctionDirichletBC
variable = u
boundary = left
function = u_left
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = right
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/moment_fitting/solid_mechanics_moment_fitting.i
# Test for a mechanics problem which uses four points moment_fitting approach.
# See this paper (https://doi.org/10.1007/s00466-018-1544-2) for more details about moment_fitting approach.
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
volumetric_locking_correction = true
[]
[XFEM]
qrule = moment_fitting
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[UserObjects]
[./line_seg_cut_uo0]
type = LineSegmentCutUserObject
cut_data = '0.0000e+00 6.3330e-01 3.9000e-01 6.3330e-01'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[./line_seg_cut_uo1]
type = LineSegmentCutUserObject
cut_data = '3.9000e-01 6.3330e-01 6.8000e-01 6.3330e-01'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
[../]
[]
[Functions]
[./right_trac_x]
type = ParsedFunction
value = '-(t*M*y)/I'
vars = 'M E I'
vals = '2e4 1e6 0.666666667'
[../]
[./bottom_disp_y]
type = ParsedFunction
value = '((t*M)/(2*E*I))*(1-nu*nu)*(x*x-0.25*l*l)'
vars = 'M E I l nu'
vals = '2e4 1e6 0.666666667 2.0 0.3'
[../]
[./soln_x]
type = ParsedFunction
value = '-(M/(E*I))*(1-nu*nu)*x*y'
vars = 'M E I nu'
vals = '2e4 1e6 0.666666667 0.3'
[../]
[./soln_y]
type = ParsedFunction
value = '(M/(2*E*I))*(1-nu*nu)*(x*x-0.25*l*l+(nu/(1-nu))*y*y)'
vars = 'M E I l nu'
vals = '2e4 1e6 0.666666667 2.0 0.3'
[../]
[]
[BCs]
[./right_x]
type = FunctionNeumannBC
boundary = 1
variable = disp_x
function = right_trac_x
[../]
[./bottom_y]
type = FunctionDirichletBC
boundary = 0
variable = disp_y
function = bottom_disp_y
[../]
[./left_x]
type = DirichletBC
boundary = 3
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
# [./Quadrature]
# order = FOURTH
# type = MONOMIAL
# [../]
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 0.5
end_time = 1.0
num_steps = 5000
[]
[Postprocessors]
[./numel]
type = NumElems
execute_on = timestep_end
[../]
[./integral]
type = ElementVectorL2Error
var_x = disp_x
var_y = disp_y
function_x = soln_x
function_y = soln_y
execute_on = timestep_end
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/moving_interface/verification/1D_rz_lsdep1mat.i
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
# XFEM Moving Interface Verification Problem
# Dimensionality: quasi-1D
# Coordinate System: rz
# Material Numbers/Types: level set dep 1 material, 2 region
# Element Order: 1st
# Interface Characteristics: u independent, prescribed level set function
# Description:
# A simple transient heat transfer problem in cylindrical coordinates designed
# with the Method of Manufactured Solutions. This problem was developed to
# verify XFEM performance in the presence of a moving interface for linear
# element models that can be exactly evaluated by FEM/Moose. Both the
# temperature solution and level set function are designed to be linear to
# attempt to minimize error between the Moose/exact solution and XFEM results.
# Thermal conductivity is dependent upon the value of the level set function
# at each timestep.
# Results:
# The temperature at the left boundary (x=1) exhibits the largest difference
# between the FEM/Moose solution and XFEM results. We present the XFEM
# results at this location with 10 digits of precision:
# Time Expected Temperature XFEM Calculated Temperature
# 0.2 440 440
# 0.4 480 480.0008131
# 0.6 520 520.0038333
# 0.8 560 560.0088286
# 1.0 600 600.0131612
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Problem]
coord_type = RZ
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 1
xmin = 1.0
xmax = 2.0
ymin = 0.0
ymax = 0.5
elem_type = QUAD4
[]
[XFEM]
qrule = moment_fitting
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
heal_always = true
[../]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./heat_cond]
type = MatDiffusion
variable = u
diffusivity = diffusion_coefficient
[../]
[./vol_heat_src]
type = BodyForce
variable = u
function = src_func
[../]
[./mat_time_deriv]
type = TestMatTimeDerivative
variable = u
mat_prop_value = rhoCp
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
geometric_cut_userobject = 'level_set_cut_uo'
use_penalty = true
alpha = 1e5
[../]
[]
[Functions]
[./src_func]
type = ParsedFunction
value = '10*(-200*x+400) + (1/x)*(310*t - (10/1.02)*x*t - (1/1.02)*t^2)'
[../]
[./neumann_func]
type = ParsedFunction
value = '((0.05/2.04)*(2.04-x-0.2*t) + 1.5)*200*t'
[../]
[./k_func]
type = ParsedFunction
value = '(0.05/2.04)*(2.04-x-0.2*t) + 1.5'
[../]
[./ls_func]
type = ParsedFunction
value = '2.04 - x -0.2*t'
[../]
[]
[Materials]
[./mat_time_deriv_prop]
type = GenericConstantMaterial
prop_names = 'rhoCp'
prop_values = 10
[../]
[./therm_cond_prop]
type = GenericFunctionMaterial
prop_names = 'diffusion_coefficient'
prop_values = 'k_func'
[../]
[]
[BCs]
[./left_u]
type = FunctionNeumannBC
variable = u
boundary = 'left'
function = neumann_func
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 'right'
value = 400
[../]
[]
[ICs]
[./u_ic]
type = ConstantIC
value = 400
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
line_search = 'none'
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-10
nl_abs_tol = 1.0e-9
start_time = 0.0
dt = 0.2
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
interval = 1
execute_on = 'initial timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/axisymmetric_2d3d_solution_function/2d_sm.i
[GlobalParams]
order = FIRST
family = LAGRANGE
disp_x = disp_x
disp_y = disp_y
displacements = 'disp_x disp_y'
[]
[Problem]
coord_type = RZ
[]
[Mesh]
file = 2d.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./temp]
initial_condition = 400
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises_stress]
order = CONSTANT
family = MONOMIAL
[../]
[./hoop_stress]
order = CONSTANT
family = MONOMIAL
[../]
[./hydrostatic_stress]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Functions]
[./temp_inner_func]
type = PiecewiseLinear
xy_data = '0 400
1 350'
[../]
[./temp_outer_func]
type = PiecewiseLinear
xy_data = '0 400
1 400'
[../]
[./press_func]
type = PiecewiseLinear
xy_data = '0 15
1 15'
[../]
[]
[Kernels]
[./heat]
type = HeatConduction
variable = temp
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
temp = temp
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./vonmises_stress]
type = MaterialTensorAux
tensor = stress
variable = vonmises_stress
quantity = vonmises
[../]
[./hoop_stress]
type = MaterialTensorAux
tensor = stress
variable = hoop_stress
quantity = hoop
execute_on = timestep_end
[../]
[./hydrostatic_stress]
type = MaterialTensorAux
tensor = stress
variable = hydrostatic_stress
quantity = hydrostatic
execute_on = timestep_end
[../]
[]
[BCs]
[./no_y]
type = DirichletBC
variable = disp_y
boundary = '1'
value = 0.0
[../]
[./Pressure]
[./internal_pressure]
boundary = '4'
factor = 1.e6
function = press_func
[../]
[../]
[./t_in]
type = FunctionDirichletBC
variable = temp
boundary = '4'
function = temp_inner_func
[../]
[./t_out]
type = FunctionDirichletBC
variable = temp
boundary = '2'
function = temp_outer_func
[../]
[]
[Constraints]
[./disp_y]
type = EqualValueBoundaryConstraint
variable = disp_y
master = '65'
slave = '3'
penalty = 1e18
[../]
[]
[Materials]
[./thermal1]
type = HeatConductionMaterial
block = '1'
thermal_conductivity = 25.0
specific_heat = 490.0
temp = temp
[../]
[./solid_mechanics1]
type = Elastic
block = '1'
disp_r = disp_x
disp_z = disp_y
temp = temp
youngs_modulus = 193.05e9
poissons_ratio = 0.3
thermal_expansion = 13e-6
stress_free_temperature = 295.00
formulation = NonlinearRZ
[../]
[./density]
type = Density
block = '1'
density = 8000.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-ksp_snes_ew'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = ' 201 hypre boomeramg 4'
line_search = 'none'
l_max_its = 25
nl_max_its = 20
nl_rel_tol = 1e-9
l_tol = 1e-2
start_time = 0.0
dt = 1
end_time = 1
dtmin = 1
[]
[Outputs]
file_base = 2d_out
exodus = true
[./console]
type = Console
max_rows = 25
[../]
[]
test/tests/time_integrators/explicit-euler/ee-2d-quadratic.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 10
ny = 10
elem_type = QUAD9
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = ((x*x)+(y*y))-(4*t)
[../]
[./exact_fn]
type = ParsedFunction
value = t*((x*x)+(y*y))
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[BCs]
active = 'all'
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = exact_fn
implicit = true
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
scheme = 'explicit-euler'
solve_type = 'LINEAR'
l_tol = 1e-13
start_time = 0.0
num_steps = 20
dt = 0.00005
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/xfem/test/tests/moving_interface/moving_diffusion.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
heal_always = true
[../]
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 3
xmin = 0.0
xmax = 1
ymin = 0.0
ymax = 1
elem_type = QUAD4
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./ls_func]
type = ParsedFunction
value = 'x-0.76+0.21*t'
[../]
[]
[Kernels]
[./diff]
type = MatDiffusion
variable = u
diffusivity = diffusion_coefficient
[../]
[./time_deriv]
type = TimeDerivative
variable = u
[../]
[]
[Constraints]
[./u_constraint]
type = XFEMSingleVariableConstraint
use_displaced_mesh = false
variable = u
jump = 0
use_penalty = true
alpha = 1e5
geometric_cut_userobject = 'level_set_cut_uo'
[../]
[]
[BCs]
[./right_u]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./left_u]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Materials]
[./diffusivity_A]
type = GenericConstantMaterial
prop_names = A_diffusion_coefficient
prop_values = 5
[../]
[./diffusivity_B]
type = GenericConstantMaterial
prop_names = B_diffusion_coefficient
prop_values = 0.5
[../]
[./diff_combined]
type = LevelSetBiMaterialReal
levelset_positive_base = 'A'
levelset_negative_base = 'B'
level_set_var = ls
prop_name = diffusion_coefficient
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
l_max_its = 20
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-6
nl_abs_tol = 1e-5
start_time = 0.0
dt = 1
end_time = 2
max_xfem_update = 1
[]
[Outputs]
exodus = true
execute_on = timestep_end
csv = true
perf_graph = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/porous_flow/test/tests/sinks/s06.i
# apply a half-cubic sink flux and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1.1
[../]
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = x*(y+1)
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[]
[Functions]
[./mass10]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)*if(pp>=0,1,pow(1+pow(-al*pp,1.0/(1-m)),-m))'
vars = 'vol por dens0 pp bulk al m'
vals = '0.25 0.1 1.1 p10 1.3 1.1 0.5'
[../]
[./rate10]
type = ParsedFunction
value = 'fcn*if(pp>center,m,if(pp<themin,0,m/c/c/c*(2*(pp-center)+c)*((pp-center)-c)*((pp-center)-c)))'
vars = 'm fcn pp center sd themin c'
vals = '2 3 p10 0.9 0.5 0.1 -0.8'
[../]
[./mass10_expect]
type = ParsedFunction
value = 'mass_prev-rate*area*dt'
vars = 'mass_prev rate area dt'
vals = 'm10_prev m10_rate 0.5 2E-3'
[../]
[./mass11]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)*if(pp>=0,1,pow(1+pow(-al*pp,1.0/(1-m)),-m))'
vars = 'vol por dens0 pp bulk al m'
vals = '0.25 0.1 1.1 p11 1.3 1.1 0.5'
[../]
[./rate11]
type = ParsedFunction
value = 'fcn*if(pp>center,m,if(pp<themin,0,m/c/c/c*(2*(pp-center)+c)*((pp-center)-c)*((pp-center)-c)))'
vars = 'm fcn pp center sd themin c'
vals = '2 3 p11 0.9 0.5 0.1 -0.8'
[../]
[./mass11_expect]
type = ParsedFunction
value = 'mass_prev-rate*area*dt'
vars = 'mass_prev rate area dt'
vals = 'm11_prev m11_rate 0.5 2E-3'
[../]
[]
[Postprocessors]
[./flux00]
type = PointValue
variable = flux_out
point = '0 0 0'
[../]
[./flux01]
type = PointValue
variable = flux_out
point = '0 1 0'
[../]
[./flux10]
type = PointValue
variable = flux_out
point = '1 0 0'
[../]
[./flux11]
type = PointValue
variable = flux_out
point = '1 1 0'
[../]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p10]
type = PointValue
point = '1 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m10]
type = FunctionValuePostprocessor
function = mass10
execute_on = 'initial timestep_end'
[../]
[./m10_prev]
type = FunctionValuePostprocessor
function = mass10
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./m10_rate]
type = FunctionValuePostprocessor
function = rate10
execute_on = 'timestep_end'
[../]
[./m10_expect]
type = FunctionValuePostprocessor
function = mass10_expect
execute_on = 'timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m11]
type = FunctionValuePostprocessor
function = mass11
execute_on = 'initial timestep_end'
[../]
[./m11_prev]
type = FunctionValuePostprocessor
function = mass11
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./m11_rate]
type = FunctionValuePostprocessor
function = rate11
execute_on = 'timestep_end'
[../]
[./m11_expect]
type = FunctionValuePostprocessor
function = mass11_expect
execute_on = 'timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowHalfCubicSink
boundary = 'left right'
max = 2
cutoff = -0.8
center = 0.9
variable = pp
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 3
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 2E-3
end_time = 6E-2
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s06
[./console]
type = Console
execute_on = 'nonlinear linear'
interval = 5
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
interval = 3
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_template1_sm.i
[Mesh]
file = brick2_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_x26]
type = NodalVariableValue
nodeid = 25
variable = disp_x
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./disp_y26]
type = NodalVariableValue
nodeid = 25
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x7 disp_y7 disp_x26 disp_y26 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/sliding_block/sliding/constraint/frictionless_penalty.i
# This is a benchmark test that checks constraint based frictionless
# contact using the penalty method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./left_stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/single_pnt_2d/single_point_2d_frictional.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = single_point_2d.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./appl_disp]
type = PiecewiseLinear
x = '0 0.001 0.101'
y = '0 0.0 -0.10'
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./incslip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./incslip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./botx]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./boty]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = appl_disp
[../]
[./topy]
type = DirichletBC
variable = disp_y
boundary = 4
value = -0.002001
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e9
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputePlaneFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputePlaneFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./disp_x]
type = NodalVariableValue
nodeid = 5
variable = disp_x
[../]
[./disp_y]
type = NodalVariableValue
nodeid = 5
variable = disp_y
[../]
[./inc_slip_x]
type = NodalVariableValue
nodeid = 5
variable = inc_slip_x
[../]
[./inc_slip_y]
type = NodalVariableValue
nodeid = 5
variable = inc_slip_y
[../]
[./accum_slip_x]
type = NodalVariableValue
nodeid = 5
variable = accum_slip_x
[../]
[./accum_slip_y]
type = NodalVariableValue
nodeid = 5
variable = accum_slip_y
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 200
dt = 0.001
end_time = 0.001
num_steps = 10000
nl_rel_tol = 1e-6
nl_abs_tol = 1e-8
dtmin = 0.001
l_tol = 1e-3
[]
[Outputs]
file_base = single_point_2d_out_frictional_0_2_kin
exodus = true
print_linear_residuals = true
perf_graph = true
csv = true
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = coulomb
system = constraint
formulation = kinematic
penalty = 1e12
normalize_penalty = true
friction_coefficient = '0.2'
tangential_tolerance = 1e-3
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
master = '2'
slave = '3'
[../]
[]
test/tests/outputs/postprocessor/show_hide.i
# Having 2 postprocessors, putting one into hide list and the other one into show list
# We should only see the PPS that is in the show list in the output.
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 10
ny = 10
elem_type = QUAD4
# This test uses ElementalVariableValue postprocessors on specific
# elements, so element numbering needs to stay unchanged
allow_renumbering = false
[]
[Functions]
[./bc_fn]
type = ParsedFunction
value = x
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./all_u]
type = FunctionDirichletBC
variable = u
boundary = '1 3'
function = bc_fn
[../]
[]
[Postprocessors]
[./elem_56]
type = ElementalVariableValue
variable = u
elementid = 56
[../]
[./elem_12]
type = ElementalVariableValue
variable = u
elementid = 12
[../]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
[]
[Outputs]
[./console]
type = Console
show = 'elem_56'
hide = 'elem_12'
[../]
[./out]
type = CSV
show = 'elem_56'
hide = 'elem_12'
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_3/cyl3_template2.i
#
# This input file is a template for both the frictionless and glued test
# variations for the current problem geometry. In order to create an input
# file to run outside the runtest framework, look at the tests file and add the
# appropriate input file lines from the cli_args line.
#
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = cyl3_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
tangential_tolerance = 1e-3
penalty = 1e+11
al_penetration_tolerance = 1e-8
[../]
[]
modules/tensor_mechanics/test/tests/material_limit_time_step/creep/nafems_test5a_lim.i
[GlobalParams]
temperature = temp
order = FIRST
family = LAGRANGE
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = plane1_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
group_variables = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./temp]
initial_condition = 1500.0
[../]
[./creep]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[./pressure]
order = CONSTANT
family = MONOMIAL
[../]
[./invariant3]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./creep_aux]
type = MaterialRealAux
property = effective_creep_strain
variable = creep
[../]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
[../]
[./vonmises]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = vonmises
scalar_type = VonMisesStress
[../]
[./pressure]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = pressure
scalar_type = Hydrostatic
[../]
[./invariant3]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = invariant3
scalar_type = ThirdInvariant
[../]
[./creep_strain_xx]
type = RankTwoAux
rank_two_tensor = creep_strain
variable = creep_strain_xx
index_i = 0
index_j = 0
[../]
[./creep_strain_yy]
type = RankTwoAux
rank_two_tensor = creep_strain
variable = creep_strain_yy
index_i = 1
index_j = 1
[../]
[./creep_strain_zz]
type = RankTwoAux
rank_two_tensor = creep_strain
variable = creep_strain_zz
index_i = 2
index_j = 2
[../]
[./creep_strain_xy]
type = RankTwoAux
rank_two_tensor = creep_strain
variable = creep_strain_xy
index_i = 0
index_j = 1
[../]
[./elastic_str_xx_aux]
type = RankTwoAux
rank_two_tensor = elastic_strain
variable = elastic_strain_xx
index_i = 0
index_j = 0
[../]
[./elastic_str_yy_aux]
type = RankTwoAux
rank_two_tensor = elastic_strain
variable = elastic_strain_yy
index_i = 1
index_j = 1
[../]
[./elastic_str_zz_aux]
type = RankTwoAux
rank_two_tensor = elastic_strain
variable = elastic_strain_zz
index_i = 2
index_j = 2
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 3
component = 1
factor = -100.0
[../]
[./side_press]
type = Pressure
variable = disp_x
boundary = 4
component = 0
factor = -200.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
block = 1
youngs_modulus = 200e3
poissons_ratio = 0.3
[../]
[./strain]
type = ComputePlaneFiniteStrain
block = 1
[../]
[./radial_return_stress]
type = ComputeMultipleInelasticStress
block = 1
inelastic_models = 'powerlawcrp'
[../]
[./powerlawcrp]
type = PowerLawCreepStressUpdate
block = 1
coefficient = 3.125e-14
n_exponent = 5.0
m_exponent = 0.0
activation_energy = 0.0
max_inelastic_increment = 0.01
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu superlu_dist'
line_search = 'none'
l_max_its = 50
nl_max_its = 100
end_time = 1000.0
num_steps = 10000
l_tol = 1e-3
[./TimeStepper]
type = IterationAdaptiveDT
dt = 1e-6
time_t = '1e-6 2e-6 3e-6 5e-6 9e-6 1.7e-5 3.3e-5 6.5e-5 1.29e-4 2.57e-4 5.13e-4 1.025e-3 2.049e-3 4.097e-3 8.193e-3 1.638e-2 3.276e-2 5.734e-2 0.106 0.180 0.291 0.457 0.706 1.08 1.64 2.48 3.74 5.63 8.46 12.7 19.1 28.7 43.0 64.5 108.0 194.0 366.0 710.0 1000.0'
time_dt = '1e-6 1e-6 2e-6 4e-6 8e-6 1.6e-5 3.2e-5 6.4e-5 1.28e-4 2.56e-4 5.12e-4 1.024e-3 2.048e-3 4.096e-3 8.192e-3 1.6384e-2 2.458e-2 4.915e-2 7.40e-2 0.111 0.166 0.249 0.374 0.560 0.840 1.26 1.89 2.83 4.25 6.40 9.6 14.3 21.5 43.0 86.1 172.0 344.0 290.0 290.0'
optimal_iterations = 30
iteration_window = 9
growth_factor = 2.0
cutback_factor = 0.5
timestep_limiting_postprocessor = matl_ts_min
[../]
[]
[Postprocessors]
[./matl_ts_min]
type = MaterialTimeStepPostprocessor
[../]
[./sigma_xx]
type = ElementAverageValue
variable = stress_xx
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./vonmises]
type = ElementAverageValue
variable = vonmises
[../]
[./pressure]
type = ElementAverageValue
variable = pressure
[../]
[./invariant3]
type = ElementAverageValue
variable = invariant3
[../]
[./eps_crp_xx]
type = ElementAverageValue
variable = creep_strain_xx
[../]
[./eps_crp_yy]
type = ElementAverageValue
variable = creep_strain_yy
[../]
[./eps_crp_zz]
type = ElementAverageValue
variable = creep_strain_zz
[../]
[./eps_crp_mag]
type = ElementAverageValue
variable = creep
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x3]
type = NodalVariableValue
nodeid = 2
variable = disp_x
[../]
[./disp_y3]
type = NodalVariableValue
nodeid = 2
variable = disp_y
[../]
[./disp_y4]
type = NodalVariableValue
nodeid = 3
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./elas_str_xx]
type = ElementAverageValue
variable = elastic_strain_xx
[../]
[./elas_str_yy]
type = ElementAverageValue
variable = elastic_strain_yy
[../]
[./elas_str_zz]
type = ElementAverageValue
variable = elastic_strain_zz
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
csv = true
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 25
[../]
[]
modules/combined/test/tests/sliding_block/in_and_out/constraint/sm/frictionless_penalty_contact_line_search_sm.i
# This is a benchmark test that checks constraint based frictionless
# contact using the penalty method. In this test a sinusoidal
# displacement is applied in the horizontal direction to simulate
# a small block come in and out of contact as it slides down a larger block.
#
# The sinusoid is of the form 0.4sin(4t)+0.2. The gold file is run
# on one processor and the benchmark
# case is run on a minimum of 4 processors to ensure no parallel variability
# in the contact pressure and penetration results. Further documentation can
# found in moose/modules/contact/doc/sliding_block/
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[./horizontal_movement]
type = ParsedFunction
value = -0.04*sin(4*t)+0.02
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[./tot_nonlin_it]
type = CumulativeValuePostprocessor
postprocessor = nonlinear_its
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-ksp_monitor_true_residual'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'contact'
contact_line_search_ltol = .5
contact_line_search_allowed_lambda_cuts = 0
l_max_its = 100
nl_max_its = 20
dt = 0.1
end_time = 3
# num_steps = 30
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/combined/test/tests/inelastic_strain/creep/creep_nl1.i
#
# Test for effective strain calculation.
# Boundary conditions from NAFEMS test NL1
#
# This is not a verification test. This is the creep analog of the same test
# in the elas_plas directory. Instead of using the IsotropicPlasticity
# material model this test uses the PowerLawCreep material model.
#
[GlobalParams]
temperature = temp
order = FIRST
family = LAGRANGE
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = one_elem2.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./temp]
initial_condition = 600.0
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[./pressure]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./eff_creep_strain]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
decomposition_method = EigenSolution
[../]
[./heat]
type = HeatConduction
variable = temp
[../]
[./heat_ie]
type = HeatConductionTimeDerivative
variable = temp
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./vonmises]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = vonmises
scalar_type = VonMisesStress
execute_on = timestep_end
[../]
[./pressure]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = pressure
scalar_type = Hydrostatic
execute_on = timestep_end
[../]
[./elastic_strain_xx]
type = RankTwoAux
rank_two_tensor = elastic_strain
variable = elastic_strain_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./elastic_strain_yy]
type = RankTwoAux
rank_two_tensor = elastic_strain
variable = elastic_strain_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./elastic_strain_zz]
type = RankTwoAux
rank_two_tensor = elastic_strain
variable = elastic_strain_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./creep_strain_xx]
type = RankTwoAux
rank_two_tensor = creep_strain
variable = creep_strain_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./creep_strain_yy]
type = RankTwoAux
rank_two_tensor = creep_strain
variable = creep_strain_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./creep_strain_zz]
type = RankTwoAux
rank_two_tensor = creep_strain
variable = creep_strain_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./tot_strain_xx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = tot_strain_xx
index_i = 0
index_j = 0
[../]
[./tot_strain_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = tot_strain_yy
index_i = 1
index_j = 1
[../]
[./tot_strain_zz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = tot_strain_zz
index_i = 2
index_j = 2
[../]
[./eff_creep_strain]
type = MaterialRealAux
property = effective_creep_strain
variable = eff_creep_strain
[../]
[]
[Functions]
[./appl_dispy]
type = PiecewiseLinear
x = '0 1.0 2.0'
y = '0.0 0.25e-4 0.50e-4'
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 101
value = 0.0
[../]
[./origin_x]
type = DirichletBC
variable = disp_x
boundary = 103
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 102
value = 0.0
[../]
[./origin_y]
type = DirichletBC
variable = disp_y
boundary = 103
value = 0.0
[../]
[./top_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1
function = appl_dispy
[../]
[./temp_fix]
type = DirichletBC
variable = temp
boundary = '1 2'
value = 600.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
block = 1
youngs_modulus = 250e9
poissons_ratio = 0.25
[../]
[./strain]
type = ComputePlaneFiniteStrain
block = 1
[../]
[./radial_return_stress]
type = ComputeMultipleInelasticStress
block = 1
inelastic_models = 'powerlawcrp'
[../]
[./powerlawcrp]
type = PowerLawCreepStressUpdate
block = 1
coefficient = 3.125e-14
n_exponent = 5.0
m_exponent = 0.0
activation_energy = 0.0
[../]
[./thermal]
type = HeatConductionMaterial
block = 1
specific_heat = 1.0
thermal_conductivity = 100.
[../]
[./density]
type = Density
block = 1
density = 1.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
l_tol = 1e-6
l_max_its = 100
nl_max_its = 20
dt = 1.0
start_time = 0.0
num_steps = 100
end_time = 2.0
[]
[Postprocessors]
[./stress_xx]
type = ElementAverageValue
variable = stress_xx
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./stress_xy]
type = ElementAverageValue
variable = stress_xy
[../]
[./vonmises]
type = ElementAverageValue
variable = vonmises
[../]
[./pressure]
type = ElementAverageValue
variable = pressure
[../]
[./el_strain_xx]
type = ElementAverageValue
variable = elastic_strain_xx
[../]
[./el_strain_yy]
type = ElementAverageValue
variable = elastic_strain_yy
[../]
[./el_strain_zz]
type = ElementAverageValue
variable = elastic_strain_zz
[../]
[./crp_strain_xx]
type = ElementAverageValue
variable = creep_strain_xx
[../]
[./crp_strain_yy]
type = ElementAverageValue
variable = creep_strain_yy
[../]
[./crp_strain_zz]
type = ElementAverageValue
variable = creep_strain_zz
[../]
[./eff_creep_strain]
type = ElementAverageValue
variable = eff_creep_strain
[../]
[./tot_strain_xx]
type = ElementAverageValue
variable = tot_strain_xx
[../]
[./tot_strain_yy]
type = ElementAverageValue
variable = tot_strain_yy
[../]
[./tot_strain_zz]
type = ElementAverageValue
variable = tot_strain_zz
[../]
[./disp_x1]
type = NodalVariableValue
nodeid = 0
variable = disp_x
[../]
[./disp_x4]
type = NodalVariableValue
nodeid = 3
variable = disp_x
[../]
[./disp_y1]
type = NodalVariableValue
nodeid = 0
variable = disp_y
[../]
[./disp_y4]
type = NodalVariableValue
nodeid = 3
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/single_var_constraint_2d/propagating_2field_1constraint.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.0'
time_start_cut = 0.0
time_end_cut = 2.0
[../]
[]
[Variables]
[./u]
[../]
[./v]
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
jump = 0
jump_flux = 0
geometric_cut_userobject = 'line_seg_cut_uo'
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./left_v]
type = DirichletBC
variable = v
boundary = 3
value = 1
[../]
[./right_v]
type = DirichletBC
variable = v
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
test/tests/problems/eigen_problem/gipm_ibc.i
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 100
ymin = 0
ymax = 100
elem_type = QUAD4
nx = 64
ny = 64
displacements = 'x_disp y_disp'
[]
[Variables]
[./u]
order = first
family = LAGRANGE
[../]
[]
[AuxVariables]
[./x_disp]
[../]
[./y_disp]
[../]
[]
[AuxKernels]
[./x_disp]
type = FunctionAux
variable = x_disp
function = x_disp_func
[../]
[./y_disp]
type = FunctionAux
variable = y_disp
function = y_disp_func
[../]
[]
[Functions]
[./x_disp_func]
type = ParsedFunction
value = 0
[../]
[./y_disp_func]
type = ParsedFunction
value = 0
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
use_displaced_mesh = true
[../]
[./rea]
type = CoefReaction
variable = u
coefficient = 2.0
use_displaced_mesh = true
[../]
[./rhs]
type = CoefReaction
variable = u
use_displaced_mesh = true
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[]
[BCs]
[./nbc_homogeneous]
type = DirichletBC
variable = u
boundary = '0'
value = 0
use_displaced_mesh = true
[../]
[./nbc_eigen]
type = EigenDirichletBC
variable = u
boundary = '0'
use_displaced_mesh = true
[../]
[./ibc]
type = VacuumBC
variable = u
boundary = '1 2 3'
extra_vector_tags = 'eigen'
use_displaced_mesh = true
[]
[]
[Executioner]
type = Eigenvalue
eigen_problem_type = gen_non_hermitian
which_eigen_pairs = SMALLEST_MAGNITUDE
n_eigen_pairs = 1
n_basis_vectors = 18
solve_type = jacobi_davidson
petsc_options = '-eps_view'
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
execute_on = 'timestep_end'
[./console]
type = Console
outlier_variable_norms = false
[../]
[]
modules/combined/test/tests/frictional_contact/single_point_2d/sm/single_point_2d_tp_sm.i
[Mesh]
file = single_point_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./horizontal_movement]
type = ParsedFunction
value = t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_x = saved_x
save_in_disp_y = saved_y
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
[../]
[]
[AuxKernels]
[./incslip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./incslip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./botx]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./boty]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./botx2]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./boty2]
type = DirichletBC
variable = disp_y
boundary = 2
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = horizontal_movement
[../]
[./topy]
type = DirichletBC
variable = disp_y
boundary = 4
value = -0.005
[../]
[]
[Materials]
[./bottom]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e9
[../]
[./top]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 200
dt = 0.001
end_time = 0.01
num_steps = 1000
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
dtmin = 0.001
l_tol = 1e-3
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = coulomb
system = constraint
friction_coefficient = '0.25'
formulation = tangential_penalty
penalty = 1e10
[../]
[]
[Dampers]
[./contact_slip]
type = ContactSlipDamper
master = '2'
slave = '3'
[../]
[]
modules/xfem/test/tests/single_var_constraint_2d/stationary_equal.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.0'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
jump = 0
jump_flux = 0
geometric_cut_userobject = 'line_seg_cut_uo'
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_1/ring1_mu_0_2_pen_sm.i
[Mesh]
file = ring1_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = ring1_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = ring1_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
tangential_tolerance = 1e-3
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
test/tests/outputs/console/console.i
###########################################################
# This test exercises console Output control. Various
# controls are implemented using this input file including
# turning off color, changing Postprocessor output,
# toggling the performance logging, and verifying
# simulation information on the console.
#
# @Requirement U1.40
###########################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[./v]
[../]
[]
[AuxVariables]
[./aux0]
order = SECOND
family = SCALAR
[../]
[./aux1]
family = SCALAR
initial_condition = 5
[../]
[./aux2]
family = SCALAR
initial_condition = 10
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./diff_v]
type = CoefDiffusion
variable = v
coef = 2
[../]
[]
[BCs]
[./right_u]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[./left_u]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right_v]
type = DirichletBC
variable = v
boundary = right
value = 3
[../]
[./left_v]
type = DirichletBC
variable = v
boundary = left
value = 2
[../]
[]
[Postprocessors]
[./num_vars]
type = NumVars
system = 'NL'
[../]
[./num_aux]
type = NumVars
system = 'AUX'
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
execute_on = 'timestep_end'
color = false
[./screen]
type = Console
fit_mode = 40
[../]
[]
[ICs]
[./aux0_IC]
variable = aux0
values = '12 13'
type = ScalarComponentIC
[../]
[]
modules/combined/test/tests/inelastic_strain/creep/creep_nl1_sm.i
#
# Test for effective strain calculation.
# Boundary conditions from NAFEMS test NL1
#
# This is not a verification test. This is the creep analog of the same test
# in the elas_plas directory. Instead of using the IsotropicPlasticity
# material model this test uses the PowerLawCreep material model.
#
[GlobalParams]
disp_x = disp_x
disp_y = disp_y
temp = temp
order = FIRST
family = LAGRANGE
volumetric_locking_correction = true
block = 1
[]
[Mesh]
file = one_elem2.e
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./temp]
initial_condition = 600.0
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[./pressure]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./elastic_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./creep_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./tot_strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./eff_creep_strain]
order = CONSTANT
family = MONOMIAL
[../]
[]
[SolidMechanics]
[./solid]
[../]
[]
[Kernels]
[./heat]
type = HeatConduction
variable = temp
[../]
[./heat_ie]
type = HeatConductionTimeDerivative
variable = temp
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./vonmises]
type = MaterialTensorAux
tensor = stress
variable = vonmises
quantity = vonmises
execute_on = timestep_end
[../]
[./pressure]
type = MaterialTensorAux
tensor = stress
variable =pressure
quantity = hydrostatic
execute_on = timestep_end
[../]
[./elastic_strain_xx]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_xx
index = 0
[../]
[./elastic_strain_yy]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_yy
index = 1
[../]
[./elastic_strain_zz]
type = MaterialTensorAux
tensor = elastic_strain
variable = elastic_strain_zz
index = 2
[../]
[./creep_strain_xx]
type = MaterialTensorAux
tensor = creep_strain
variable = creep_strain_xx
index = 0
[../]
[./creep_strain_yy]
type = MaterialTensorAux
tensor = creep_strain
variable = creep_strain_yy
index = 1
[../]
[./creep_strain_zz]
type = MaterialTensorAux
tensor = creep_strain
variable = creep_strain_zz
index = 2
[../]
[./tot_strain_xx]
type = MaterialTensorAux
tensor = total_strain
variable = tot_strain_xx
index = 0
[../]
[./tot_strain_yy]
type = MaterialTensorAux
tensor = total_strain
variable = tot_strain_yy
index = 1
[../]
[./tot_strain_zz]
type = MaterialTensorAux
tensor = total_strain
variable = tot_strain_zz
index = 2
[../]
[./eff_creep_strain]
type = MaterialRealAux
property = effective_creep_strain
variable = eff_creep_strain
[../]
[]
[Functions]
[./appl_dispy]
type = PiecewiseLinear
x = '0 1.0 2.0'
y = '0.0 0.25e-4 0.50e-4'
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 101
value = 0.0
[../]
[./origin_x]
type = DirichletBC
variable = disp_x
boundary = 103
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 102
value = 0.0
[../]
[./origin_y]
type = DirichletBC
variable = disp_y
boundary = 103
value = 0.0
[../]
[./top_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1
function = appl_dispy
[../]
[./temp_fix]
type = DirichletBC
variable = temp
boundary = '1 2'
value = 600.0
[../]
[]
[Materials]
[./stiff]
type = SolidModel
block = 1
youngs_modulus = 250e9
poissons_ratio = 0.25
formulation = NonlinearPlaneStrain
constitutive_model = powerlawcrp
increment_calculation = Eigen
[../]
[./powerlawcrp]
type = PowerLawCreepModel
block = 1
coefficient = 3.125e-14
n_exponent = 5.0
m_exponent = 0.0
activation_energy = 0.0
[../]
[./thermal]
type = HeatConductionMaterial
block = 1
specific_heat = 1.0
thermal_conductivity = 100.
[../]
[./density]
type = Density
block = 1
density = 1.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
l_tol = 1e-4
l_max_its = 100
nl_max_its = 20
dt = 1.0
start_time = 0.0
num_steps = 100
end_time = 2.0
[]
[Postprocessors]
[./stress_xx]
type = ElementAverageValue
variable = stress_xx
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./stress_xy]
type = ElementAverageValue
variable = stress_xy
[../]
[./vonmises]
type = ElementAverageValue
variable = vonmises
[../]
[./pressure]
type = ElementAverageValue
variable = pressure
[../]
[./el_strain_xx]
type = ElementAverageValue
variable = elastic_strain_xx
[../]
[./el_strain_yy]
type = ElementAverageValue
variable = elastic_strain_yy
[../]
[./el_strain_zz]
type = ElementAverageValue
variable = elastic_strain_zz
[../]
[./crp_strain_xx]
type = ElementAverageValue
variable = creep_strain_xx
[../]
[./crp_strain_yy]
type = ElementAverageValue
variable = creep_strain_yy
[../]
[./crp_strain_zz]
type = ElementAverageValue
variable = creep_strain_zz
[../]
[./eff_creep_strain]
type = ElementAverageValue
variable = eff_creep_strain
[../]
[./tot_strain_xx]
type = ElementAverageValue
variable = tot_strain_xx
[../]
[./tot_strain_yy]
type = ElementAverageValue
variable = tot_strain_yy
[../]
[./tot_strain_zz]
type = ElementAverageValue
variable = tot_strain_zz
[../]
[./disp_x1]
type = NodalVariableValue
nodeid = 0
variable = disp_x
[../]
[./disp_x4]
type = NodalVariableValue
nodeid = 3
variable = disp_x
[../]
[./disp_y1]
type = NodalVariableValue
nodeid = 0
variable = disp_y
[../]
[./disp_y4]
type = NodalVariableValue
nodeid = 3
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[]
[Outputs]
exodus = true
file_base=creep_nl1_out
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/sliding_block/sliding/constraint/frictional_02_aug.i
# This is a benchmark test that checks constraint based frictional
# contact using the augmented lagrangian method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# A friction coefficient of 0.2 is used. The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = false
[]
[AuxVariables]
[./contact_traction]
[../]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 20
nl_max_its = 200
dt = 0.1
end_time = 15
num_steps = 200
l_tol = 1e-6
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Problem]
type = AugmentedLagrangianContactProblem
solution_variables = 'disp_x disp_y'
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 100
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = coulomb
penalty = 1e+7
friction_coefficient = 0.2
formulation = augmented_lagrange
system = constraint
normalize_penalty = true
al_penetration_tolerance = 1e-6
al_incremental_slip_tolerance = 1.0e-2
al_frictional_force_tolerance = 1e-3
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_aug_sm.i
[Mesh]
file = brick2_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 100
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_x26]
type = NodalVariableValue
nodeid = 25
variable = disp_x
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./disp_y26]
type = NodalVariableValue
nodeid = 25
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x7 disp_y7 disp_x26 disp_y26 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
tangential_tolerance = 1e-3
formulation = augmented_lagrange
system = constraint
normalize_penalty = true
penalty = 1e8
model = frictionless
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/frictionless_kinematic.i
[Mesh]
file = blocks_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e7
poissons_ratio = 0.3
[../]
[./right]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
system = Constraint
master = 2
slave = 3
model = frictionless
penalty = 1e+6
[../]
[]
test/tests/time_integrators/actually_explicit_euler_verification/ee-1d-linear.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 200
elem_type = EDGE2
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x
[../]
[./exact_fn]
type = ParsedFunction
value = t*x
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
lumping = true
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
preset = false
boundary = '0 1'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
start_time = 0.0
num_steps = 20
dt = 0.00005
[./TimeIntegrator]
type = ActuallyExplicitEuler
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
test/tests/adaptivity/recompute_markers_during_cycles/recompute_markers_during_cycles.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.1
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./Periodic]
[./all]
variable = u
auto_direction = 'x y'
[../]
[../]
[]
[Executioner]
type = Transient
num_steps = 2
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Adaptivity]
cycles_per_step = 4
marker = circle_marker
max_h_level = 2
recompute_markers_during_cycles = true
[./Markers]
[./circle_marker]
type = CircleMarker
point = '0.5 0.5 0'
radius = 0.1
inside = refine
outside = do_nothing
[../]
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
print_mesh_changed_info = true
[../]
[]
modules/porous_flow/test/tests/sinks/s04.i
# apply a piecewise-linear sink flux and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = y+1
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[./xval]
[../]
[./yval]
[../]
[./pt_shift]
initial_condition = 0.3
[../]
[]
[ICs]
[./xval]
type = FunctionIC
variable = xval
function = x
[../]
[./yval]
type = FunctionIC
variable = yval
function = y
[../]
[]
[Functions]
[./mass10]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)'
vars = 'vol por dens0 pp bulk'
vals = '0.25 0.1 1.1 p10 1.3'
[../]
[./rate10]
type = ParsedFunction
value = 'fcn*if(pp>0.8,1,if(pp<0.3,0.5,0.2+pp))'
vars = 'fcn pp'
vals = '8 p10'
[../]
[./mass10_expect]
type = ParsedFunction
value = 'mass_prev-rate*area*dt'
vars = 'mass_prev rate area dt'
vals = 'm10_prev m10_rate 0.5 1E-3'
[../]
[./mass11]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)'
vars = 'vol por dens0 pp bulk'
vals = '0.25 0.1 1.1 p11 1.3'
[../]
[./rate11]
type = ParsedFunction
value = 'fcn*if(pp>0.8,1,if(pp<0.3,0.5,0.2+pp))'
vars = 'fcn pp'
vals = '8 p11'
[../]
[./mass11_expect]
type = ParsedFunction
value = 'mass_prev-rate*area*dt'
vars = 'mass_prev rate area dt'
vals = 'm11_prev m11_rate 0.5 1E-3'
[../]
[]
[Postprocessors]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p10]
type = PointValue
point = '1 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m10]
type = FunctionValuePostprocessor
function = mass10
execute_on = 'initial timestep_end'
[../]
[./m10_prev]
type = FunctionValuePostprocessor
function = mass10
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./m10_rate]
type = FunctionValuePostprocessor
function = rate10
execute_on = 'timestep_end'
[../]
[./m10_expect]
type = FunctionValuePostprocessor
function = mass10_expect
execute_on = 'timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m11]
type = FunctionValuePostprocessor
function = mass11
execute_on = 'initial timestep_end'
[../]
[./m11_prev]
type = FunctionValuePostprocessor
function = mass11
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./m11_rate]
type = FunctionValuePostprocessor
function = rate11
execute_on = 'timestep_end'
[../]
[./m11_expect]
type = FunctionValuePostprocessor
function = mass11_expect
execute_on = 'timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowPiecewiseLinearSink
boundary = 'right'
PT_shift = pt_shift
pt_vals = '0.0 0.5'
multipliers = '0.5 1'
variable = pp
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 8
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-3
end_time = 1E-2
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s04
[./console]
type = Console
execute_on = 'nonlinear linear'
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_4/plane4_template2.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = plane4_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 200
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeIncrementalSmallStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeIncrementalSmallStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/sm/square_branch_tri_2d.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = TRI3
displacements = 'disp_x disp_y'
[]
[UserObjects]
[./line_seg_cut_uo0]
type = LineSegmentCutUserObject
cut_data = '-1.0000e-10 6.6340e-01 6.6340e-01 -1.0000e-10'
time_start_cut = 0.0
time_end_cut = 1.0
[../]
[./line_seg_cut_uo1]
type = LineSegmentCutUserObject
cut_data = '3.3120e-01 3.3200e-01 1.0001e+00 3.3200e-01'
time_start_cut = 1.0
time_end_cut = 2.0
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
use_displaced_mesh = false
[../]
[]
[Functions]
[./right_disp_x]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[./top_disp_y]
type = PiecewiseLinear
x = '0 1.0 2.0 3.0'
y = '0 0.005 0.01 0.01'
[../]
[]
[BCs]
[./right_x]
type = FunctionDirichletBC
boundary = 1
variable = disp_x
function = right_disp_x
[../]
[./top_y]
type = FunctionDirichletBC
boundary = 2
variable = disp_y
function = top_disp_y
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./left_x]
type = DirichletBC
boundary = 3
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = LinearIsotropicMaterial
block = 0
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 2.2
num_steps = 5000
[]
[Outputs]
file_base = square_branch_tri_2d_out
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/porous_flow/test/tests/sinks/s08.i
# apply a sink flux on just one component of a 3-component, 2-phase system and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pwater frac_ph0_c0 pgas'
number_fluid_phases = 2
number_fluid_components = 3
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1.1
[../]
[]
[Variables]
[./pwater]
[../]
[./frac_ph0_c0]
initial_condition = 0.3
[../]
[./pgas]
[../]
[]
[ICs]
[./pwater]
type = FunctionIC
variable = pwater
function = y
[../]
[./pgas]
type = FunctionIC
variable = pgas
function = y+3
[../]
[]
[Kernels]
[./mass_c0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = frac_ph0_c0
[../]
[./mass_c1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = pwater
[../]
[./mass_c2]
type = PorousFlowMassTimeDerivative
fluid_component = 2
variable = pgas
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid0]
type = SimpleFluidProperties
bulk_modulus = 2.3
density0 = 1.5
thermal_expansion = 0
viscosity = 2.1
[../]
[./simple_fluid1]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePP
phase0_porepressure = pwater
phase1_porepressure = pgas
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'frac_ph0_c0 frac_ph0_c1 frac_ph1_c0 frac_ph1_c1'
[../]
[./simple_fluid0]
type = PorousFlowSingleComponentFluid
fp = simple_fluid0
phase = 0
[../]
[./simple_fluid1]
type = PorousFlowSingleComponentFluid
fp = simple_fluid1
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '0.2 0 0 0 0.1 0 0 0 0.1'
[../]
[./relperm0]
type = PorousFlowRelativePermeabilityCorey
n = 1
phase = 0
[../]
[./relperm1]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 1
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[./frac_ph0_c1]
initial_condition = 0.35
[../]
[./frac_ph1_c0]
initial_condition = 0.1
[../]
[./frac_ph1_c1]
initial_condition = 0.8
[../]
[]
[Functions]
[./mass1_00]
type = ParsedFunction
value = 'fgas*vol*por*dens0gas*exp(pgas/bulkgas)*(1-pow(1+pow(al*(pgas-pwater),1.0/(1-m)),-m))+fwater*vol*por*dens0water*exp(pwater/bulkwater)*(pow(1+pow(al*(pgas-pwater),1.0/(1-m)),-m))'
vars = 'vol por dens0gas pgas pwater bulkgas al m dens0water bulkwater fgas fwater'
vals = '0.25 0.1 1.1 pgas_00 pwater_00 1.3 1.1 0.5 1.5 2.3 frac_ph1_c1_00 frac_ph0_c1_00'
[../]
[./expected_mass_change1_00]
type = ParsedFunction
value = 'frac*fcn*area*dt*pow(1-pow(1+pow(al*(pgas-pwater),1.0/(1-m)),-m), 2)'
vars = 'frac fcn area dt pgas pwater al m'
vals = 'frac_ph1_c1_00 100 0.5 1E-3 pgas_00 pwater_00 1.1 0.5'
[../]
[./mass1_00_expect]
type = ParsedFunction
value = 'mass_prev-mass_change'
vars = 'mass_prev mass_change'
vals = 'm1_00_prev del_m1_00'
[../]
[]
[Postprocessors]
[./total_mass_comp0]
type = PorousFlowFluidMass
fluid_component = 0
[../]
[./total_mass_comp1]
type = PorousFlowFluidMass
fluid_component = 1
[../]
[./total_mass_comp2]
type = PorousFlowFluidMass
fluid_component = 2
[../]
[./frac_ph1_c1_00]
type = PointValue
point = '0 0 0'
variable = frac_ph1_c1
execute_on = 'initial timestep_end'
[../]
[./frac_ph0_c1_00]
type = PointValue
point = '0 0 0'
variable = frac_ph0_c1
execute_on = 'initial timestep_end'
[../]
[./flux_00]
type = PointValue
point = '0 0 0'
variable = flux_out
execute_on = 'initial timestep_end'
[../]
[./pgas_00]
type = PointValue
point = '0 0 0'
variable = pgas
execute_on = 'initial timestep_end'
[../]
[./pwater_00]
type = PointValue
point = '0 0 0'
variable = pwater
execute_on = 'initial timestep_end'
[../]
[./m1_00]
type = FunctionValuePostprocessor
function = mass1_00
execute_on = 'initial timestep_end'
[../]
[./m1_00_prev]
type = FunctionValuePostprocessor
function = mass1_00
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./del_m1_00]
type = FunctionValuePostprocessor
function = expected_mass_change1_00
execute_on = 'timestep_end'
outputs = 'console'
[../]
[./m1_00_expect]
type = FunctionValuePostprocessor
function = mass1_00_expect
execute_on = 'timestep_end'
[../]
[]
[BCs]
[./flux_ph1_c1]
type = PorousFlowSink
boundary = 'left'
variable = pwater # sink applied to the mass_c1 Kernel
use_mobility = false
use_relperm = true
mass_fraction_component = 1
fluid_phase = 1
flux_function = 100
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 100 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E-3
end_time = 0.01
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s08
exodus = true
[./console]
type = Console
execute_on = 'nonlinear linear'
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_1/plane1_template2_sm.i
[Mesh]
file = plane1_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 200
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_x = diag_saved_x
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = LinearIsotropicMaterial
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = LinearIsotropicMaterial
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/frictionless_kinematic_sm.i
[Mesh]
file = blocks_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e7
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
system = Constraint
master = 2
slave = 3
model = frictionless
penalty = 1e+6
[../]
[]
modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_change_restart1_sm.i
# This is a test designed to evaluate the cabability of the
# IterationAdaptiveDT TimeStepper to adjust time step size according to
# a function. For example, if the power input function for a BISON
# simulation rapidly increases or decreases, the IterationAdaptiveDT
# TimeStepper should take time steps small enough to capture the
# oscillation.
[GlobalParams]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
order = FIRST
family = LAGRANGE
block = 1
[]
[Mesh]
file = 1hex8_10mm_cube.e
displacements = 'disp_x disp_y disp_z'
[]
[Functions]
[./Fiss_Function]
type = PiecewiseLinear
x = '0 1e6 2e6 2.001e6 2.002e6'
y = '0 3e8 3e8 12e8 0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./temp]
initial_condition = 300.0
[../]
[]
[AuxVariables]
[./vonmises_stress]
order = CONSTANT
family = MONOMIAL
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
[../]
[]
[Kernels]
[./heat]
type = HeatConduction
variable = temp
[../]
[./heat_ie]
type = HeatConductionTimeDerivative
variable = temp
[../]
[./heat_source]
type = HeatSource
variable = temp
value = 1.0
function = Fiss_Function
[../]
[]
[AuxKernels]
[./vonmises_stress]
type = MaterialTensorAux
tensor = stress
variable = vonmises_stress
quantity = vonmises
execute_on = timestep_end
[../]
[]
[BCs]
[./bottom_temp]
type = DirichletBC
variable = temp
boundary = 1
value = 300
[../]
[./top_bottom_disp_x]
type = DirichletBC
variable = disp_x
boundary = '1'
value = 0
[../]
[./top_bottom_disp_y]
type = DirichletBC
variable = disp_y
boundary = '1'
value = 0
[../]
[./top_bottom_disp_z]
type = DirichletBC
variable = disp_z
boundary = '1'
value = 0
[../]
[]
[Materials]
[./thermal]
type = HeatConductionMaterial
temp = temp
specific_heat = 1.0
thermal_conductivity = 1.0
[../]
[./elastic]
type = Elastic
youngs_modulus = 300e6
poissons_ratio = .3
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
temp = temp
thermal_expansion = 5e-6
formulation = Nonlinear3D
increment_calculation = Eigen
stress_free_temperature = 300.0
[../]
[./density]
type = Density
density = 10963.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
verbose = true
nl_abs_tol = 1e-10
start_time = 0.0
num_steps = 65
end_time = 2.002e6
[./TimeStepper]
type = IterationAdaptiveDT
timestep_limiting_function = Fiss_Function
max_function_change = 3e7
dt = 1e6
[../]
[]
[Postprocessors]
[./Temperature_of_Block]
type = ElementAverageValue
variable = temp
execute_on = 'initial timestep_end'
[../]
[./vonMises]
type = ElementAverageValue
variable = vonmises_stress
execute_on = 'initial timestep_end'
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 10
[../]
[./checkpoint]
type = Checkpoint
num_files = 1
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/penny_crack.i
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
volumetric_locking_correction = true
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
file = quarter_sym.e
[]
[UserObjects]
[./circle_cut_uo]
type = CircleCutUserObject
cut_data = '-0.5 -0.5 0
0.0 -0.5 0
-0.5 0 0'
[../]
[]
[AuxVariables]
[./SED]
order = CONSTANT
family = MONOMIAL
[../]
[]
[DomainIntegral]
integrals = 'Jintegral'
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
crack_front_points = '-0.5 0.0 0.0
-0.25 -0.07 0
-0.15 -0.15 0
-0.07 -0.25 0
0 -0.5 0'
crack_end_direction_method = CrackDirectionVector
crack_direction_vector_end_1 = '0 1 0'
crack_direction_vector_end_2 = '1 0 0'
crack_direction_method = CurvedCrackFront
intersecting_boundary = '3 4' #It would be ideal to use this, but can't use with XFEM yet
radius_inner = '0.3'
radius_outer = '0.6'
poissons_ratio = 0.3
youngs_modulus = 207000
block = 1
incremental = true
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
add_variables = true
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress'
[../]
[]
[AuxKernels]
[./SED]
type = MaterialRealAux
variable = SED
property = strain_energy_density
execute_on = timestep_end
block = 1
[../]
[]
[Functions]
[./top_trac_z]
type = ConstantFunction
value = 10
[../]
[]
[BCs]
[./top_z]
type = FunctionNeumannBC
boundary = 2
variable = disp_z
function = top_trac_z
[../]
[./bottom_x]
type = DirichletBC
boundary = 1
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = 1
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = 1
variable = disp_z
value = 0.0
[../]
[./sym_y]
type = DirichletBC
boundary = 3
variable = disp_y
value = 0.0
[../]
[./sym_x]
type = DirichletBC
boundary = 4
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 207000
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
file_base = penny_crack_out
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/pressure_bc/edge_2d_pressure.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
volumetric_locking_correction = False
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 9
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.0 0.5 0.5 0.5'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
generate_output = 'stress_xx stress_yy'
[../]
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0 1.0 2.0'
y = '0 500 1000'
[../]
[]
[BCs]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./top_y]
type = DirichletBC
boundary = 2
variable = disp_y
value = 0.0
[../]
[./bottom_x]
type = DirichletBC
boundary = 0
variable = disp_x
value = 0.0
[../]
[]
[DiracKernels]
[./pressure_x]
type = XFEMPressure
variable = disp_x
component = 0
function = pressure
[../]
[./pressure_y]
type = XFEMPressure
variable = disp_y
component = 1
function = pressure
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
# time control
start_time = 0.0
dt = 1
end_time = 2
[]
[Outputs]
file_base = edge_2d_pressure_out
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/sliding_block/sliding/dirac/frictionless_penalty.i
# This is a benchmark test that checks Dirac based frictionless
# contact using the penalty method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
order = FIRST
family = LAGRANGE
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./stiffStuff]
type = ComputeIsotropicElasticityTensor
block = '1 2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stiffStuff_stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[] # Materials
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
l_max_its = 100
nl_max_its = 1000
dt = 0.05
end_time = 10
num_steps = 1000
nl_rel_tol = 1e-6
dtmin = 0.01
l_tol = 1e-6
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
normal_smoothing_distance = 0.1
system = DiracKernel
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/glued_kinematic.i
[Mesh]
file = blocks_2d_nogap.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.01
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e7
poissons_ratio = 0.3
[../]
[./right]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
system = Constraint
master = 2
slave = 3
model = glued
penalty = 1e+6
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/glued_penalty_sm.i
[Mesh]
file = blocks_2d_nogap.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.01
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e7
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
system = Constraint
master = 2
slave = 3
model = glued
formulation = penalty
penalty = 1e+7
[../]
[]
modules/xfem/test/tests/second_order_elements/diffusion_2d_quad9.i
[GlobalParams]
order = SECOND
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 3
ny = 4
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD9
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.35 1.0 0.35 0.2'
time_start_cut = 0.0
time_end_cut = 2.0
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '0 0.1'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = FunctionDirichletBC
variable = u
boundary = 3
function = u_left
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_aug.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick2_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 100
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_x26]
type = NodalVariableValue
nodeid = 25
variable = disp_x
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./disp_y26]
type = NodalVariableValue
nodeid = 25
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x7 disp_y7 disp_x26 disp_y26 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
tangential_tolerance = 1e-3
formulation = augmented_lagrange
system = constraint
normalize_penalty = true
penalty = 1e8
model = frictionless
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_2/cyl2_template2_sm.i
#
# This input file is a template for both the frictionless and glued test
# variations for the current problem geometry. In order to create an input
# file to run outside the runtest framework, look at the tests file and add the
# appropriate input file lines from the cli_args line.
#
[Mesh]
file = cyl2_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/adaptive_timestepping/adapt_tstep_function_change_restart1.i
# This is a test designed to evaluate the cabability of the
# IterationAdaptiveDT TimeStepper to adjust time step size according to
# a function. For example, if the power input function for a BISON
# simulation rapidly increases or decreases, the IterationAdaptiveDT
# TimeStepper should take time steps small enough to capture the
# oscillation.
[GlobalParams]
order = FIRST
family = LAGRANGE
block = 1
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = 1hex8_10mm_cube.e
[]
[Functions]
[./Fiss_Function]
type = PiecewiseLinear
x = '0 1e6 2e6 2.001e6 2.002e6'
y = '0 3e8 3e8 12e8 0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./temp]
initial_condition = 300.0
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
incremental = true
volumetric_locking_correction = true
eigenstrain_names = thermal_expansion
decomposition_method = EigenSolution
add_variables = true
generate_output = 'vonmises_stress'
[../]
[]
[Kernels]
[./heat]
type = HeatConduction
variable = temp
[../]
[./heat_ie]
type = HeatConductionTimeDerivative
variable = temp
[../]
[./heat_source]
type = HeatSource
variable = temp
value = 1.0
function = Fiss_Function
[../]
[]
[BCs]
[./bottom_temp]
type = DirichletBC
variable = temp
boundary = 1
value = 300
[../]
[./top_bottom_disp_x]
type = DirichletBC
variable = disp_x
boundary = '1'
value = 0
[../]
[./top_bottom_disp_y]
type = DirichletBC
variable = disp_y
boundary = '1'
value = 0
[../]
[./top_bottom_disp_z]
type = DirichletBC
variable = disp_z
boundary = '1'
value = 0
[../]
[]
[Materials]
[./thermal]
type = HeatConductionMaterial
temp = temp
specific_heat = 1.0
thermal_conductivity = 1.0
[../]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 300e6
poissons_ratio = .3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[./thermal_expansion]
type = ComputeThermalExpansionEigenstrain
thermal_expansion_coeff = 5e-6
stress_free_temperature = 300.0
temperature = temp
eigenstrain_name = thermal_expansion
[../]
[./density]
type = Density
density = 10963.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
verbose = true
nl_abs_tol = 1e-10
start_time = 0.0
num_steps = 65
end_time = 2.002e6
[./TimeStepper]
type = IterationAdaptiveDT
timestep_limiting_function = Fiss_Function
max_function_change = 3e7
dt = 1e6
[../]
[]
[Postprocessors]
[./Temperature_of_Block]
type = ElementAverageValue
variable = temp
execute_on = 'initial timestep_end'
[../]
[./vonMises]
type = ElementAverageValue
variable = vonmises_stress
execute_on = 'initial timestep_end'
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 10
[../]
[./checkpoint]
type = Checkpoint
num_files = 1
[../]
[]
test/tests/time_integrators/explicit-euler/ee-1d-quadratic.i
[Mesh]
type = GeneratedMesh
dim = 1
xmin = -1
xmax = 1
nx = 20
elem_type = EDGE3
[]
[Functions]
[./ic]
type = ParsedFunction
value = 0
[../]
[./forcing_fn]
type = ParsedFunction
value = x*x-2*t
[../]
[./exact_fn]
type = ParsedFunction
value = t*x*x
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = FunctionIC
function = ic
[../]
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
# lumping = true
implicit = true
[../]
[./diff]
type = Diffusion
variable = u
implicit = false
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
implicit = false
[../]
[]
[BCs]
active = 'all'
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1'
function = exact_fn
implicit = true
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[]
[Executioner]
type = Transient
scheme = 'explicit-euler'
solve_type = 'LINEAR'
l_tol = 1e-12
start_time = 0.0
num_steps = 20
dt = 0.00005
[]
[Outputs]
exodus = true
[./console]
type = Console
max_rows = 10
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/frictionless_penalty_dirac.i
# This is a dirac (contact formulation) version of frictionless_penalty.i
[Mesh]
file = blocks_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
strain = FINITE
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e7
poissons_ratio = 0.3
[../]
[./right]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = '1 2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = frictionless
formulation = penalty
penalty = 1e+7
system = diracKernel
[../]
[]
modules/xfem/test/tests/single_var_constraint_2d/equal_value.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.0'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMEqualValueAtInterface
geometric_cut_userobject = 'line_seg_cut_uo'
use_displaced_mesh = false
variable = u
value = 1
alpha = 1e5
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
perf_graph = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_3/ring3_template1_sm.i
[Mesh]
file = ring3_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_2/plane2_mu_0_2_pen.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = plane2_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeIncrementalSmallStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeIncrementalSmallStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-8
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = plane2_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = plane2_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_3/plane3_mu_0_2_pen_sm.i
[Mesh]
file = plane3_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = LinearIsotropicMaterial
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = LinearIsotropicMaterial
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = plane3_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = plane3_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_1/cyl1_mu_0_2_pen_sm.i
[Mesh]
file = cyl1_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
order = FIRST
family = LAGRANGE
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = cyl1_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = cyl1_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x7 disp_y7 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
tangential_tolerance = 1e-3
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_template2_sm.i
[Mesh]
file = brick2_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_x26]
type = NodalVariableValue
nodeid = 25
variable = disp_x
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./disp_y26]
type = NodalVariableValue
nodeid = 25
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x7 disp_y7 disp_x26 disp_y26 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+7
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/contact_verification/hertz_cyl/half_symm_q8/hertz_cyl_half_1deg_template1.i
[GlobalParams]
order = SECOND
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Mesh]
file = hertz_cyl_half_1deg.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Functions]
[./disp_ramp_vert]
type = PiecewiseLinear
x = '0. 1. 3.5'
y = '0. -0.0020 -0.0020'
[../]
[./disp_ramp_horz]
type = PiecewiseLinear
x = '0. 1. 3.5'
y = '0. 0.0 0.0014'
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 2
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 2
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 2
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./disp_x639]
type = NodalVariableValue
nodeid = 638
variable = disp_x
[../]
[./disp_y639]
type = NodalVariableValue
nodeid = 638
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./side_x]
type = DirichletBC
variable = disp_y
boundary = '1 2'
value = 0.0
[../]
[./bot_y]
type = DirichletBC
variable = disp_x
boundary = '1 2'
value = 0.0
[../]
[./top_y_disp]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = disp_ramp_vert
[../]
[./top_x_disp]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = disp_ramp_horz
[../]
[]
[Materials]
[./stuff1_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e10
poissons_ratio = 0.0
[../]
[./stuff1_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./stuff1_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./stuff2_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff2_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./stuff2_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[./stuff3_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '3'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff3_strain]
type = ComputeFiniteStrain
block = '3'
[../]
[./stuff3_stress]
type = ComputeFiniteStrainElasticStress
block = '3'
[../]
[./stuff4_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '4'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff4_strain]
type = ComputeFiniteStrain
block = '4'
[../]
[./stuff4_stress]
type = ComputeFiniteStrainElasticStress
block = '4'
[../]
[./stuff5_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '5'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff5_strain]
type = ComputeFiniteStrain
block = '5'
[../]
[./stuff5_stress]
type = ComputeFiniteStrainElasticStress
block = '5'
[../]
[./stuff6_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '6'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff6_strain]
type = ComputeFiniteStrain
block = '6'
[../]
[./stuff6_stress]
type = ComputeFiniteStrainElasticStress
block = '6'
[../]
[./stuff7_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '7'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stuff7_strain]
type = ComputeFiniteStrain
block = '7'
[../]
[./stuff7_stress]
type = ComputeFiniteStrainElasticStress
block = '7'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-6
nl_rel_tol = 1e-5
l_max_its = 100
nl_max_its = 200
start_time = 0.0
end_time = 3.5
l_tol = 1e-3
dt = 0.1
dtmin = 0.1
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '3 4'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '3 4'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'x_disp y_disp cont_press'
start_time = 0.9
execute_vector_postprocessors_on = timestep_end
[../]
[./chkfile2]
type = CSV
show = 'bot_react_x bot_react_y disp_x639 disp_y639 top_react_x top_react_y'
start_time = 0.9
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./interface]
master = 2
slave = 3
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+10
system = Constraint
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_3/cyl3_template2_sm.i
#
# This input file is a template for both the frictionless and glued test
# variations for the current problem geometry. In order to create an input
# file to run outside the runtest framework, look at the tests file and add the
# appropriate input file lines from the cli_args line.
#
[Mesh]
file = cyl3_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_3/brick3_template2_sm.i
[Mesh]
file = brick3_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x28]
type = NodalVariableValue
nodeid = 27
variable = disp_x
[../]
[./disp_x33]
type = NodalVariableValue
nodeid = 32
variable = disp_x
[../]
[./disp_y28]
type = NodalVariableValue
nodeid = 27
variable = disp_y
[../]
[./disp_y33]
type = NodalVariableValue
nodeid = 32
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-8
nl_rel_tol = 1e-7
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x28 disp_y28 disp_x33 disp_y33 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
order = SECOND
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+7
al_penetration_tolerance = 1e-8
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/sm/elliptical_crack.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
file = quarter_sym.e
displacements = 'disp_x disp_y disp_z'
[]
[UserObjects]
[./ellip_cut_uo]
type = EllipseCutUserObject
cut_data = '-0.5 -0.5 0
-0.5 -0.1 0
0.1 -0.5 0'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises_stress]
order = CONSTANT
family = MONOMIAL
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
use_displaced_mesh = true
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
execute_on = timestep_end
[../]
[./vonmises_stress]
type = MaterialTensorAux
tensor = stress
variable = vonmises_stress
quantity = vonmises
execute_on = timestep_end
[../]
[]
[Functions]
[./top_trac_z]
type = ConstantFunction
value = 10
[../]
[]
[BCs]
[./top_z]
type = FunctionNeumannBC
boundary = 2
variable = disp_z
function = top_trac_z
[../]
[./bottom_x]
type = DirichletBC
boundary = 1
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = 1
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = 1
variable = disp_z
value = 0.0
[../]
[./sym_y]
type = DirichletBC
boundary = 3
variable = disp_y
value = 0.0
[../]
[./sym_x]
type = DirichletBC
boundary = 4
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 207000
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
file_base = elliptical_crack_out
exodus = true
execute_on = timestep_end
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_4/brick4_template1.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick4_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x59]
type = NodalVariableValue
nodeid = 58
variable = disp_x
[../]
[./disp_x64]
type = NodalVariableValue
nodeid = 63
variable = disp_x
[../]
[./disp_y59]
type = NodalVariableValue
nodeid = 58
variable = disp_y
[../]
[./disp_y64]
type = NodalVariableValue
nodeid = 63
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x59 disp_y59 disp_x64 disp_y64 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/xfem/test/tests/single_var_constraint_3d/stationary_jump_fluxjump_3d.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 5
ny = 5
nz = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.25
elem_type = HEX8
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./square_planar_cut_uo]
type = RectangleCutUserObject
cut_data = ' 0.5 -0.001 -0.001
0.5 1.001 -0.001
0.5 1.001 1.001
0.5 -0.001 1.001'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
jump = 0.5
jump_flux = 1
geometric_cut_userobject = 'square_planar_cut_uo'
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = left
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = right
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/diffusion_xfem/levelsetcut3d.i
# 3D: Mesh is cut by level set based cutter
# The level set is a MOOSE auxvariable
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 5
ny = 5
nz = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 1.0
elem_type = HEX8
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '0 0.1'
[../]
[./ls_func]
type = ParsedFunction
value = 'sqrt(x*x + y*y + z*z) - 0.5'
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = left
value = 2
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_2/brick2_template1.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick2_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x7]
type = NodalVariableValue
nodeid = 6
variable = disp_x
[../]
[./disp_x26]
type = NodalVariableValue
nodeid = 25
variable = disp_x
[../]
[./disp_y7]
type = NodalVariableValue
nodeid = 6
variable = disp_y
[../]
[./disp_y26]
type = NodalVariableValue
nodeid = 25
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x7 disp_y7 disp_x26 disp_y26 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/porous_flow/test/tests/sinks/s05.i
# apply a half-gaussian sink flux and observe the correct behavior
[Mesh]
type = GeneratedMesh
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0
xmax = 1
ymin = 0
ymax = 1
zmin = 0
zmax = 2
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1.1
[../]
[]
[Variables]
[./pp]
[../]
[]
[ICs]
[./pp]
type = FunctionIC
variable = pp
function = y+1.4
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 1.3
density0 = 1.1
thermal_expansion = 0
viscosity = 1.1
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow1PhaseP
porepressure = pp
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-5 0 0 0 1E-5 0 0 0 1E-5'
[../]
[./relperm]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[]
[AuxVariables]
[./flux_out]
[../]
[]
[Functions]
[./mass10]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)*if(pp>=0,1,pow(1+pow(-al*pp,1.0/(1-m)),-m))'
vars = 'vol por dens0 pp bulk al m'
vals = '0.25 0.1 1.1 p10 1.3 1.1 0.5'
[../]
[./rate10]
type = ParsedFunction
value = 'if(pp>center,fcn,fcn*exp(-0.5*(pp-center)*(pp-center)/sd/sd))'
vars = 'fcn pp center sd'
vals = '6 p10 0.9 0.5'
[../]
[./mass10_expect]
type = ParsedFunction
value = 'mass_prev-rate*area*dt'
vars = 'mass_prev rate area dt'
vals = 'm10_prev m10_rate 0.5 2E-3'
[../]
[./mass11]
type = ParsedFunction
value = 'vol*por*dens0*exp(pp/bulk)*if(pp>=0,1,pow(1+pow(-al*pp,1.0/(1-m)),-m))'
vars = 'vol por dens0 pp bulk al m'
vals = '0.25 0.1 1.1 p11 1.3 1.1 0.5'
[../]
[./rate11]
type = ParsedFunction
value = 'if(pp>center,fcn,fcn*exp(-0.5*(pp-center)*(pp-center)/sd/sd))'
vars = 'fcn pp center sd'
vals = '6 p11 0.9 0.5'
[../]
[./mass11_expect]
type = ParsedFunction
value = 'mass_prev-rate*area*dt'
vars = 'mass_prev rate area dt'
vals = 'm11_prev m11_rate 0.5 2E-3'
[../]
[]
[Postprocessors]
[./flux10]
type = PointValue
variable = flux_out
point = '1 0 0'
[../]
[./p00]
type = PointValue
point = '0 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p10]
type = PointValue
point = '1 0 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m10]
type = FunctionValuePostprocessor
function = mass10
execute_on = 'initial timestep_end'
[../]
[./m10_prev]
type = FunctionValuePostprocessor
function = mass10
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./m10_rate]
type = FunctionValuePostprocessor
function = rate10
execute_on = 'timestep_end'
[../]
[./m10_expect]
type = FunctionValuePostprocessor
function = mass10_expect
execute_on = 'timestep_end'
[../]
[./p01]
type = PointValue
point = '0 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./p11]
type = PointValue
point = '1 1 0'
variable = pp
execute_on = 'initial timestep_end'
[../]
[./m11]
type = FunctionValuePostprocessor
function = mass11
execute_on = 'initial timestep_end'
[../]
[./m11_prev]
type = FunctionValuePostprocessor
function = mass11
execute_on = 'timestep_begin'
outputs = 'console'
[../]
[./m11_rate]
type = FunctionValuePostprocessor
function = rate11
execute_on = 'timestep_end'
[../]
[./m11_expect]
type = FunctionValuePostprocessor
function = mass11_expect
execute_on = 'timestep_end'
[../]
[]
[BCs]
[./flux]
type = PorousFlowHalfGaussianSink
boundary = 'right'
max = 6
sd = 0.5
center = 0.9
variable = pp
use_mobility = false
use_relperm = false
fluid_phase = 0
flux_function = 1
save_in = flux_out
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -snes_max_it -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu 10000 NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 2E-3
end_time = 6E-2
nl_rel_tol = 1E-12
nl_abs_tol = 1E-12
[]
[Outputs]
file_base = s05
[./console]
type = Console
execute_on = 'nonlinear linear'
interval = 5
[../]
[./csv]
type = CSV
execute_on = 'timestep_end'
interval = 3
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_3/brick3_template2.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick3_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x28]
type = NodalVariableValue
nodeid = 27
variable = disp_x
[../]
[./disp_x33]
type = NodalVariableValue
nodeid = 32
variable = disp_x
[../]
[./disp_y28]
type = NodalVariableValue
nodeid = 27
variable = disp_y
[../]
[./disp_y33]
type = NodalVariableValue
nodeid = 32
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-8
nl_rel_tol = 1e-7
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x28 disp_y28 disp_x33 disp_y33 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+7
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_1/brick1_template2_sm.i
[Mesh]
file = brick1_mesh.e
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x8]
type = NodalVariableValue
nodeid = 7
variable = disp_x
[../]
[./disp_x13]
type = NodalVariableValue
nodeid = 12
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y8]
type = NodalVariableValue
nodeid = 7
variable = disp_y
[../]
[./disp_y13]
type = NodalVariableValue
nodeid = 12
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_x8 disp_x13 disp_x16 disp_y5 disp_y8 disp_y13 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/frictionless_kinematic_dirac_sm.i
# This is a dirac (contact formulation) version of frictionless_kinematic.i
[Mesh]
file = blocks_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e7
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.1
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
model = frictionless
penalty = 1e+6
system = dirackernel
[../]
[]
test/tests/outputs/console/additional_execute_on.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.1
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
num_steps = 20
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
execute_on = 'timestep_end'
[./console]
type = Console
additional_execute_on = initial
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_4/plane4_mu_0_2_pen_sm.i
[Mesh]
file = plane4_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_y = saved_y
save_in_disp_x = saved_x
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = LinearIsotropicMaterial
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = LinearIsotropicMaterial
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = plane4_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = plane4_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/sliding_block/sliding/constraint/sm/frictionless_aug_sm.i
# This is a benchmark test that checks constraint based frictionless
# contact using the augmented lagrangian method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./saved_x]
[../]
[./saved_y]
[../]
[./contact_traction]
[../]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_x = saved_x
save_in_disp_y = saved_y
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 100
dt = 0.1
end_time = 15
num_steps = 200
l_tol = 1e-6
nl_rel_tol = 1e-7
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Problem]
type = AugmentedLagrangianContactProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
maximum_lagrangian_update_iterations = 25
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
normalize_penalty = true
formulation = augmented_lagrange
tangential_tolerance = 1e-3
system = constraint
normal_smoothing_distance = 0.1
al_penetration_tolerance = 1e-9
[../]
[]
modules/xfem/test/tests/diffusion_xfem/levelsetcut2d.i
# 2D: Mesh is cut by level set based cutter
# The level set is a MOOSE variable
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 3
ny = 3
xmin = 0
xmax = 1
ymin = 0
ymax = 1
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
[../]
[]
[Variables]
[./u]
[../]
[./ls]
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '3 5'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./diff_ls]
type = Diffusion
variable = ls
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 3
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./left_ls]
type = DirichletBC
variable = ls
boundary = 3
value = 3
[../]
[./right_ls]
type = DirichletBC
variable = ls
boundary = 1
value = -3
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
test/tests/multiapps/multilevel/time_dt_from_master_subsub.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
xmax = 100
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./td]
type = TimeDerivative
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
num_steps = 1
dt = 1
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[./console]
type = Console
output_file = true
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_3/cyl3_mu_0_2_pen.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = cyl3_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x2]
type = NodalVariableValue
nodeid = 1
variable = disp_x
[../]
[./disp_x11]
type = NodalVariableValue
nodeid = 10
variable = disp_x
[../]
[./disp_y2]
type = NodalVariableValue
nodeid = 1
variable = disp_y
[../]
[./disp_y11]
type = NodalVariableValue
nodeid = 10
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = cyl3_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = cyl3_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x2 disp_y2 disp_x11 disp_y11 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
tangential_tolerance = 1e-3
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_4/cyl4_template2.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Mesh]
file = cyl4_mesh.e
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 100
nl_max_its = 1000
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 stress_yy stress_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/elliptical_crack.i
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
volumetric_locking_correction = true
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
file = quarter_sym.e
[]
[UserObjects]
[./ellip_cut_uo]
type = EllipseCutUserObject
cut_data = '-0.5 -0.5 0
-0.5 -0.1 0
0.1 -0.5 0'
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
add_variables = true
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress'
[../]
[]
[Functions]
[./top_trac_z]
type = ConstantFunction
value = 10
[../]
[]
[BCs]
[./top_z]
type = FunctionNeumannBC
boundary = 2
variable = disp_z
function = top_trac_z
[../]
[./bottom_x]
type = DirichletBC
boundary = 1
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = 1
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = 1
variable = disp_z
value = 0.0
[../]
[./sym_y]
type = DirichletBC
boundary = 3
variable = disp_y
value = 0.0
[../]
[./sym_x]
type = DirichletBC
boundary = 4
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 207000
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
file_base = elliptical_crack_out
exodus = true
execute_on = timestep_end
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/single_var_constraint_2d/propagating_1field.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 5
ny = 5
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.5 1.0 0.5 0.0'
time_start_cut = 0.0
time_end_cut = 2.0
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
jump = 0
jump_flux = 0
geometric_cut_userobject = 'line_seg_cut_uo'
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/mechanical_contact_constraint/blocks_2d/sm/frictionless_penalty_sm.i
[Mesh]
file = blocks_2d.e
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
#Initial gap is 0.01
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e7
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.01
end_time = 0.10
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
system = Constraint
master = 2
slave = 3
model = frictionless
formulation = penalty
penalty = 1e+7
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/cyl_2/cyl2_mu_0_2_pen.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = cyl2_mesh.e
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeAxisymmetricRZIncrementalStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-7
nl_rel_tol = 1e-6
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-4
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
file_base = cyl2_mu_0_2_pen_out
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
file_base = cyl2_mu_0_2_pen_check
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
model = coulomb
formulation = penalty
normalize_penalty = true
tangential_tolerance = 1e-3
friction_coefficient = 0.2
penalty = 1e+9
[../]
[]
modules/phase_field/examples/grain_growth/grain_growth_2D_random.i
# This output simulations the shrinkage of a circular grain imbedded in a larger grain
# Simulation is 2-D
# Mesh adaptivity and time step adaptivity are used
# An AuxVariable is used to calculate the grain boundary locations
# Postprocessors are used to record time step and the area of the shrinking grain
[Mesh]
# Mesh block. Meshes can be read in or automatically generated
type = GeneratedMesh
dim = 2 # Problem dimension
nx = 10 # Number of elements in the x-direction
ny = 10 # Number of elements in the y-direction
nz = 0 # Number of elements in the z-direction
xmin = 0 # minimum x-coordinate of the mesh
xmax = 1000 # maximum x-coordinate of the mesh
ymin = 0 # minimum y-coordinate of the mesh
ymax = 1000 # maximum y-coordinate of the mesh
zmin = 0
zmax = 0
elem_type = QUAD4 # Type of elements used in the mesh
uniform_refine = 4 # Initial uniform refinement of the mesh
parallel_type = replicated # Periodic BCs
[]
[GlobalParams]
# Parameters used by several kernels that are defined globally to simplify input file
op_num = 10 # Number of grains
var_name_base = gr # Base name of grains
[]
[Variables]
# Variable block, where all variables in the simulation are declared
[./PolycrystalVariables]
# Custom action that created all of the grain variables and sets their initial condition
[../]
[]
[AuxVariables]
# Dependent variables
[./bnds]
# Variable used to visualize the grain boundaries in the simulation
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./PolycrystalICs]
[./PolycrystalRandomIC]
random_type = discrete
[../]
[../]
[]
[Kernels]
# Kernel block, where the kernels defining the residual equations are set up.
[./PolycrystalKernel]
# Custom action creating all necessary kernels for grain growth. All input parameters are up in GlobalParams
[../]
[]
[AuxKernels]
# AuxKernel block, defining the equations used to calculate the auxvars
[./bnds_aux]
# AuxKernel that calculates the GB term
type = BndsCalcAux
variable = bnds
execute_on = timestep_end
[../]
[]
[BCs]
# Boundary Condition block
[./Periodic]
[./top_bottom]
auto_direction = 'x y' # Makes problem periodic in the x and y directions
[../]
[../]
[]
[Materials]
[./CuGrGr]
# Material properties
type = GBEvolution # Quantitative material properties for copper grain growth. Dimensions are nm and ns
GBmob0 = 2.5e-6 # Mobility prefactor for Cu from Schonfelder1997
GBenergy = 0.708 # GB energy for Cu from Schonfelder1997
Q = 0.23 # Activation energy for grain growth from Schonfelder 1997
T = 450 # Constant temperature of the simulation (for mobility calculation)
wGB = 14 # Width of the diffuse GB
[../]
[]
[Postprocessors]
# Scalar postprocessors
[./dt]
# Outputs the current time step
type = TimestepSize
[../]
[./num_nodes]
type = NumNodes
[../]
[./num_grains]
type = FeatureFloodCount
variable = bnds
threshold = 0.7
[../]
[]
[Executioner]
type = Transient # Type of executioner, here it is transient with an adaptive time step
scheme = bdf2 # Type of time integration (2nd order backward euler), defaults to 1st order backward euler
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart -mat_mffd_type'
petsc_options_value = 'hypre boomeramg 101 ds'
l_max_its = 30 # Max number of linear iterations
l_tol = 1e-5 # Relative tolerance for linear solves
nl_max_its = 40 # Max number of nonlinear iterations
nl_abs_tol = 1e-9 # Relative tolerance for nonlienar solves
nl_rel_tol = 1e-9 # Absolute tolerance for nonlienar solves
start_time = 0.0
end_time = 4000
[./TimeStepper]
type = IterationAdaptiveDT
dt = 5 # Initial time step. In this simulation it changes.
optimal_iterations = 8 # Time step will adapt to maintain this number of nonlinear iterations
growth_factor = 1.25
[../]
[./Adaptivity]
# Block that turns on mesh adaptivity. Note that mesh will never coarsen beyond initial mesh (before uniform refinement)
initial_adaptivity = 0 # Number of times mesh is adapted to initial condition
refine_fraction = 0.7 # Fraction of high error that will be refined
coarsen_fraction = 0.1 # Fraction of low error that will coarsened
max_h_level = 4 # Max number of refinements used, starting from initial mesh (before uniform refinement)
[../]
[]
[Outputs]
exodus = true
csv = true
[./console]
type = Console
max_rows = 20
[../]
[]
modules/xfem/test/tests/single_var_constraint_3d/stationary_equal_3d.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 5
ny = 5
nz = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 0.25
elem_type = HEX8
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./square_planar_cut_uo]
type = RectangleCutUserObject
cut_data = ' 0.5 -0.001 -0.001
0.5 1.001 -0.001
0.5 1.001 1.001
0.5 -0.001 1.001'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
jump = 0
jump_flux = 0
geometric_cut_userobject = 'square_planar_cut_uo'
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = left
value = 1
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = right
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/examples/xfem/xfem_mechanics_prescribed_growth.i
# This is a demonstration of a simple mechanics simulation using XFEM
# to represent a single crack that is prescribed to propagate along
# a line over time.
[GlobalParams]
displacements = 'disp_x disp_y'
volumetric_locking_correction = true
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 11
ny = 11
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[XFEM]
geometric_cut_userobjects = 'line_seg_cut_uo'
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '1.0 0.5 0.1 0.5'
time_start_cut = 0.0
time_end_cut = 8.0
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
planar_formulation = plane_strain
add_variables = true
[../]
[]
[Functions]
[./pull]
type = PiecewiseLinear
x='0 50'
y='0 0.02'
[../]
[]
[BCs]
[./bottomx]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottomy]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./topx]
type = DirichletBC
boundary = top
variable = disp_x
value = 0.0
[../]
[./topy]
type = FunctionDirichletBC
boundary = top
variable = disp_y
function = pull
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./_elastic_strain]
type = ComputeFiniteStrainElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-14
nl_abs_tol = 1e-9
# time control
start_time = 0.0
dt = 1.0
end_time = 10.0
max_xfem_update = 5
[]
[Outputs]
exodus = true
execute_on = timestep_end
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/pressure_bc/sm/edge_3d_pressure.i
[GlobalParams]
order = FIRST
family = LAGRANGE
volumetric_locking_correction = false
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[Mesh]
type = GeneratedMesh
dim = 3
nx = 2
ny = 9
nz = 10
xmin = -0.1
xmax = 0.1
ymin = -0.5
ymax = 0.5
zmin = -0.5
zmax = 0.5
elem_type = HEX8
displacements = 'disp_x disp_y disp_z'
[]
[UserObjects]
[./square_planar_cut_uo]
type = RectangleCutUserObject
cut_data = '-0.2 0.0 -0.5
-0.2 0.0 0.0
0.2 0.0 0.0
0.2 0.0 -0.5'
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
use_displaced_mesh = true
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
execute_on = timestep_end
[../]
[]
[Functions]
[./pressure]
type = PiecewiseLinear
x = '0 2.0 4.0 6.0 8.0'
y = '0 1000 0 1000 0'
[../]
[]
[DiracKernels]
[./p_x]
type = XFEMPressure
variable = disp_x
component = 0
function = pressure
[../]
[./p_y]
type = XFEMPressure
variable = disp_y
component = 1
function = pressure
[../]
[./p_z]
type = XFEMPressure
variable = disp_z
component = 2
function = pressure
[../]
[]
[BCs]
[./bottom_x]
type = DirichletBC
boundary = 'bottom top'
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = 'bottom top'
variable = disp_y
value = 0.0
[../]
[./bottom_z]
type = DirichletBC
boundary = 'bottom top'
variable = disp_z
value = 0.0
[../]
[]
[Materials]
[./linelast]
type = Elastic
block = 0
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 207000
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-12
# time control
start_time = 0.0
dt = 1.0
end_time = 2.0
[]
[Outputs]
file_base = edge_3d_pressure_out
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/solid_mechanics/test/tests/cracking/cracking_plane_stress.i
################################################################################
#
# 1x1x1 cube, single element
# simulate plane stress
# pull in +y direction on right surface to produce shear strain
#
#
#
# ____________
# /| /|
# / | 5 / | -X Left 1
# /__________ / | +X Right 4
# | | 3 | | +Y Top 5
# | 1 | | 4 | -Y Bottom 2
# | |_6_____|___| y +Z Front 6
# | / | / ^ -Z Back 3
# | / 2 | / |
# |/__________|/ |
# ----> x
# /
# /
# z
#
#
#
#################################################################################
[Mesh]
file = cube.e
displacements = 'disp_x disp_y disp_z'
# This test uses ElementalVariableValue postprocessors on specific
# elements, so element numbering needs to stay unchanged
allow_renumbering = false
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[./disp_z]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zx]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_zx]
order = CONSTANT
family = MONOMIAL
[../]
[./crack_xx_flags]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Functions]
[./displ]
type = PiecewiseLinear
x = '0 0.1 0.2 0.3 0.4'
y = '0 0.0026 0 -0.0026 0'
[../]
[./pressure]
type = PiecewiseLinear
x = '0 0.1 0.2 0.3 0.4'
y = '0 0 0 0 0'
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
[../]
[]
[AuxKernels]
[./crack_xx_flags]
type = MaterialRealVectorValueAux
property = crack_flags
variable = crack_xx_flags
component = 0
block = 1
[../]
[./stress_xx]
type = MaterialTensorAux
variable = stress_xx
tensor = stress
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
variable = stress_yy
tensor = stress
index = 1
[../]
[./stress_zz]
type = MaterialTensorAux
variable = stress_zz
tensor = stress
index = 2
[../]
[./stress_xy]
type = MaterialTensorAux
variable = stress_xy
tensor = stress
index = 3
[../]
[./stress_yz]
type = MaterialTensorAux
variable = stress_yz
tensor = stress
index = 4
[../]
[./stress_zx]
type = MaterialTensorAux
variable = stress_zx
tensor = stress
index = 5
[../]
[./strain_xx]
type = MaterialTensorAux
variable = strain_xx
tensor = total_strain
index = 0
[../]
[./strain_yy]
type = MaterialTensorAux
variable = strain_yy
tensor = total_strain
index = 1
[../]
[./strain_zz]
type = MaterialTensorAux
variable = strain_zz
tensor = total_strain
index = 2
[../]
[./strain_xy]
type = MaterialTensorAux
variable = strain_xy
tensor = total_strain
index = 3
[../]
[./strain_yz]
type = MaterialTensorAux
variable = strain_yz
tensor = total_strain
index = 4
[../]
[./strain_zx]
type = MaterialTensorAux
variable = strain_zx
tensor = total_strain
index = 5
[../]
[]
[BCs]
[./pull_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = displ
[../]
[./pin_x]
type = DirichletBC
variable = disp_x
boundary = '1 4'
value = 0.0
[../]
[./pin_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = '3'
value = 0.0
[../]
[./front]
type = Pressure
variable = disp_z
component = 2
boundary = 6
function = pressure
factor = 1.0
[../]
[]
[Materials]
[./fred]
type = Elastic
block = 1
youngs_modulus = 200.0e3
poissons_ratio = 0.3
cracking_stress = 120
cracking_release = exponential
cracking_residual_stress = 0.1
cracking_beta = 0.1
compute_method = ShearRetention
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
[../]
[]
[Postprocessors]
[./elem_stress_xx]
type = ElementalVariableValue
variable = stress_xx
elementid = 0
[../]
[./elem_strain_xx]
type = ElementalVariableValue
variable = strain_xx
elementid = 0
[../]
[./elem_stress_yy]
type = ElementalVariableValue
variable = stress_yy
elementid = 0
[../]
[./elem_strain_yy]
type = ElementalVariableValue
variable = strain_yy
elementid = 0
[../]
[./elem_stress_zz]
type = ElementalVariableValue
variable = stress_zz
elementid = 0
[../]
[./elem_strain_zz]
type = ElementalVariableValue
variable = strain_zz
elementid = 0
[../]
[./elem_stress_xy]
type = ElementalVariableValue
variable = stress_xy
elementid = 0
[../]
[./elem_strain_xy]
type = ElementalVariableValue
variable = strain_xy
elementid = 0
[../]
[./elem_stress_yz]
type = ElementalVariableValue
variable = stress_yz
elementid = 0
[../]
[./elem_strain_yz]
type = ElementalVariableValue
variable = strain_yz
elementid = 0
[../]
[./elem_stress_zx]
type = ElementalVariableValue
variable = stress_yz
elementid = 0
[../]
[./elem_strain_zx]
type = ElementalVariableValue
variable = strain_yz
elementid = 0
[../]
[./elem_crack_flags]
type = ElementalVariableValue
variable = crack_xx_flags
elementid = 0
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -sub_pc_type'
petsc_options_value = '101 asm lu'
line_search = 'none'
l_max_its = 100
nl_max_its = 100
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
l_tol = 1e-5
start_time = 0.0
end_time = 0.4
dt = 0.04
[]
[Outputs]
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
output_linear = true
[../]
csv = true
[]
modules/xfem/test/tests/second_order_elements/diffusion_quad9_levelsetcut.i
# A simple diffusion problem with quad9 elements
# The mesh is cut using levle set based cutter
[GlobalParams]
order = SECOND
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 3
ny = 3
xmin = 0
xmax = 1
ymin = 0
ymax = 1
elem_type = QUAD9
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
[../]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Functions]
[./u_left]
type = PiecewiseLinear
x = '0 2'
y = '3 5'
[../]
[./ls_func]
type = ParsedFunction
value = 'x-0.53'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
# Define boundary conditions
[./left_u]
type = DirichletBC
variable = u
boundary = 3
value = 3
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
line_search = 'none'
l_tol = 1e-3
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
start_time = 0.0
dt = 1
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
interval = 1
execute_on = timestep_end
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/axisymmetric_2d3d_solution_function/2d.i
[GlobalParams]
order = FIRST
family = LAGRANGE
disp_x = disp_x
disp_y = disp_y
displacements = 'disp_x disp_y'
[]
[Problem]
coord_type = RZ
[]
[Mesh]
file = 2d.e
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./temp]
initial_condition = 400
[../]
[]
[AuxVariables]
[./hoop_stress]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Functions]
[./temp_inner_func]
type = PiecewiseLinear
xy_data = '0 400
1 350'
[../]
[./temp_outer_func]
type = PiecewiseLinear
xy_data = '0 400
1 400'
[../]
[./press_func]
type = PiecewiseLinear
xy_data = '0 15
1 15'
[../]
[]
[Kernels]
[./heat]
type = HeatConduction
variable = temp
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
volumetric_locking_correction = true
add_variables = true
incremental = true
strain = FINITE
eigenstrain_names = thermal_expansion
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress'
[../]
[]
[AuxKernels]
[./hoop_stress]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = hoop_stress
scalar_type = HoopStress
execute_on = timestep_end
[../]
[]
[BCs]
[./no_y]
type = DirichletBC
variable = disp_y
boundary = '1'
value = 0.0
[../]
[./Pressure]
[./internal_pressure]
boundary = '4'
factor = 1.e6
function = press_func
[../]
[../]
[./t_in]
type = FunctionDirichletBC
variable = temp
boundary = '4'
function = temp_inner_func
[../]
[./t_out]
type = FunctionDirichletBC
variable = temp
boundary = '2'
function = temp_outer_func
[../]
[]
[Constraints]
[./disp_y]
type = EqualValueBoundaryConstraint
variable = disp_y
master = '65'
slave = '3'
penalty = 1e18
[../]
[]
[Materials]
[./thermal1]
type = HeatConductionMaterial
block = '1'
thermal_conductivity = 25.0
specific_heat = 490.0
temp = temp
[../]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 193.05e9
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[./thermal_expansion]
type = ComputeThermalExpansionEigenstrain
thermal_expansion_coeff = 13e-6
stress_free_temperature = 295.00
temperature = temp
eigenstrain_name = thermal_expansion
[../]
[./density]
type = Density
block = '1'
density = 8000.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-ksp_snes_ew'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = ' 201 hypre boomeramg 4'
line_search = 'none'
l_max_its = 25
nl_max_its = 20
nl_rel_tol = 1e-9
l_tol = 1e-2
start_time = 0.0
dt = 1
end_time = 1
dtmin = 1
[]
[Outputs]
file_base = 2d_out
exodus = true
[./console]
type = Console
max_rows = 25
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_4/ring4_template1_sm.i
[Mesh]
file = ring4_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = FEProblem
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-9
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/xfem/test/tests/solid_mechanics_basic/sm/crack_propagation_2d.i
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
use_crack_growth_increment = true
crack_growth_increment = 0.2
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 11
ny = 11
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
displacements = 'disp_x disp_y'
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '1.0 0.5 0.7 0.5'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[./xfem_marker_uo]
type = XFEMMaterialTensorMarkerUserObject
execute_on = timestep_end
tensor = stress
quantity = MaxPrincipal
threshold = 5e+1
average = true
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[Functions]
[./pull]
type = PiecewiseLinear
x='0 50 100'
y='0 0.02 0.1'
[../]
[]
[BCs]
[./bottomx]
type = DirichletBC
boundary = bottom
variable = disp_x
value = 0.0
[../]
[./bottomy]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[../]
[./topx]
type = DirichletBC
boundary = top
variable = disp_x
value = 0.0
[../]
[./topy]
type = FunctionDirichletBC
boundary = top
variable = disp_y
function = pull
[../]
[]
[Materials]
[./linelast]
type = Elastic
block = 0
disp_x = disp_x
disp_y = disp_y
poissons_ratio = 0.3
youngs_modulus = 1e6
formulation = NonlinearPlaneStrain
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-14
nl_abs_tol = 1e-9
# time control
start_time = 0.0
dt = 1.0
end_time = 2.0
num_steps = 5000
max_xfem_update = 1
[]
[Outputs]
file_base = crack_propagation_2d_out
exodus = true
execute_on = timestep_end
[./console]
type = Console
output_linear = true
[../]
[]
modules/combined/test/tests/sliding_block/sliding/constraint/sm/frictionless_penalty_sm.i
# This is a benchmark test that checks constraint based frictionless
# contact using the penalty method. In this test a constant
# displacement is applied in the horizontal direction to simulate
# a small block come sliding down a larger block.
#
# The gold file is run on one processor
# and the benchmark case is run on a minimum of 4 processors to ensure no
# parallel variability in the contact pressure and penetration results.
#
[Mesh]
file = sliding_elastic_blocks_2d.e
patch_size = 80
[]
[GlobalParams]
volumetric_locking_correction = false
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./vertical_movement]
type = ParsedFunction
value = -t
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
[../]
[]
[AuxKernels]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 3
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[Postprocessors]
[./nonlinear_its]
type = NumNonlinearIterations
execute_on = timestep_end
[../]
[./penetration]
type = NodalVariableValue
variable = penetration
nodeid = 222
[../]
[./contact_pressure]
type = NodalVariableValue
variable = contact_pressure
nodeid = 222
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 4
value = -0.02
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 4
function = vertical_movement
[../]
[]
[Materials]
[./left]
type = Elastic
formulation = NonlinearPlaneStrain
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./right]
type = Elastic
formulation = NonlinearPlaneStrain
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_ksp_ew'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 1000
dt = 0.1
end_time = 15
num_steps = 1000
l_tol = 1e-6
nl_rel_tol = 1e-10
nl_abs_tol = 1e-6
dtmin = 0.01
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
[]
[Outputs]
interval = 10
[./out]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 2
model = frictionless
penalty = 1e+7
formulation = penalty
system = constraint
normal_smoothing_distance = 0.1
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/plane_2/plane2_template1.i
[GlobalParams]
volumetric_locking_correction = true
displacements = 'disp_x disp_y'
[]
[Mesh]
file = plane2_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./zeroslip_x]
type = ConstantAux
variable = inc_slip_x
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./zeroslip_y]
type = ConstantAux
variable = inc_slip_y
boundary = 4
execute_on = timestep_begin
value = 0.0
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x5]
type = NodalVariableValue
nodeid = 4
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y5]
type = NodalVariableValue
nodeid = 4
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeIncrementalSmallStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeIncrementalSmallStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-8
nl_rel_tol = 1e-7
l_max_its = 100
nl_max_its = 200
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-3
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x5 disp_y5 disp_x9 disp_y9 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/gap_heat_transfer_htonly/cyl2D.i
#
# 2D Cylindrical Gap Heat Transfer Test.
#
# This test exercises 2D gap heat transfer for a constant conductivity gap.
#
# The mesh consists of an inner solid cylinder of radius = 1 unit, and outer
# hollow cylinder with an inner radius of 2 in the x-y plane. In other words,
# the gap between them is 1 radial unit in length.
#
# The conductivity of both cylinders is set very large to achieve a uniform
# temperature in each cylinder. The temperature of the center node of the
# inner cylinder is ramped from 100 to 200 over one time unit. The temperature
# of the outside of the outer, hollow cylinder is held fixed at 100.
#
# A simple analytical solution is possible for the integrated heat flux
# between the inner and outer cylinders:
#
# Integrated Flux = (T_left - T_right) * (gapK/(r*ln(r2/r1))) * Area
#
# For gapK = 1 (default value)
#
# The area is taken as the area of the slave (inner) surface:
#
# Area = 2 * pi * h * r, where h is the height of the cylinder.
#
# The integrated heat flux across the gap at time 1 is then:
#
# 2*pi*h*k*delta_T/(ln(r2/r1))
# 2*pi*1*1*100/(ln(2/1)) = 906.5 watts
#
# For comparison, see results from the integrated flux post processors.
# This simulation makes use of symmetry, so only 1/4 of the cylinders is meshed
# As such, the integrated flux from the post processors is 1/4 of the total,
# or 226.6 watts.
# The value coming from the post processor is slightly less than this
# but converges as mesh refinement increases.
# Note that the 2D and 3D results are the same.
#
# Simulating contact is challenging. Regression tests that exercise
# contact features can be difficult to solve consistently across multiple
# platforms. While designing these tests, we felt it worth while to note
# some aspects of these tests. The following applies to:
# sphere3D.i, sphere2DRZ.i, cyl2D.i, and cyl3D.i.
# 1. We decided that to perform consistently across multiple platforms we
# would use very small convergence tolerance. In this test we chose an
# nl_rel_tol of 1e-12.
# 2. Due to such a high value for thermal conductivity (used here so that the
# domains come to a uniform temperature) the integrated flux at time = 0
# was relatively large (the value coming from SideIntegralFlux =
# -_diffusion_coef[_qp]*_grad_u[_qp]*_normals[_qp] where the diffusion coefficient
# here is thermal conductivity).
# Even though _grad_u[_qp] is small, in this case the diffusion coefficient
# is large. The result is a number that isn't exactly zero and tends to
# fail exodiff. For this reason the parameter execute_on = initial should not
# be used. That parameter is left to default settings in these regression tests.
#
[GlobalParams]
order = SECOND
family = LAGRANGE
[]
[Mesh]
file = cyl2D.e
[]
[Functions]
[./temp]
type = PiecewiseLinear
x = '0 1'
y = '100 200'
[../]
[]
[Variables]
[./temp]
initial_condition = 100
[../]
[]
[AuxVariables]
[./gap_conductance]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./heat_conduction]
type = HeatConduction
variable = temp
[../]
[]
[AuxKernels]
[./gap_cond]
type = MaterialRealAux
property = gap_conductance
variable = gap_conductance
boundary = 2
[../]
[]
[Materials]
[./heat1]
type = HeatConductionMaterial
block = '1 2'
specific_heat = 1.0
thermal_conductivity = 1000000.0
[../]
[]
[ThermalContact]
[./thermal_contact]
type = GapHeatTransfer
variable = temp
master = 3
slave = 2
gap_conductivity = 1
quadrature = true
gap_geometry_type = CYLINDER
cylinder_axis_point_1 = '0 0 0'
cylinder_axis_point_2 = '0 0 1'
[../]
[]
[BCs]
[./mid]
type = FunctionDirichletBC
boundary = 1
variable = temp
function = temp
[../]
[./temp_far_right]
type = DirichletBC
boundary = 4
variable = temp
value = 100
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
dt = 1
dtmin = 0.01
end_time = 1
nl_rel_tol = 1e-12
nl_abs_tol = 1e-7
[./Quadrature]
order = fifth
side_order = seventh
[../]
[]
[Outputs]
exodus = true
[./Console]
type = Console
[../]
[]
[Postprocessors]
[./temp_left]
type = SideAverageValue
boundary = 2
variable = temp
[../]
[./temp_right]
type = SideAverageValue
boundary = 3
variable = temp
[../]
[./flux_left]
type = SideFluxIntegral
variable = temp
boundary = 2
diffusivity = thermal_conductivity
[../]
[./flux_right]
type = SideFluxIntegral
variable = temp
boundary = 3
diffusivity = thermal_conductivity
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/single_pnt_2d/single_point_2d_sm.i
[Mesh]
file = single_point_2d.e
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[]
[Functions]
[./appl_disp]
type = PiecewiseLinear
x = '0 0.001 0.101'
y = '0 0.0 -0.10'
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
save_in_disp_x = saved_x
save_in_disp_y = saved_y
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
[../]
[]
[AuxKernels]
[./incslip_x]
type = PenetrationAux
variable = inc_slip_x
quantity = incremental_slip_x
boundary = 3
paired_boundary = 2
[../]
[./incslip_y]
type = PenetrationAux
variable = inc_slip_y
quantity = incremental_slip_y
boundary = 3
paired_boundary = 2
[../]
[./accum_slip_x]
type = AccumulateAux
variable = accum_slip_x
accumulate_from_variable = inc_slip_x
execute_on = timestep_end
[../]
[./accum_slip_y]
type = AccumulateAux
variable = accum_slip_y
accumulate_from_variable = inc_slip_y
execute_on = timestep_end
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 2
[../]
[]
[BCs]
[./botx]
type = DirichletBC
variable = disp_x
boundary = 1
value = 0.0
[../]
[./boty]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./topx]
type = FunctionDirichletBC
variable = disp_x
boundary = 4
function = appl_disp
[../]
[./topy]
type = DirichletBC
variable = disp_y
boundary = 4
value = -0.002001
[../]
[]
[Materials]
[./bottom]
type = Elastic
block = 1
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e9
formulation = NonlinearPlaneStrain
[../]
[./top]
type = Elastic
block = 2
disp_y = disp_y
disp_x = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
formulation = NonlinearPlaneStrain
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 4
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 4
[../]
[./disp_x]
type = NodalVariableValue
nodeid = 5
variable = disp_x
[../]
[./disp_y]
type = NodalVariableValue
nodeid = 5
variable = disp_y
[../]
[./inc_slip_x]
type = NodalVariableValue
nodeid = 5
variable = inc_slip_x
[../]
[./inc_slip_y]
type = NodalVariableValue
nodeid = 5
variable = inc_slip_y
[../]
[./accum_slip_x]
type = NodalVariableValue
nodeid = 5
variable = accum_slip_x
[../]
[./accum_slip_y]
type = NodalVariableValue
nodeid = 5
variable = accum_slip_y
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
l_max_its = 100
nl_max_its = 200
dt = 0.001
end_time = 0.001
num_steps = 10000
nl_rel_tol = 1e-6
nl_abs_tol = 1e-8
dtmin = 0.001
l_tol = 1e-3
[]
[Outputs]
file_base = single_point_2d_out_glued_kin
exodus = true
print_linear_residuals = true
perf_graph = true
csv = true
[./console]
type = Console
max_rows = 5
[../]
[]
[Contact]
[./leftright]
master = 2
slave = 3
disp_y = disp_y
disp_x = disp_x
model = glued
system = constraint
formulation = kinematic
penalty = 1e12
normalize_penalty = true
tangential_tolerance = 1e-3
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_3/brick3_template1.i
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
file = brick3_mesh.e
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[Kernels]
[./TensorMechanics]
use_displaced_mesh = true
save_in = 'saved_x saved_y saved_z'
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xx
index_i = 0
index_j = 0
execute_on = timestep_end
[../]
[./stress_yy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_yy
index_i = 1
index_j = 1
execute_on = timestep_end
[../]
[./stress_xy]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_xy
index_i = 0
index_j = 1
execute_on = timestep_end
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
execute_on = timestep_end
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x28]
type = NodalVariableValue
nodeid = 27
variable = disp_x
[../]
[./disp_x33]
type = NodalVariableValue
nodeid = 32
variable = disp_x
[../]
[./disp_y28]
type = NodalVariableValue
nodeid = 27
variable = disp_y
[../]
[./disp_y33]
type = NodalVariableValue
nodeid = 32
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '1'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./bot_strain]
type = ComputeFiniteStrain
block = '1'
[../]
[./bot_stress]
type = ComputeFiniteStrainElasticStress
block = '1'
[../]
[./top_elas_tens]
type = ComputeIsotropicElasticityTensor
block = '2'
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./top_strain]
type = ComputeFiniteStrain
block = '2'
[../]
[./top_stress]
type = ComputeFiniteStrainElasticStress
block = '2'
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x28 disp_y28 disp_x33 disp_y33 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/brick_3/brick3_template1_sm.i
[Mesh]
file = brick3_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./saved_z]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./diag_saved_z]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./inc_slip_z]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./accum_slip_z]
[../]
[]
[SolidMechanics]
[./solid]
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
save_in_disp_x = saved_x
save_in_disp_y = saved_y
save_in_disp_z = saved_z
diag_save_in_disp_x = diag_saved_x
diag_save_in_disp_y = diag_saved_y
diag_save_in_disp_z = diag_saved_z
extra_vector_tags = 'ref'
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_begin
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 4
paired_boundary = 3
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 4
paired_boundary = 3
[../]
[]
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x28]
type = NodalVariableValue
nodeid = 27
variable = disp_x
[../]
[./disp_x33]
type = NodalVariableValue
nodeid = 32
variable = disp_x
[../]
[./disp_y28]
type = NodalVariableValue
nodeid = 27
variable = disp_y
[../]
[./disp_y33]
type = NodalVariableValue
nodeid = 32
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./side_x]
type = DirichletBC
variable = disp_x
boundary = 2
value = 0.0
[../]
[./back_z]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-9
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = id
[../]
[./y_disp]
type = NodalValueSampler
variable = disp_y
boundary = '1 3 4 5'
sort_by = id
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = id
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x28 disp_y28 disp_x33 disp_y33 stress_yy stress_zz top_react_x top_react_y x_disp y_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
order = SECOND
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
[../]
[]
modules/richards/test/tests/buckley_leverett/bl20_lumped_fu.i
# two-phase version
[Mesh]
type = GeneratedMesh
dim = 1
nx = 30
xmin = 0
xmax = 15
[]
[GlobalParams]
richardsVarNames_UO = PPNames
density_UO = 'DensityWater DensityGas'
relperm_UO = 'RelPermWater RelPermGas'
SUPG_UO = 'SUPGwater SUPGgas'
sat_UO = 'SatWater SatGas'
seff_UO = 'SeffWater SeffGas'
[]
[Functions]
[./dts]
type = PiecewiseLinear
y = '0.1 0.5 0.5 1 2 4'
x = '0 0.1 1 5 40 42'
[../]
[]
[UserObjects]
[./PPNames]
type = RichardsVarNames
richards_vars = 'pwater pgas'
[../]
[./DensityWater]
type = RichardsDensityConstBulk
dens0 = 1000
bulk_mod = 2E6
[../]
[./DensityGas]
type = RichardsDensityConstBulk
dens0 = 1
bulk_mod = 2E6
[../]
[./SeffWater]
type = RichardsSeff2waterVG
m = 0.8
al = 1E-5
[../]
[./SeffGas]
type = RichardsSeff2gasVG
m = 0.8
al = 1E-5
[../]
[./RelPermWater]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./RelPermGas]
type = RichardsRelPermPower
simm = 0.0
n = 2
[../]
[./SatWater]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SatGas]
type = RichardsSat
s_res = 0.0
sum_s_res = 0.0
[../]
[./SUPGwater]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[./SUPGgas]
type = RichardsSUPGstandard
p_SUPG = 1E-5
[../]
[]
[Variables]
[./pwater]
order = FIRST
family = LAGRANGE
[../]
[./pgas]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./w_aux_seff]
[../]
[]
[Kernels]
[./richardstwater]
type = RichardsLumpedMassChange
variable = pwater
[../]
[./richardsfwater]
type = RichardsFullyUpwindFlux
variable = pwater
[../]
[./richardstgas]
type = RichardsLumpedMassChange
variable = pgas
[../]
[./richardsfgas]
type = RichardsFullyUpwindFlux
variable = pgas
[../]
[]
[AuxKernels]
[./w_aux_seff_auxk]
type = RichardsSeffAux
seff_UO = SeffWater
pressure_vars = 'pwater pgas'
variable = w_aux_seff
[../]
[]
[ICs]
[./water_ic]
type = FunctionIC
variable = pwater
function = initial_water
[../]
[./gas_ic]
type = FunctionIC
variable = pgas
function = initial_gas
[../]
[]
[BCs]
[./left_w]
type = DirichletBC
variable = pwater
boundary = left
value = 1E6
[../]
[./left_g]
type = DirichletBC
variable = pgas
boundary = left
value = 1000
[../]
[./right_w]
type = DirichletBC
variable = pwater
boundary = right
value = -300000
[../]
[./right_g]
type = DirichletBC
variable = pgas
boundary = right
value = 0
[../]
[]
[Functions]
[./initial_water]
type = ParsedFunction
value = 1000000*(1-min(x/5,1))-if(x<5,0,300000)
[../]
[./initial_gas]
type = ParsedFunction
value = 1000
[../]
[]
[Materials]
[./rock]
type = RichardsMaterial
block = 0
mat_porosity = 0.15
mat_permeability = '1E-10 0 0 0 1E-10 0 0 0 1E-10'
viscosity = '1E-3 1E-6'
gravity = '0 0 0'
linear_shape_fcns = true
[../]
[]
[Preconditioning]
active = 'standard'
[./bounded]
# must use --use-petsc-dm command line argument
type = SMP
full = true
petsc_options_iname = '-snes_type -pc_factor_shift_type'
petsc_options_value = 'vinewtonssls nonzero'
[../]
[./standard]
type = SMP
full = true
petsc_options_iname = '-pc_factor_shift_type'
petsc_options_value = 'nonzero'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 50
nl_rel_tol = 1.e-9
nl_max_its = 10
[./TimeStepper]
type = FunctionDT
function = dts
[../]
[]
[Outputs]
file_base = bl20_lumped_fu
execute_on = 'initial timestep_end final'
interval = 100000
exodus = true
hide = pgas
[./console_out]
type = Console
interval = 1
[../]
[]
modules/combined/test/tests/axisymmetric_2d3d_solution_function/3dy_sm.i
[GlobalParams]
order = FIRST
family = LAGRANGE
disp_x = disp_x
disp_y = disp_y
disp_z = disp_z
[]
[Mesh]
file = 3dy.e
displacements = 'disp_x disp_y disp_z'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxVariables]
[./temp]
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises_stress]
order = CONSTANT
family = MONOMIAL
[../]
[./hoop_stress]
order = CONSTANT
family = MONOMIAL
[../]
[./hydrostatic_stress]
order = CONSTANT
family = MONOMIAL
[../]
[]
[UserObjects]
[./soln]
type = SolutionUserObject
mesh = 2d_out.e
system_variables = 'disp_x disp_y temp'
[../]
[]
[Functions]
[./soln_func_temp]
type = Axisymmetric2D3DSolutionFunction
solution = soln
from_variables = 'temp'
[../]
[./soln_func_disp_x]
type = Axisymmetric2D3DSolutionFunction
solution = soln
from_variables = 'disp_x disp_y'
component = 0
[../]
[./soln_func_disp_y]
type = Axisymmetric2D3DSolutionFunction
solution = soln
from_variables = 'disp_x disp_y'
component = 1
[../]
[./soln_func_disp_z]
type = Axisymmetric2D3DSolutionFunction
solution = soln
from_variables = 'disp_x disp_y'
component = 2
[../]
[]
[SolidMechanics]
[./solid]
temp = temp
[../]
[]
[AuxKernels]
[./t_soln_aux]
type = FunctionAux
variable = temp
block = '1 2'
function = soln_func_temp
[../]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_zz]
type = MaterialTensorAux
tensor = stress
variable = stress_zz
index = 2
[../]
[./vonmises_stress]
type = MaterialTensorAux
tensor = stress
variable = vonmises_stress
quantity = vonmises
[../]
[./hoop_stress]
type = MaterialTensorAux
tensor = stress
variable = hoop_stress
quantity = hoop
execute_on = timestep_end
[../]
[./hydrostatic_stress]
type = MaterialTensorAux
tensor = stress
variable = hydrostatic_stress
quantity = hydrostatic
execute_on = timestep_end
[../]
[]
[BCs]
[./x_soln_bc]
type = FunctionDirichletBC
variable = disp_x
boundary = '1 2'
function = soln_func_disp_x
[../]
[./y_soln_bc]
type = FunctionDirichletBC
variable = disp_y
boundary = '1 2'
function = soln_func_disp_y
[../]
[./z_soln_bc]
type = FunctionDirichletBC
variable = disp_z
boundary = '1 2'
function = soln_func_disp_z
[../]
[]
[Materials]
[./solid_mechanics1]
type = Elastic
block = '1 2'
temp = temp
youngs_modulus = 193.05e9
poissons_ratio = 0.3
thermal_expansion = 13e-6
stress_free_temperature = 295.00
[../]
[./density]
type = Density
block = '1'
density = 8000.0
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-ksp_snes_ew'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = ' 201 hypre boomeramg 4'
line_search = 'none'
l_max_its = 25
nl_max_its = 20
nl_rel_tol = 1e-10
l_tol = 1e-2
start_time = 0.0
dt = 1
end_time = 1
dtmin = 1
[]
[Outputs]
file_base = 3dy_out
exodus = true
[./console]
type = Console
max_rows = 25
[../]
[]
modules/combined/test/tests/contact_verification/patch_tests/ring_4/ring4_template2_sm.i
[Mesh]
file = ring4_mesh.e
[]
[GlobalParams]
order = SECOND
displacements = 'disp_x disp_y'
[]
[Problem]
type = AugmentedLagrangianContactProblem
maximum_lagrangian_update_iterations = 200
coord_type = RZ
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./penetration]
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[./diag_saved_x]
[../]
[./diag_saved_y]
[../]
[./inc_slip_x]
[../]
[./inc_slip_y]
[../]
[./accum_slip_x]
[../]
[./accum_slip_y]
[../]
[./tang_force_x]
[../]
[./tang_force_y]
[../]
[]
[SolidMechanics]
[./solid]
disp_r = disp_x
disp_z = disp_y
save_in_disp_z = saved_y
save_in_disp_r = saved_x
diag_save_in_disp_z = diag_saved_y
diag_save_in_disp_r = diag_saved_x
[../]
[]
[AuxKernels]
[./stress_xx]
type = MaterialTensorAux
tensor = stress
variable = stress_xx
index = 0
[../]
[./stress_yy]
type = MaterialTensorAux
tensor = stress
variable = stress_yy
index = 1
[../]
[./stress_xy]
type = MaterialTensorAux
tensor = stress
variable = stress_xy
index = 3
[../]
[./inc_slip_x]
type = PenetrationAux
variable = inc_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./inc_slip_y]
type = PenetrationAux
variable = inc_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_x]
type = PenetrationAux
variable = accum_slip_x
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./accum_slip_y]
type = PenetrationAux
variable = accum_slip_y
execute_on = timestep_end
boundary = 3
paired_boundary = 4
[../]
[./penetration]
type = PenetrationAux
variable = penetration
boundary = 3
paired_boundary = 4
[../]
[./tang_force_x]
type = PenetrationAux
variable = tang_force_x
quantity = tangential_force_x
boundary = 3
paired_boundary = 4
[../]
[./tang_force_y]
type = PenetrationAux
variable = tang_force_y
quantity = tangential_force_y
boundary = 3
paired_boundary = 4
[../]
[] # AuxKernels
[Postprocessors]
[./bot_react_x]
type = NodalSum
variable = saved_x
boundary = 1
[../]
[./bot_react_y]
type = NodalSum
variable = saved_y
boundary = 1
[../]
[./top_react_x]
type = NodalSum
variable = saved_x
boundary = 5
[../]
[./top_react_y]
type = NodalSum
variable = saved_y
boundary = 5
[../]
[./ref_resid_x]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_x
[../]
[./ref_resid_y]
type = NodalL2Norm
execute_on = timestep_end
variable = saved_y
[../]
[./sigma_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./sigma_zz]
type = ElementAverageValue
variable = stress_zz
[../]
[./disp_x16]
type = NodalVariableValue
nodeid = 15
variable = disp_x
[../]
[./disp_x9]
type = NodalVariableValue
nodeid = 8
variable = disp_x
[../]
[./disp_y16]
type = NodalVariableValue
nodeid = 15
variable = disp_y
[../]
[./disp_y9]
type = NodalVariableValue
nodeid = 8
variable = disp_y
[../]
[./_dt]
type = TimestepSize
[../]
[./num_lin_it]
type = NumLinearIterations
[../]
[./num_nonlin_it]
type = NumNonlinearIterations
[../]
[]
[BCs]
[./bot_y]
type = DirichletBC
variable = disp_y
boundary = 1
value = 0.0
[../]
[./top_press]
type = Pressure
variable = disp_y
boundary = 5
component = 1
factor = 109.89
[../]
[]
[Materials]
[./bot]
type = Elastic
block = 1
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./top]
type = Elastic
block = 2
disp_z = disp_y
disp_r = disp_x
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[]
[Executioner]
type = Transient
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_abs_tol = 1e-10
nl_rel_tol = 1e-8
l_max_its = 50
nl_max_its = 100
dt = 1.0
end_time = 1.0
num_steps = 10
dtmin = 1.0
l_tol = 1e-5
[]
[VectorPostprocessors]
[./x_disp]
type = NodalValueSampler
variable = disp_x
boundary = '1 3 4 5'
sort_by = x
[../]
[./cont_press]
type = NodalValueSampler
variable = contact_pressure
boundary = '3'
sort_by = x
[../]
[]
[Outputs]
print_linear_residuals = true
perf_graph = true
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[./console]
type = Console
max_rows = 5
[../]
[./chkfile]
type = CSV
show = 'bot_react_x bot_react_y disp_x9 disp_y9 disp_x16 disp_y16 sigma_yy sigma_zz top_react_x top_react_y x_disp cont_press'
execute_vector_postprocessors_on = timestep_end
[../]
[./outfile]
type = CSV
delimiter = ' '
execute_vector_postprocessors_on = none
[../]
[]
[Contact]
[./leftright]
slave = 3
master = 4
system = constraint
normalize_penalty = true
tangential_tolerance = 1e-3
penalty = 1e+9
al_penetration_tolerance = 1e-8
[../]
[]
modules/xfem/test/tests/moving_interface/verification/1D_xy_homog1mat.i
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
# XFEM Moving Interface Verification Problem
# Dimensionality: quasi-1D
# Coordinate System: xy
# Material Numbers/Types: homogeneous 1 material, 2 region
# Element Order: 1st
# Interface Characteristics: u independent, prescribed linear level set function
# Description:
# A simple transient heat transfer problem in Cartesian coordinates designed
# with the Method of Manufactured Solutions. This problem was developed to
# verify XFEM performance in the presence of a moving interface for linear
# element models that can be exactly evaluated by FEM/Moose. Both the
# temperature solution and level set function are designed to be linear to
# attempt to minimize error between the Moose/exact solution and XFEM results.
# Thermal conductivity is a single, constant value at all points in the system.
# Results:
# The temperature at the left boundary (x=0) exhibits the largest difference
# between the FEM/Moose solution and XFEM results. We present the XFEM results
# at this location with 10 digits of precision:
# Time Expected Temperature XFEM Calculated Temperature
# 0.2 440 440
# 0.4 480 480.0000064
# 0.6 520 520.0000323
# 0.8 560 560.0000896
# 1.0 600 600.0001870
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 0.5
elem_type = QUAD4
[]
[XFEM]
qrule = moment_fitting
output_cut_plane = true
[]
[UserObjects]
[./level_set_cut_uo]
type = LevelSetCutUserObject
level_set_var = ls
heal_always = true
[../]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./ls]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./heat_cond]
type = MatDiffusion
variable = u
diffusivity = diffusion_coefficient
[../]
[./vol_heat_src]
type = BodyForce
variable = u
function = src_func
[../]
[./mat_time_deriv]
type = TestMatTimeDerivative
variable = u
mat_prop_value = rhoCp
[../]
[]
[AuxKernels]
[./ls_function]
type = FunctionAux
variable = ls
function = ls_func
[../]
[]
[Constraints]
[./xfem_constraint]
type = XFEMSingleVariableConstraint
variable = u
geometric_cut_userobject = 'level_set_cut_uo'
use_penalty = true
alpha = 1e5
[../]
[]
[Functions]
[./src_func]
type = ParsedFunction
value = '10*(-200*x+200)'
[../]
[./ls_func]
type = ParsedFunction
value = '1-(x-0.04)-0.2*t'
[../]
[./neumann_func]
type = ParsedFunction
value = '1.5*200*t'
[../]
[]
[Materials]
[./mat_time_deriv_prop]
type = GenericConstantMaterial
prop_names = 'rhoCp'
prop_values = 10
[../]
[./therm_cond_prop]
type = GenericConstantMaterial
prop_names = 'diffusion_coefficient'
prop_values = 1.5
[../]
[]
[BCs]
[./left_du]
type = FunctionNeumannBC
variable = u
boundary = 'left'
function = neumann_func
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = 'right'
value = 400
[../]
[]
[ICs]
[./u_ic]
type = ConstantIC
value = 400
variable = u
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
line_search = 'none'
l_tol = 1.0e-6
nl_max_its = 15
nl_rel_tol = 1.0e-10
nl_abs_tol = 1.0e-9
start_time = 0.0
dt = 0.2
end_time = 1.0
max_xfem_update = 1
[]
[Outputs]
interval = 1
execute_on = 'initial timestep_end'
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
modules/xfem/test/tests/corner_nodes_cut/corner_node_cut.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
volumetric_locking_correction = true
[]
[XFEM]
qrule = volfrac
output_cut_plane = true
[]
[UserObjects]
[./line_seg_cut_uo]
type = LineSegmentCutUserObject
cut_data = '0.0 0.5 0.5 0.5'
time_start_cut = 0.0
time_end_cut = 0.0
[../]
[]
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 4
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
elem_type = QUAD4
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
[../]
[]
[BCs]
[./top_x]
type = DirichletBC
boundary = 2
variable = disp_x
value = 0.0
[../]
[./top_y]
type = DirichletBC
boundary = 2
variable = disp_y
value = 0.1
[../]
[./bottom_y]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[./bottom_x]
type = DirichletBC
boundary = 0
variable = disp_x
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = '201 hypre boomeramg 8'
line_search = 'none'
[./Predictor]
type = SimplePredictor
scale = 1.0
[../]
# max_xfem_update = 1
# controls for linear iterations
l_max_its = 100
l_tol = 1e-2
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-16
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 1.0
end_time = 1.0
[]
[Outputs]
exodus = true
[./console]
type = Console
output_linear = true
[../]
[]
Child Objects
test/include/outputs/OutputObjectTest.h
// This file is part of the MOOSE framework
// https://www.mooseframework.org
//
// All rights reserved, see COPYRIGHT for full restrictions
// https://github.com/idaholab/moose/blob/master/COPYRIGHT
//
// Licensed under LGPL 2.1, please see LICENSE for details
// https://www.gnu.org/licenses/lgpl-2.1.html
#pragma once
// MOOSE includes
#include "Console.h"
class OutputObjectTest : public Console
{
public:
/**
* Class constructor
* @param name
* @param InputParameters
*/
static InputParameters validParams();
OutputObjectTest(const InputParameters & parameters);
/**
* Class destructor
*/
virtual ~OutputObjectTest();
void initialSetup();
private:
MooseEnum _type;
};