- bias_x1The amount by which to grow (or shrink) the cells in the x-direction.
Default:1
C++ Type:double
Description:The amount by which to grow (or shrink) the cells in the x-direction.
- bias_y1The amount by which to grow (or shrink) the cells in the y-direction.
Default:1
C++ Type:double
Description:The amount by which to grow (or shrink) the cells in the y-direction.
- bias_z1The amount by which to grow (or shrink) the cells in the z-direction.
Default:1
C++ Type:double
Description:The amount by which to grow (or shrink) the cells in the z-direction.
- elem_typeThe type of element from libMesh to generate (default: linear element for requested dimension)
C++ Type:MooseEnum
Description:The type of element from libMesh to generate (default: linear element for requested dimension)
- extra_element_integersNames of extra element integers
C++ Type:std::vector
Description:Names of extra element integers
- gauss_lobatto_gridFalseGrade mesh into boundaries according to Gauss-Lobatto quadrature spacing.
Default:False
C++ Type:bool
Description:Grade mesh into boundaries according to Gauss-Lobatto quadrature spacing.
- nx1Number of elements in the X direction
Default:1
C++ Type:unsigned int
Description:Number of elements in the X direction
- ny1Number of elements in the Y direction
Default:1
C++ Type:unsigned int
Description:Number of elements in the Y direction
- nz1Number of elements in the Z direction
Default:1
C++ Type:unsigned int
Description:Number of elements in the Z direction
- xmax1Upper X Coordinate of the generated mesh
Default:1
C++ Type:double
Description:Upper X Coordinate of the generated mesh
- xmin0Lower X Coordinate of the generated mesh
Default:0
C++ Type:double
Description:Lower X Coordinate of the generated mesh
- ymax1Upper Y Coordinate of the generated mesh
Default:1
C++ Type:double
Description:Upper Y Coordinate of the generated mesh
- ymin0Lower Y Coordinate of the generated mesh
Default:0
C++ Type:double
Description:Lower Y Coordinate of the generated mesh
- zmax1Upper Z Coordinate of the generated mesh
Default:1
C++ Type:double
Description:Upper Z Coordinate of the generated mesh
- zmin0Lower Z Coordinate of the generated mesh
Default:0
C++ Type:double
Description:Lower Z Coordinate of the generated mesh
GeneratedMeshGenerator
Description
The GeneratedMeshGenerator
object is the built-in mesh generation capable of creating lines, rectangles, and rectangular prisms ("boxes"). The mesh automatically creates side sets that are logically named and numbered as follows:
In 1D, left = 0, right = 1
In 2D, bottom = 0, right = 1, top = 2, left = 3
In 3D, back = 0, bottom = 1, right = 2, top = 3, left = 4, front = 5
The length, width, and height of the domain, as well as the number of elements in each direction can be specified independently.
Further GeneratedMeshGenerator Documentation
Input 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.
Advanced Parameters
- dimThe dimension of the mesh to be generated
C++ Type:MooseEnum
Options:1 2 3
Description:The dimension of the mesh to be generated
Main Parameters
Input Files
- modules/peridynamics/test/tests/jacobian_check/generalized_planestrain_thermomechanics_smallstrain_NOSPD.i
- modules/phase_field/test/tests/misc/equal_gradient_lagrange.i
- modules/combined/test/tests/mortar_tm/2drz/ad_frictionless_first/finite_rr.i
- modules/peridynamics/test/tests/failure_tests/2D_stress_failure_NOSPD.i
- test/tests/kernels/transient_vector_diffusion/transient_vector_diffusion.i
- modules/combined/test/tests/phase_field_fracture/crack2d_iso.i
- modules/combined/test/tests/mortar_tm/2d/frictionless_first/small.i
- modules/peridynamics/test/tests/heat_conduction/2D_steady_state_BPD.i
- modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_smooth.i
- modules/tensor_mechanics/test/tests/ad_thermal_expansion_function/mean.i
- modules/tensor_mechanics/test/tests/action/two_block.i
- test/tests/meshgenerators/rename_block_generator/rename_block1.i
- test/tests/mesh/mesh_only/output_dimension_override.i
- modules/combined/test/tests/mortar_tm/2drz/frictionless_first/finite_noaction.i
- modules/navier_stokes/test/tests/ins/mms/pspg/pspg_mms_test.i
- modules/combined/test/tests/mortar_tm/2d/ad_frictionless_sec/finite.i
- test/tests/postprocessors/internal_side_jump/internal_side_jump.i
- test/tests/interfacekernels/2d_interface/coupled_value_coupled_flux.i
- test/tests/postprocessors/nodal_sum/nodal_sum_block_non_unique.i
- modules/combined/test/tests/phase_field_fracture/crack2d_vol_dev.i
- test/tests/meshgenerators/stack_generator/stack_generator_2d.i
- modules/tensor_mechanics/test/tests/thermal_expansion_function/instantaneous.i
- modules/peridynamics/test/tests/simple_tests/2D_regularD_variableH_BPD.i
- modules/tensor_mechanics/test/tests/global_strain/global_strain_shear.i
- modules/porous_flow/test/tests/fluidstate/theis_brineco2_nonisothermal.i
- modules/tensor_mechanics/test/tests/finite_strain_jacobian/3d_bar.i
- test/tests/materials/get_material_property_names/get_material_property_block_names.i
- modules/tensor_mechanics/test/tests/ad_thermal_expansion_function/dilatation.i
- test/tests/bcs/ad_function_neumann_bc/test.i
- modules/combined/test/tests/mortar_tm/2d/ad_frictionless_sec/small.i
- modules/tensor_mechanics/test/tests/czm/czm_3DC_3D_base_input.i
- test/tests/postprocessors/point_value/point_value.i
- modules/peridynamics/test/tests/nodalkernels/penalty_dirichlet_old_value.i
- modules/tensor_mechanics/test/tests/finite_strain_jacobian/bending_jacobian.i
- modules/combined/test/tests/mortar_tm/2d/frictionless_first/finite_rr.i
- test/tests/postprocessors/nodal_sum/nodal_sum.i
- modules/tensor_mechanics/test/tests/ad_action/two_coord.i
- modules/peridynamics/test/tests/simple_tests/2D_regularD_variableH_OSPD.i
- modules/tensor_mechanics/test/tests/global_strain/global_strain_pressure_3D.i
- modules/tensor_mechanics/examples/coal_mining/cosserat_mc_wp.i
- test/tests/meshgenerators/sidesets_bounding_box_generator/overlapping_sidesets.i
- modules/peridynamics/test/tests/restart/2D_mesh_restartable_NOSPD.i
- modules/combined/test/tests/mortar_tm/2drz/frictionless_second/finite_noaction.i
- modules/tensor_mechanics/test/tests/plane_stress/3D_finite_tension_pull.i
- test/tests/misc/block_user_object_check/coupled_check.i
- test/tests/interfacekernels/3d_interface/coupled_value_coupled_flux.i
- modules/combined/test/tests/mortar_tm/2drz/frictionless_second/finite_rr.i
- modules/peridynamics/test/tests/simple_tests/2D_small_strain_NOSPD.i
- test/tests/meshgenerators/sideset_around_subdomain_generator/around_multi_created_subdomain.i
- test/tests/outputs/debug/show_material_props_debug.i
- test/tests/interfacekernels/3d_interface/vector_3d.i
- test/tests/vectorpostprocessors/sideset_info/sideset_info.i
- modules/peridynamics/test/tests/jacobian_check/weak_planestress_thermomechanics_smallstrain_NOSPD.i
- test/tests/postprocessors/interface_value/interface_integral_variable_value_postprocessor.i
- test/tests/materials/discrete/recompute_block_error.i
- test/tests/meshgenerators/lower_d_block_generator/names.i
- test/tests/thewarehouse/test1.i
- modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_2D_blocks.i
- modules/peridynamics/test/tests/jacobian_check/thermomechanics_2D_FNOSPD.i
- test/tests/meshgenerators/sidesets_bounding_box_generator/error_boundary_number.i
- modules/combined/test/tests/mortar_tm/2d/frictionless_first/finite.i
- test/tests/materials/discrete/recompute2.i
- test/tests/kernels/array_kernels/array_diffusion_reaction_dg.i
- modules/peridynamics/test/tests/jacobian_check/generalized_planestrain_smallstrain_NOSPD.i
- python/chigger/tests/input/block_vars.i
- modules/tensor_mechanics/test/tests/auxkernels/ranktwoscalaraux.i
- test/tests/materials/discrete/recompute_no_calc.i
- modules/porous_flow/test/tests/actions/block_restricted_materials.i
- test/tests/kernels/array_kernels/standard_save_in.i
- test/tests/meshgenerators/sidesets_bounding_box_generator/error_no_side_sets_found.i
- modules/tensor_mechanics/test/tests/shell/static/plate_bending.i
- modules/peridynamics/test/tests/jacobian_check/3D_mechanics_smallstrain_NOSPD.i
- modules/phase_field/test/tests/misc/interface_grad.i
- modules/tensor_mechanics/test/tests/j2_plasticity/tensor_mechanics_j2plasticity.i
- modules/peridynamics/test/tests/jacobian_check/2D_thermomechanics_BPD.i
- test/tests/materials/interface_material/interface_value_material.i
- test/tests/preconditioners/fsp/fsp_test_image.i
- test/tests/misc/subdomain_setup/mat_prop_block.i
- test/tests/meshgenerators/mesh_extruder_generator/gen_extrude.i
- modules/navier_stokes/test/tests/ins/mms/supg/supg_pspg_adv_dominated_mms.i
- test/tests/meshgenerators/mesh_side_set_generator/mesh_side_set_generator.i
- test/tests/meshgenerators/generated_mesh_generator/generated_mesh_generator.i
- test/tests/meshgenerators/combiner_generator/combiner_multi_input_translate.i
- modules/combined/test/tests/mortar_tm/2d/frictionless_second/finite.i
- test/tests/transfers/multiapp_conservative_transfer/sub_nearest_point.i
- modules/combined/test/tests/mortar_tm/2drz/frictionless_second/small.i
- test/tests/interfacekernels/1d_interface/reaction_1D_steady.i
- modules/combined/examples/effective_properties/effective_th_cond.i
- test/tests/interfacekernels/1d_interface/reaction_1D_transient.i
- modules/phase_field/test/tests/feature_volume_vpp_test/boundary_area_2D_single.i
- test/tests/meshgenerators/stack_generator/mismatched_dims.i
- test/tests/userobjects/setup_interface_count/nodal.i
- test/tests/meshgenerators/plane_deletion/plane_deletion.i
- modules/tensor_mechanics/test/tests/action/two_coord.i
- modules/combined/examples/periodic_strain/global_strain_pfm_3D.i
- modules/porous_flow/test/tests/actions/basicthm_hm.i
- test/tests/meshgenerators/combiner_generator/combiner_multi_input.i
- modules/combined/test/tests/phase_field_fracture/crack2d_aniso_hist_false.i
- modules/peridynamics/test/tests/generalized_plane_strain/generalized_plane_strain_OSPD.i
- modules/phase_field/test/tests/feature_volume_vpp_test/boundary_area_3D.i
- test/tests/interfacekernels/2d_interface/coupled_value_coupled_flux_dot.i
- modules/porous_flow/test/tests/actions/basicthm_th.i
- modules/peridynamics/test/tests/mesh/2D_double_edged_cracks.i
- modules/tensor_mechanics/test/tests/ad_thermal_expansion_function/instantaneous.i
- test/tests/transfers/multiapp_conservative_transfer/sub_power_density.i
- test/tests/meshgenerators/block_deletion_generator/block_deletion_test9.i
- modules/heat_conduction/test/tests/generate_radiation_patch/generate_radiation_patch.i
- modules/xfem/test/tests/crack_tip_enrichment/penny_crack_3d.i
- test/tests/time_integrators/explicit_ssp_runge_kutta/explicit_ssp_runge_kutta.i
- test/tests/meshgenerators/subdomain_id_generator/generate_subdomain_id.i
- modules/phase_field/examples/interfacekernels/interface_fluxbc.i
- modules/navier_stokes/test/tests/ins/lid_driven/lid_driven.i
- modules/heat_conduction/test/tests/sideset_heat_transfer/cfem_gap.i
- test/tests/meshgenerators/sidesets_by_normals_generator/replace.i
- modules/combined/test/tests/phase_field_fracture/crack2d_iso_wo_time.i
- modules/peridynamics/test/tests/jacobian_check/2D_mechanics_BPD.i
- test/tests/meshgenerators/final_generator/final_ambigious.i
- test/tests/functions/image_function/flip_dual.i
- test/tests/meshgenerators/sidesets_bounding_box_generator/error_no_elements_in_bounding_box.i
- test/tests/meshgenerators/block_deletion_generator/block_deletion_test10.i
- test/tests/meshgenerators/block_deletion_generator/block_deletion_test3.i
- test/tests/meshgenerators/block_deletion_generator/block_deletion_test2.i
- modules/tensor_mechanics/test/tests/action/two_block_base_name.i
- test/tests/interfacekernels/adaptivity/adaptivity.i
- modules/combined/test/tests/mortar_tm/2drz/frictionless_second/finite.i
- modules/porous_flow/test/tests/dirackernels/injection_production.i
- test/tests/meshgenerators/subdomain_bounding_box_generator/subdomain_bounding_box_generator_inside.i
- modules/peridynamics/test/tests/failure_tests/2D_stretch_failure_BPD.i
- modules/tensor_mechanics/examples/coal_mining/cosserat_mc_only.i
- test/tests/materials/discrete/recompute_boundary_error.i
- test/tests/meshgenerators/sidesets_bounding_box_generator/generate_sidesets_bounding_box.i
- modules/combined/examples/mortar/mortar_gradient.i
- test/tests/meshgenerators/combiner_generator/combiner_generator.i
- modules/combined/test/tests/mortar_tm/2d/ad_frictionless_fir/finite_rr.i
- modules/combined/test/tests/mortar_tm/2d/ad_frictionless_fir/small.i
- modules/phase_field/test/tests/feature_volume_vpp_test/boundary_area_3D_single.i
- modules/tensor_mechanics/test/tests/capped_weak_plane/pull_and_shear_1step.i
- test/tests/meshgenerators/block_deletion_generator/block_deletion_test6.i
- test/tests/userobjects/setup_interface_count/side.i
- test/tests/meshgenerators/parsed_subdomain_mesh_generator/parsed_subdomain_mg.i
- test/tests/meshgenerators/sidesets_bounding_box_generator/multiple_boundary_ids.i
- modules/navier_stokes/test/tests/ins/lid_driven/lid_driven_stabilized.i
- modules/combined/test/tests/mortar_tm/2d/frictionless_second/finite_rr.i
- test/tests/outputs/debug/show_top_residuals_debug.i
- modules/tensor_mechanics/test/tests/inclined_bc/inclined_bc_3d.i
- modules/combined/test/tests/mortar_tm/2drz/ad_frictionless_second/finite.i
- modules/peridynamics/test/tests/jacobian_check/generalized_planestrain_OSPD.i
- modules/combined/test/tests/mortar_tm/2d/frictionless_second/finite_noaction.i
- modules/tensor_mechanics/test/tests/static_deformations/cosserat_tension.i
- modules/porous_flow/test/tests/jacobian/brineco2_twophase_nonisothermal.i
- test/tests/materials/interface_material/interface_value_material_split_mesh.i
- modules/combined/test/tests/mortar_tm/2drz/frictionless_first/finite_rr.i
- test/tests/meshgenerators/block_deletion_generator/block_deletion_test8.i
- modules/navier_stokes/test/tests/ins/hydrostatic/gravity.i
- modules/navier_stokes/test/tests/ins/lid_driven/lid_driven_split.i
- modules/tensor_mechanics/test/tests/ad_action/two_block.i
- modules/peridynamics/test/tests/generalized_plane_strain/generalized_plane_strain_NOSPD.i
- test/tests/meshgenerators/sidesets_between_subdomains_generator/sideset_between_subdomains.i
- modules/combined/test/tests/mortar_tm/2drz/ad_frictionless_first/small.i
- test/tests/transfers/multiapp_userobject_transfer/two_pipe_master.i
- modules/combined/test/tests/mortar_tm/2d/ad_frictionless_fir/finite.i
- test/tests/meshgenerators/final_generator/final_linear.i
- modules/peridynamics/test/tests/auxkernels/planestrain_thermomechanics_ranktwotensor_OSPD.i
- test/tests/meshgenerators/sidesets_between_subdomains_generator/sideset_between_vector_subdomains_generator.i
- test/tests/interfacekernels/2d_interface/vector_2d.i
- modules/peridynamics/test/tests/jacobian_check/2D_mechanics_FNOSPD.i
- modules/tensor_mechanics/test/tests/shell/static/plate_bending2.i
- modules/combined/test/tests/mortar_tm/2drz/ad_frictionless_first/finite.i
- modules/tensor_mechanics/test/tests/thermal_expansion_function/dilatation.i
- test/tests/meshgenerators/bounding_box_nodeset_generator/boundingbox_nodeset_inside.i
- modules/peridynamics/test/tests/plane_stress/weak_planestress_NOSPD.i
- modules/peridynamics/test/tests/generalized_plane_strain/out_of_plane_pressure_OSPD.i
- test/tests/meshgenerators/final_generator/final_multi_trees.i
- test/tests/meshgenerators/block_deletion_generator/block_deletion_test5.i
- modules/tensor_mechanics/test/tests/inclined_bc/inclined_bc_2d.i
- modules/porous_flow/test/tests/gravity/grav01d.i
- modules/peridynamics/test/tests/jacobian_check/2D_thermomechanics_smallstrain_NOSPD.i
- modules/heat_conduction/test/tests/heat_conduction/min_gap/min_gap.i
- test/tests/materials/get_material_property_names/get_material_property_any_block_id.i
- test/tests/userobjects/setup_interface_count/element.i
- modules/tensor_mechanics/examples/coal_mining/cosserat_wp_only.i
- test/tests/meshgenerators/block_deletion_generator/block_deletion_test1.i
- modules/porous_flow/test/tests/fluidstate/waterncg.i
- modules/xfem/test/tests/crack_tip_enrichment/edge_crack_2d.i
- modules/navier_stokes/test/tests/ins/mms/supg/supg_adv_dominated_mms.i
- modules/porous_flow/examples/tutorial/11_2D.i
- modules/peridynamics/test/tests/generalized_plane_strain/planestrain_prescribed_OSPD.i
- test/tests/materials/get_material_property_names/get_material_property_any_boundary_id.i
- modules/peridynamics/test/tests/auxkernels/planestrain_thermomechanics_stretch_NOSPD.i
- test/tests/transfers/multiapp_conservative_transfer/master_power_density.i
- test/tests/materials/discrete/recompute_warning.i
- modules/peridynamics/test/tests/jacobian_check/2D_thermomechanics_OSPD.i
- modules/xfem/test/tests/bimaterials/glued_bimaterials_2d.i
- modules/tensor_mechanics/test/tests/notched_plastic_block/cmc_planar.i
- modules/tensor_mechanics/test/tests/notched_plastic_block/cmc_smooth.i
- test/tests/meshgenerators/block_deletion_generator/block_deletion_test4.i
- modules/peridynamics/test/tests/simple_tests/2D_finite_strain_NOSPD.i
- test/tests/interfacekernels/1d_interface/mixed_shapes.i
- test/tests/meshgenerators/parsed_generate_sideset/parsed_generate_sideset.i
- modules/navier_stokes/test/tests/ins/lid_driven/ad_lid_driven.i
- test/tests/interfacekernels/2d_interface/coupled_value_coupled_flux_with_jump_material.i
- test/tests/dgkernels/dg_block_restrict/1d_dg_block_restrict.i
- modules/tensor_mechanics/test/tests/action/two_block_new.i
- test/tests/outputs/debug/show_material_props.i
- modules/heat_conduction/test/tests/sideset_heat_transfer/gap_thermal_ktemp_1D.i
- modules/tensor_mechanics/test/tests/ad_finite_strain_jacobian/3d_bar.i
- modules/porous_flow/test/tests/actions/basicthm_h.i
- modules/combined/test/tests/mortar_tm/2d/frictionless_first/finite_noaction.i
- test/tests/interfacekernels/1d_interface/single_variable_coupled_flux.i
- test/tests/meshgenerators/sideset_around_subdomain_generator/sideset_around_subdomain.i
- modules/navier_stokes/test/tests/ins/lid_driven/lid_driven_chorin.i
- modules/tensor_mechanics/test/tests/global_strain/global_strain_hydrostat.i
- modules/porous_flow/test/tests/fluidstate/brineco2_nonisothermal.i
- test/tests/meshgenerators/fancy_extruder_generator/gen_extrude.i
- modules/peridynamics/test/tests/jacobian_check/2D_mechanics_OSPD.i
- modules/combined/examples/periodic_strain/global_strain_pfm.i
- modules/navier_stokes/test/tests/ins/lid_driven/ad_lid_driven_stabilized.i
- modules/combined/test/tests/mortar_tm/2drz/frictionless_first/small.i
- test/tests/meshgenerators/rename_block_generator/rename_block2.i
- modules/peridynamics/test/tests/jacobian_check/2D_mechanics_smallstrain_NOSPD.i
- test/tests/postprocessors/interface_value/interface_average_variable_value_postprocessor.i
- test/tests/variables/second_derivative/interface_kernels.i
- modules/phase_field/examples/interfacekernels/interface_gradient.i
- modules/rdg/test/tests/advection_1d/block_restrictable.i
- test/tests/meshgenerators/sidesets_bounding_box_generator/multiple_boundary_ids_3d.i
- test/tests/bcs/function_dirichlet_bc/test.i
- test/tests/meshgenerators/meta_data_store/mesh_meta_data_store.i
- test/tests/bcs/function_neumann_bc/test.i
- modules/tensor_mechanics/examples/coal_mining/cosserat_mc_wp_sticky_longitudinal.i
- modules/phase_field/test/tests/misc/interface_flux.i
- modules/porous_flow/test/tests/fluidstate/waterncg_nonisothermal.i
- modules/peridynamics/test/tests/mesh/2D_center_crack.i
- modules/combined/test/tests/phase_field_fracture/crack2d_aniso.i
- modules/tensor_mechanics/test/tests/global_strain/global_strain_uniaxial.i
- modules/tensor_mechanics/examples/coal_mining/cosserat_elastic.i
- modules/tensor_mechanics/test/tests/ad_action/two_block_no_action.i
- modules/phase_field/test/tests/feature_volume_vpp_test/boundary_area_2D.i
- modules/combined/test/tests/mortar_tm/2d/frictionless_second/small.i
- test/tests/userobjects/setup_interface_count/internal_side.i
- test/tests/meshgenerators/bounding_box_nodeset_generator/boundingbox_nodeset_outside.i
- modules/tensor_mechanics/examples/coal_mining/cosserat_mc_wp_sticky.i
- modules/heat_conduction/test/tests/sideset_heat_transfer/gap_thermal_1D.i
- modules/tensor_mechanics/test/tests/global_strain/global_strain.i
- modules/tensor_mechanics/test/tests/crystal_plasticity/rot-eg1.i
- test/tests/meshgenerators/sidesets_bounding_box_generator/error_no_nodes_found.i
- modules/peridynamics/test/tests/plane_stress/conventional_planestress_NOSPD.i
- test/tests/interfacekernels/1d_interface/ik_save_in_test.i
- modules/xfem/test/tests/moving_interface/moving_bimaterial.i
- test/tests/meshgenerators/subdomain_bounding_box_generator/oriented_subdomain_bounding_box_generator.i
- test/tests/interfacekernels/1d_interface/coupled_value_coupled_flux_with_jump_material.i
- test/tests/meshgenerators/break_boundary_on_subdomain/break_bottom_interface_on_subdomain.i
- modules/tensor_mechanics/test/tests/action/no_block.i
- test/tests/transfers/multiapp_conservative_transfer/master_nearest_point.i
- modules/peridynamics/test/tests/jacobian_check/2D_heat_conduction_BPD.i
- test/tests/tag/tag_interface_kernels.i
- test/tests/interfacekernels/3d_interface/coupled_value_coupled_flux_with_jump_material.i
- modules/combined/test/tests/phase_field_fracture/crack2d_linear_fracture_energy.i
- modules/navier_stokes/test/tests/ins/mms/supg/supg_mms_test.i
- modules/tensor_mechanics/test/tests/inclined_bc/inclined_bc_action.i
- modules/combined/test/tests/mortar_tm/2drz/ad_frictionless_second/small.i
- test/tests/dgkernels/dg_block_restrict/2d_dg_diffusion_block_restrict.i
- modules/combined/test/tests/phase_field_fracture/crack2d_computeCrackedStress_smallstrain.i
- modules/tensor_mechanics/test/tests/ad_finite_strain_jacobian/bending_jacobian.i
- test/tests/kernels/ad_transient_diffusion/ad_transient_vector_diffusion.i
- modules/navier_stokes/test/tests/ins/velocity_channel/velocity_inletBC_no_parts.i
- test/tests/userobjects/setup_interface_count/general.i
- test/tests/meshgenerators/sidesets_bounding_box_generator/overlapping_sidesets_not_found.i
- modules/porous_flow/test/tests/fluidstate/brineco2.i
- test/tests/kernels/array_kernels/array_save_in.i
- test/tests/markers/block_restricted/marker_block.i
- modules/porous_flow/test/tests/jacobian/waterncg_twophase_nonisothermal.i
- test/tests/meshgenerators/centroid_partitioner/centroid_partitioner_mg.i
- test/tests/meshgenerators/subdomain_bounding_box_generator/subdomain_bounding_box_generator_outside.i
- modules/porous_flow/examples/tidal/atm_tides_open_hole.i
- modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_abbo.i
- test/tests/userobjects/layered_average/block_restricted.i
- test/tests/userobjects/internal_side_user_object/internal_side_user_object_two_materials.i
- modules/porous_flow/examples/tutorial/00_2D.i
- modules/tensor_mechanics/test/tests/plane_stress/weak_plane_stress_finite_tension_pull.i
- modules/tensor_mechanics/test/tests/global_strain/global_strain_direction.i
- modules/peridynamics/test/tests/simple_tests/2D_regularD_constH_BPD.i
- modules/tensor_mechanics/test/tests/capped_weak_plane/pull_and_shear.i
- test/tests/materials/discrete/recompute.i
- modules/combined/test/tests/mortar_tm/2drz/ad_frictionless_second/finite_rr.i
- modules/peridynamics/test/tests/simple_tests/2D_regularD_constH_OSPD.i
- test/tests/bcs/ad_function_dirichlet_bc/test.i
- test/tests/meshgenerators/stack_generator/stack_generator.i
- modules/porous_flow/test/tests/fluidstate/theis_nonisothermal.i
- test/tests/auxkernels/mesh_integer/mesh_integer.i
- modules/combined/test/tests/phase_field_fracture/crack2d_computeCrackedStress_finitestrain_plastic.i
- modules/combined/test/tests/phase_field_fracture/crack2d_computeCrackedStress_finitestrain_elastic.i
- test/tests/meshgenerators/rename_boundary_generator/rename_boundary.i
- modules/combined/examples/mortar/eigenstrain.i
- test/tests/misc/block_user_object_check/block_check.i
- test/tests/meshgenerators/mesh_collection_generator/mesh_collection_generator.i
- modules/peridynamics/test/tests/plane_stress/conventional_planestress_OSPD.i
- modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_planar.i
- test/tests/materials/interface_material/interface_value_material_split_mesh_stateful.i
- modules/tensor_mechanics/test/tests/capped_weak_plane/push_and_shear.i
- test/tests/functions/image_function/flip_quad.i
- modules/peridynamics/test/tests/jacobian_check/generalized_planestrain_thermomechanics_OSPD.i
- modules/combined/test/tests/mortar_tm/2drz/frictionless_first/finite.i
- test/tests/userobjects/interface_user_object/interface_value_user_object_QP.i
- test/tests/materials/material/material_check_test.i
- test/tests/meshgenerators/lower_d_block_generator/ids.i
- test/tests/interfacekernels/1d_interface/coupled_value_coupled_flux.i
- modules/porous_flow/test/tests/actions/basicthm_thm.i
- test/tests/meshgenerators/block_deletion_generator/block_deletion_test12.i
- test/tests/postprocessors/nodal_sum/nodal_sum_block.i
- test/tests/materials/declare_overlap/error.i
- test/tests/meshgenerators/break_boundary_on_subdomain/break_boundary_on_subdomain.i
- test/tests/mesh/multi_elem_integers/multi_element_integer.i
- modules/tensor_mechanics/test/tests/ad_action/two_block_new.i
- modules/combined/test/tests/mortar_tm/2d/ad_frictionless_sec/finite_rr.i
- modules/combined/examples/mortar/eigenstrain_action.i
- modules/tensor_mechanics/test/tests/global_strain/global_strain_action.i
- test/tests/meshgenerators/block_deletion_generator/block_deletion_test7.i
- modules/tensor_mechanics/test/tests/global_strain/global_strain_disp.i
- test/tests/materials/interface_material/interface_value_material_noIK.i
- modules/tensor_mechanics/test/tests/thermal_expansion_function/mean.i
modules/peridynamics/test/tests/jacobian_check/generalized_planestrain_thermomechanics_smallstrain_NOSPD.i
# NOTE: this jacobian test for the coupled thermomechanical model must use displaced mesh, otherwise the difference for the first step is huge
[GlobalParams]
displacements = 'disp_x disp_y'
temperature = temp
scalar_out_of_plane_strain = scalar_strain_zz
full_jacobian = true
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./temp]
[../]
[./scalar_strain_zz]
order = FIRST
family = SCALAR
[../]
[]
[Kernels]
[./heat]
type = HeatConductionBPD
variable = temp
[../]
[]
[Modules/Peridynamics/Mechanics]
[./Master]
[./all]
formulation = NONORDINARY_STATE
eigenstrain_names = thermal
[../]
[../]
[./GeneralizedPlaneStrain]
[./all]
formulation = NONORDINARY_STATE
eigenstrain_names = thermal
[../]
[../]
[]
[Materials]
[./elastic_tensor]
type = ComputeIsotropicElasticityTensor
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./strain]
type = ComputePlaneSmallStrainNOSPD
eigenstrain_names = thermal
[../]
[./thermal_strain]
type = ComputeThermalExpansionEigenstrain
thermal_expansion_coeff = 1e-5
stress_free_temperature = 0.5
eigenstrain_name = thermal
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./thermal_mat]
type = ThermalConstantHorizonMaterialBPD
thermal_conductivity = 1.0
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
modules/phase_field/test/tests/misc/equal_gradient_lagrange.i
#
# This test demonstrates an InterfaceKernel set that can enforce the componentwise
# continuity of the gradient of a variable using the Lagrange multiplier method.
#
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 10
ymax = 0.5
[]
[./box1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.51 1 0'
input = gen
[../]
[./box2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.49 0 0'
top_right = '1 1 0'
input = box1
[../]
[./iface_u]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
input = box2
[../]
[]
[Variables]
[./u2]
block = 1
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.4)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./v2]
block = 2
initial_condition = 0.8
[../]
[./lambda]
[../]
[]
[Kernels]
[./u2_diff]
type = Diffusion
variable = u2
block = 1
[../]
[./u2_dt]
type = TimeDerivative
variable = u2
block = 1
[../]
[./v2_diff]
type = Diffusion
variable = v2
block = 2
[../]
[./v2_dt]
type = TimeDerivative
variable = v2
block = 2
[../]
[./lambda]
type = NullKernel
variable = lambda
[../]
[]
[InterfaceKernels]
[./iface]
type = InterfaceDiffusionBoundaryTerm
boundary = 10
variable = u2
neighbor_var = v2
[../]
[./lambda]
type = EqualGradientLagrangeMultiplier
variable = lambda
boundary = 10
element_var = u2
neighbor_var = v2
component = 0
[../]
[./constraint]
type = EqualGradientLagrangeInterface
boundary = 10
lambda = lambda
variable = u2
neighbor_var = v2
component = 0
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[VectorPostprocessors]
[./uv]
type = LineValueSampler
variable = 'u2 v2'
start_point = '0 0.5 0'
end_point = '1 0.5 0'
sort_by = x
num_points = 100
[../]
[]
[Executioner]
type = Transient
petsc_options_iname = '-pctype -sub_pc_type -sub_pc_factor_shift_type -pc_factor_shift_type'
petsc_options_value = ' asm lu nonzero nonzero'
dt = 0.002
num_steps = 10
[]
[Outputs]
exodus = true
csv = true
hide = lambda
print_linear_residuals = false
[]
modules/combined/test/tests/mortar_tm/2drz/ad_frictionless_first/finite_rr.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'finite_rr'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
use_automatic_differentiation = true
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
extra_vector_tags = 'ref'
[../]
[./plank]
use_automatic_differentiation = true
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
extra_vector_tags = 'ref'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = block_right
value = 0
[../]
[./right_y]
type = ADFunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ADComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[./swell]
type = ADComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
nl_abs_tol = 1e-12
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/peridynamics/test/tests/failure_tests/2D_stress_failure_NOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
cracks_start = '0.25 0.5 0'
cracks_end = '0.75 0.5 0'
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 8
ny = 8
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./damage]
[../]
[./intact_bonds_num]
[../]
[./critical_stress]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./bond_status]
type = RankTwoBasedFailureCriteriaNOSPD
variable = bond_status
rank_two_tensor = stress
critical_variable = critical_stress
failure_criterion = VonMisesStress
[../]
[]
[UserObjects]
[./damage]
type = NodalDamageIndexPD
variable = damage
[../]
[./intact_bonds]
type = NodalNumIntactBondsPD
variable = intact_bonds_num
[../]
[]
[ICs]
[./critical_stretch]
type = ConstantIC
variable = critical_stress
value = 150
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1003
value = 0.0
[../]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = 1002
value = 0.0
[../]
[./bottom_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1000
function = '-0.001*t'
[../]
[./rbm_x]
type = RBMPresetOldValuePD
variable = disp_x
boundary = 999
[../]
[./rbm_y]
type = RBMPresetOldValuePD
variable = disp_y
boundary = 999
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = NONORDINARY_STATE
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.33
[../]
[./strain]
type = ComputeSmallStrainNOSPD
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0
dt = 0.5
end_time = 1
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
[Outputs]
file_base = 2D_stress_failure_NOSPD
exodus = true
[]
test/tests/kernels/transient_vector_diffusion/transient_vector_diffusion.i
[Mesh]
[./generator]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[../]
[./block1]
type = SubdomainBoundingBoxGenerator
input = generator
bottom_left = '0 0 -1'
top_right = '1 1 1'
block_id = 1
[../]
[./block2]
type = SubdomainBoundingBoxGenerator
input = block1
bottom_left = '0.33 0.33 -1'
top_right = '0.67 0.67 1'
block_id = 2
[../]
[]
[Variables]
[./u]
family = LAGRANGE_VEC
[../]
[]
[ICs]
[./u]
type = VectorConstantIC
variable = u
x_value = 1
y_value = 2
z_value = 3
block = 2
[../]
[]
[Kernels]
[./diff]
type = VectorDiffusion
variable = u
[../]
[./time]
type = VectorTimeDerivative
variable = u
[../]
[]
[Executioner]
type = Transient
num_steps = 20
dt = 0.01
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/phase_field_fracture/crack2d_iso.i
#This input uses PhaseField-Nonconserved Action to add phase field fracture bulk rate kernels
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 10
ymax = 0.5
[]
[./noncrack]
type = BoundingBoxNodeSetGenerator
new_boundary = noncrack
bottom_left = '0.5 0 0'
top_right = '1 0 0'
input = gen
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules]
[./PhaseField]
[./Nonconserved]
[./c]
free_energy = F
kappa = kappa_op
mobility = L
[../]
[../]
[../]
[./TensorMechanics]
[./Master]
[./mech]
add_variables = true
strain = SMALL
additional_generate_output = 'stress_yy'
save_in = 'resid_x resid_y'
[../]
[../]
[../]
[]
[AuxVariables]
[./resid_x]
[../]
[./resid_y]
[../]
[]
[Kernels]
[./solid_x]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_x
component = 0
c = c
[../]
[./solid_y]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_y
component = 1
c = c
[../]
[]
[BCs]
[./ydisp]
type = FunctionDirichletBC
variable = disp_y
boundary = top
function = 't'
[../]
[./yfix]
type = DirichletBC
variable = disp_y
boundary = noncrack
value = 0
[../]
[./xfix]
type = DirichletBC
variable = disp_x
boundary = top
value = 0
[../]
[]
[Materials]
[./pfbulkmat]
type = GenericConstantMaterial
prop_names = 'gc_prop l visco'
prop_values = '1e-3 0.04 1e-4'
[../]
[./define_mobility]
type = ParsedMaterial
material_property_names = 'gc_prop visco'
f_name = L
function = '1.0/(gc_prop * visco)'
[../]
[./define_kappa]
type = ParsedMaterial
material_property_names = 'gc_prop l'
f_name = kappa_op
function = 'gc_prop * l'
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '120.0 80.0'
fill_method = symmetric_isotropic
[../]
[./damage_stress]
type = ComputeLinearElasticPFFractureStress
c = c
E_name = 'elastic_energy'
D_name = 'degradation'
F_name = 'local_fracture_energy'
decomposition_type = strain_spectral
[../]
[./degradation]
type = DerivativeParsedMaterial
f_name = degradation
args = 'c'
function = '(1.0-c)^2*(1.0 - eta) + eta'
constant_names = 'eta'
constant_expressions = '0.0'
derivative_order = 2
[../]
[./local_fracture_energy]
type = DerivativeParsedMaterial
f_name = local_fracture_energy
args = 'c'
material_property_names = 'gc_prop l'
function = 'c^2 * gc_prop / 2 / l'
derivative_order = 2
[../]
[./fracture_driving_energy]
type = DerivativeSumMaterial
args = c
sum_materials = 'elastic_energy local_fracture_energy'
derivative_order = 2
f_name = F
[../]
[]
[Postprocessors]
[./resid_x]
type = NodalSum
variable = resid_x
boundary = 2
[../]
[./resid_y]
type = NodalSum
variable = resid_y
boundary = 2
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
nl_rel_tol = 1e-8
l_max_its = 10
nl_max_its = 10
dt = 1e-4
dtmin = 1e-4
num_steps = 2
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/mortar_tm/2d/frictionless_first/small.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'small'
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeLinearElasticStress
block = 'plank block'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/peridynamics/test/tests/heat_conduction/2D_steady_state_BPD.i
# This test solves a 2D steady state heat equation
# The error is found by comparing to the analytical solution
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./temp]
[../]
[]
[AuxVariables]
[./bond_status]
order = CONSTANT
family = MONOMIAL
initial_condition = 1
[../]
[]
[Functions]
[./analytical_sol]
type = ParsedFunction
value = 'x*x+y*y'
[../]
[]
[Kernels]
[./heat_conduction]
type = HeatConductionBPD
variable = temp
[../]
[./heat_source]
type = HeatSourceBPD
variable = temp
power_density = -4
[../]
[]
[BCs]
[./left]
type = FunctionDirichletBC
variable = temp
boundary = 1003
function = analytical_sol
[../]
[./bottom]
type = FunctionDirichletBC
variable = temp
boundary = 1000
function = analytical_sol
[../]
[./right]
type = FunctionDirichletBC
variable = temp
boundary = 1001
function = analytical_sol
[../]
[./top]
type = FunctionDirichletBC
variable = temp
boundary = 1002
function = analytical_sol
[../]
[]
[Materials]
[./thermal_mat]
type = ThermalConstantHorizonMaterialBPD
temperature = temp
thermal_conductivity = 1
[../]
[]
[Postprocessors]
[./nodal_error]
type = NodalL2Error
function = 'analytical_sol'
variable = temp
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
start_time = 0.0
end_time = 1.0
[]
[Outputs]
exodus = true
file_base = 2D_steady_state_BPD
[]
modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_smooth.i
# Uses a multi-smooted version of Mohr-Coulomb (via CappedMohrCoulombStressUpdate and ComputeMultipleInelasticStress) to simulate the following problem.
# A cubical block is notched around its equator.
# All of its outer surfaces have roller BCs, but the notched region is free to move as needed
# The block is initialised with a high hydrostatic tensile stress
# Without the notch, the BCs do not allow contraction of the block, and this stress configuration is admissible
# With the notch, however, the interior parts of the block are free to move in order to relieve stress, and this causes plastic failure
# The top surface is then pulled upwards (the bottom is fixed because of the roller BCs)
# This causes more failure
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 9
ny = 9
nz = 9
xmin = 0
xmax = 0.1
ymin = 0
ymax = 0.1
zmin = 0
zmax = 0.1
[]
[block_to_remove_xmin]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 -0.01 0.045'
top_right = '0.01 0.11 0.055'
location = INSIDE
block_id = 1
input = generated_mesh
[]
[block_to_remove_xmax]
type = SubdomainBoundingBoxGenerator
bottom_left = '0.09 -0.01 0.045'
top_right = '0.11 0.11 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_xmin
[]
[block_to_remove_ymin]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 -0.01 0.045'
top_right = '0.11 0.01 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_xmax
[]
[block_to_remove_ymax]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 0.09 0.045'
top_right = '0.11 0.11 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_ymin
[]
[remove_block]
type = BlockDeletionGenerator
block_id = 1
input = block_to_remove_ymax
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
incremental = true
generate_output = 'max_principal_stress mid_principal_stress min_principal_stress stress_zz'
eigenstrain_names = ini_stress
[../]
[]
[Postprocessors]
[./uz]
type = PointValue
point = '0 0 0.1'
use_displaced_mesh = false
variable = disp_z
[../]
[./s_zz]
type = ElementAverageValue
use_displaced_mesh = false
variable = stress_zz
[../]
[./num_res]
type = NumResidualEvaluations
[../]
[./nr_its] # num_iters is the average number of NR iterations encountered per element in this timestep
type = ElementAverageValue
variable = num_iters
[../]
[./max_nr_its] # max_num_iters is the maximum number of NR iterations encountered in the element during the whole simulation
type = ElementExtremeValue
variable = max_num_iters
[../]
[./runtime]
type = PerfGraphData
data_type = TOTAL
section_name = 'Root'
[../]
[]
[BCs]
# back=zmin, front=zmax, bottom=ymin, top=ymax, left=xmin, right=xmax
[./xmin_xzero]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./xmax_xzero]
type = DirichletBC
variable = disp_x
boundary = right
value = 0.0
[../]
[./ymin_yzero]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./ymax_yzero]
type = DirichletBC
variable = disp_y
boundary = top
value = 0.0
[../]
[./zmin_zzero]
type = DirichletBC
variable = disp_z
boundary = back
value = '0'
[../]
[./zmax_disp]
type = FunctionDirichletBC
variable = disp_z
boundary = front
function = '1E-6*max(t,0)'
[../]
[]
[AuxVariables]
[./mc_int]
order = CONSTANT
family = MONOMIAL
[../]
[./num_iters]
order = CONSTANT
family = MONOMIAL
[../]
[./max_num_iters]
order = CONSTANT
family = MONOMIAL
[../]
[./yield_fcn]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./mc_int_auxk]
type = MaterialStdVectorAux
index = 0
property = plastic_internal_parameter
variable = mc_int
[../]
[./num_iters_auxk]
type = MaterialRealAux
property = plastic_NR_iterations
variable = num_iters
[../]
[./max_num_iters_auxk]
type = MaterialRealAux
property = max_plastic_NR_iterations
variable = max_num_iters
[../]
[./yield_fcn_auxk]
type = MaterialStdVectorAux
index = 6
property = plastic_yield_function
variable = yield_fcn
[../]
[]
[UserObjects]
[./ts]
type = TensorMechanicsHardeningConstant
value = 1E16
[../]
[./mc_coh]
type = TensorMechanicsHardeningConstant
value = 5E6
[../]
[./mc_phi]
type = TensorMechanicsHardeningConstant
value = 35
convert_to_radians = true
[../]
[./mc_psi]
type = TensorMechanicsHardeningConstant
value = 10
convert_to_radians = true
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 16E9
poissons_ratio = 0.25
[../]
[./mc]
type = CappedMohrCoulombStressUpdate
tensile_strength = ts
compressive_strength = ts
cohesion = mc_coh
friction_angle = mc_phi
dilation_angle = mc_psi
smoothing_tol = 0.2E6
yield_function_tol = 1E-5
[../]
[./stress]
type = ComputeMultipleInelasticStress
inelastic_models = mc
perform_finite_strain_rotations = false
[../]
[./strain_from_initial_stress]
type = ComputeEigenstrainFromInitialStress
initial_stress = '6E6 0 0 0 6E6 0 0 0 6E6'
eigenstrain_name = ini_stress
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
start_time = -1
end_time = 10
dt = 1
solve_type = NEWTON
type = Transient
l_tol = 1E-2
nl_abs_tol = 1E-5
nl_rel_tol = 1E-7
l_max_its = 200
nl_max_its = 400
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
petsc_options_value = ' asm 2 lu gmres 200'
[]
[Outputs]
file_base = biaxial_smooth
perf_graph = true
exodus = false
csv = true
[]
modules/tensor_mechanics/test/tests/ad_thermal_expansion_function/mean.i
# This test checks the thermal expansion calculated via a mean thermal expansion coefficient.
# The coefficient is selected so as to result in a 1e-4 strain in the x-axis, and to cross over
# from positive to negative strain.
[Mesh]
[./gen]
type = GeneratedMeshGenerator
dim = 3
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[AuxVariables]
[./temp]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
add_variables = true
eigenstrain_names = eigenstrain
generate_output = 'strain_xx strain_yy strain_zz'
use_automatic_differentiation = true
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = back
value = 0.0
[../]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
function = '1 + t'
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1
poissons_ratio = 0.3
[../]
[./stress]
type = ADComputeLinearElasticStress
[../]
[./thermal_expansion_strain]
type = ADComputeMeanThermalExpansionFunctionEigenstrain
thermal_expansion_function = cte_func_mean
thermal_expansion_function_reference_temperature = 1.2
stress_free_temperature = 1.5
temperature = temp
eigenstrain_name = eigenstrain
[../]
[]
[Functions]
[./cte_func_mean]
type = ParsedFunction
vars = 'T T_stress_free T_ref end_strain'
vals = '2 1.5 1.2 1e-4'
value = 'end_strain / (T - T_stress_free - end_strain * (T_stress_free - T_ref))'
[../]
[]
[Postprocessors]
[./disp_x_max]
type = SideAverageValue
variable = disp_x
boundary = right
[../]
[./temp_avg]
type = ElementAverageValue
variable = temp
[../]
[]
[Executioner]
type = Transient
end_time = 1.0
dt = 0.1
[]
[Outputs]
csv = true
[]
modules/tensor_mechanics/test/tests/action/two_block.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[]
[block1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.5 1 0'
input = generated_mesh
[]
[block2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.5 0 0'
top_right = '1 1 0'
input = block1
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules/TensorMechanics/Master]
[./block1]
strain = FINITE
add_variables = true
#block = 1
[../]
[./block2]
strain = SMALL
add_variables = true
block = 2
[../]
[]
[AuxVariables]
[./stress_theta]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_theta]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_theta]
type = RankTwoAux
rank_two_tensor = stress
index_i = 2
index_j = 2
variable = stress_theta
execute_on = timestep_end
[../]
[./strain_theta]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 2
index_j = 2
variable = strain_theta
execute_on = timestep_end
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e10
poissons_ratio = 0.345
[../]
[./_elastic_stress1]
type = ComputeFiniteStrainElasticStress
block = 1
[../]
[./_elastic_stress2]
type = ComputeLinearElasticStress
block = 2
[../]
[]
[BCs]
[./left]
type = DirichletBC
boundary = 'left'
variable = disp_x
value = 0.0
[../]
[./top]
type = DirichletBC
boundary = 'top'
variable = disp_y
value = 0.0
[../]
[./right]
type = DirichletBC
boundary = 'right'
variable = disp_x
value = 0.01
[../]
[./bottom]
type = DirichletBC
boundary = 'bottom'
variable = disp_y
value = 0.01
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[Executioner]
type = Steady
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = ' 201 hypre boomeramg 10'
line_search = 'none'
nl_rel_tol = 5e-9
nl_abs_tol = 1e-10
nl_max_its = 15
l_tol = 1e-3
l_max_its = 50
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/rename_block_generator/rename_block1.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 2
ny = 2
nz = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[./subdomain0]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '-1 -1 -1'
top_right = '0 0 0'
[]
[./re_id]
type = RenameBlockGenerator
input = subdomain0
old_block_id = '0 1'
new_block_id = '2 3'
[]
[./rename_no_effect]
type = RenameBlockGenerator
input = re_id
old_block_id = '5 0 1'
new_block_name = 'five zero one'
[]
[./rename]
type = RenameBlockGenerator
input = rename_no_effect
old_block_id = '2'
new_block_name = 'two_was_zero'
[]
[./rename_block2]
type = RenameBlockGenerator
input = rename
old_block_name = 'two_was_zero'
new_block_name = 'simply_two'
[]
[./rename_blockID3]
type = RenameBlockGenerator
input = rename_block2
old_block_id = '3'
new_block_name = 'three'
[]
[./three_to_4]
type = RenameBlockGenerator
input = rename_blockID3
old_block_name = 'three'
new_block_id = 4
[]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 0
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/mesh/mesh_only/output_dimension_override.i
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[rotate]
type = TransformGenerator
input = gmg
transform = ROTATE
vector_value = '0 90 0'
[]
[]
[Variables]
[u]
[]
[]
# Since this mesh is rotated into the z-plane, we need to output in 3D
# This should occur automatically
modules/combined/test/tests/mortar_tm/2drz/frictionless_first/finite_noaction.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'finite_noaction'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[./slave]
input = block_sidesets
type = LowerDBlockFromSidesetGenerator
sidesets = 'block_left'
new_block_id = '30'
new_block_name = 'frictionless_slave_subdomain'
[../]
[./master]
input = slave
type = LowerDBlockFromSidesetGenerator
sidesets = 'plank_right'
new_block_id = '20'
new_block_name = 'frictionless_master_subdomain'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./frictionless_normal_lm]
order = ${order}
block = 'frictionless_slave_subdomain'
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
[../]
[./plank]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
[../]
[]
[Constraints]
[./lm]
type = NormalNodalLMMechanicalContact
slave = block_left
master = plank_right
variable = frictionless_normal_lm
master_variable = disp_x
disp_y = disp_y
ncp_function_type = min
use_displaced_mesh = true
[../]
[./normal_x]
type = NormalMortarMechanicalContact
master_boundary = plank_right
slave_boundary = block_left
master_subdomain = frictionless_master_subdomain
slave_subdomain = frictionless_slave_subdomain
variable = frictionless_normal_lm
slave_variable = disp_x
component = x
use_displaced_mesh = true
compute_lm_residuals = false
[../]
[./normal_y]
type = NormalMortarMechanicalContact
master_boundary = plank_right
slave_boundary = block_left
master_subdomain = frictionless_master_subdomain
slave_subdomain = frictionless_slave_subdomain
variable = frictionless_normal_lm
slave_variable = disp_y
component = y
use_displaced_mesh = true
compute_lm_residuals = false
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = block_right
value = 0
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[./swell]
type = ComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/navier_stokes/test/tests/ins/mms/pspg/pspg_mms_test.i
mu=1.5
rho=2.5
[GlobalParams]
gravity = '0 0 0'
pspg = true
convective_term = true
integrate_p_by_parts = true
laplace = true
u = vel_x
v = vel_y
p = p
alpha = 1e-6
order = FIRST
family = LAGRANGE
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1.0
ymin = 0
ymax = 1.0
elem_type = QUAD9
nx = 4
ny = 4
[]
[./corner_node]
type = ExtraNodesetGenerator
new_boundary = 'pinned_node'
nodes = '0'
input = gen
[../]
[]
[Variables]
[./vel_x]
[../]
[./vel_y]
[../]
[./p]
[../]
[]
[Kernels]
# mass
[./mass]
type = INSMass
variable = p
x_vel_forcing_func = vel_x_source_func
y_vel_forcing_func = vel_y_source_func
[../]
# x-momentum, space
[./x_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_x
component = 0
forcing_func = vel_x_source_func
[../]
# y-momentum, space
[./y_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_y
component = 1
forcing_func = vel_y_source_func
[../]
[./p_source]
type = BodyForce
function = p_source_func
variable = p
[../]
[]
[BCs]
[./vel_x]
type = FunctionDirichletBC
boundary = 'left right top bottom'
function = vel_x_func
variable = vel_x
[../]
[./vel_y]
type = FunctionDirichletBC
boundary = 'left right top bottom'
function = vel_y_func
variable = vel_y
[../]
[./p]
type = FunctionDirichletBC
boundary = 'left right top bottom'
function = p_func
variable = p
[../]
[]
[Functions]
[./vel_x_source_func]
type = ParsedFunction
value = '-${mu}*(-0.028*pi^2*x^2*sin(0.2*pi*x*y) - 0.028*pi^2*y^2*sin(0.2*pi*x*y) - 0.1*pi^2*sin(0.5*pi*x) - 0.4*pi^2*sin(pi*y)) + ${rho}*(0.14*pi*x*cos(0.2*pi*x*y) + 0.4*pi*cos(pi*y))*(0.6*sin(0.8*pi*x) + 0.3*sin(0.3*pi*y) + 0.2*sin(0.3*pi*x*y) + 0.3) + ${rho}*(0.14*pi*y*cos(0.2*pi*x*y) + 0.2*pi*cos(0.5*pi*x))*(0.4*sin(0.5*pi*x) + 0.4*sin(pi*y) + 0.7*sin(0.2*pi*x*y) + 0.5) + 0.1*pi*y*cos(0.2*pi*x*y) + 0.25*pi*cos(0.5*pi*x)'
[../]
[./vel_y_source_func]
type = ParsedFunction
value = '-${mu}*(-0.018*pi^2*x^2*sin(0.3*pi*x*y) - 0.018*pi^2*y^2*sin(0.3*pi*x*y) - 0.384*pi^2*sin(0.8*pi*x) - 0.027*pi^2*sin(0.3*pi*y)) + ${rho}*(0.06*pi*x*cos(0.3*pi*x*y) + 0.09*pi*cos(0.3*pi*y))*(0.6*sin(0.8*pi*x) + 0.3*sin(0.3*pi*y) + 0.2*sin(0.3*pi*x*y) + 0.3) + ${rho}*(0.06*pi*y*cos(0.3*pi*x*y) + 0.48*pi*cos(0.8*pi*x))*(0.4*sin(0.5*pi*x) + 0.4*sin(pi*y) + 0.7*sin(0.2*pi*x*y) + 0.5) + 0.1*pi*x*cos(0.2*pi*x*y) + 0.3*pi*cos(0.3*pi*y)'
[../]
[./p_source_func]
type = ParsedFunction
value = '-0.06*pi*x*cos(0.3*pi*x*y) - 0.14*pi*y*cos(0.2*pi*x*y) - 0.2*pi*cos(0.5*pi*x) - 0.09*pi*cos(0.3*pi*y)'
[../]
[./vel_x_func]
type = ParsedFunction
value = '0.4*sin(0.5*pi*x) + 0.4*sin(pi*y) + 0.7*sin(0.2*pi*x*y) + 0.5'
[../]
[./vel_y_func]
type = ParsedFunction
value = '0.6*sin(0.8*pi*x) + 0.3*sin(0.3*pi*y) + 0.2*sin(0.3*pi*x*y) + 0.3'
[../]
[./p_func]
type = ParsedFunction
value = '0.5*sin(0.5*pi*x) + 1.0*sin(0.3*pi*y) + 0.5*sin(0.2*pi*x*y) + 0.5'
[../]
[./vxx_func]
type = ParsedFunction
value = '0.14*pi*y*cos(0.2*pi*x*y) + 0.2*pi*cos(0.5*pi*x)'
[../]
[./px_func]
type = ParsedFunction
value = '0.1*pi*y*cos(0.2*pi*x*y) + 0.25*pi*cos(0.5*pi*x)'
[../]
[]
[Materials]
[./const]
type = GenericConstantMaterial
block = 0
prop_names = 'rho mu'
prop_values = '${rho} ${mu}'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
solve_type = 'NEWTON'
[../]
[]
[Executioner]
type = Steady
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = 'none'
nl_rel_tol = 1e-12
nl_abs_tol = 1e-13
nl_max_its = 6
l_tol = 1e-6
l_max_its = 500
[]
[Outputs]
[./exodus]
type = Exodus
[../]
[./csv]
type = CSV
[../]
[]
[Postprocessors]
[./L2vel_x]
type = ElementL2Error
variable = vel_x
function = vel_x_func
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[./L2vel_y]
variable = vel_y
function = vel_y_func
type = ElementL2Error
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[./L2p]
variable = p
function = p_func
type = ElementL2Error
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[./L2vxx]
variable = vxx
function = vxx_func
type = ElementL2Error
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[./L2px]
variable = px
function = px_func
type = ElementL2Error
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[]
[AuxVariables]
[./vxx]
family = MONOMIAL
order = FIRST
[../]
[./px]
family = MONOMIAL
order = FIRST
[../]
[]
[AuxKernels]
[./vxx]
type = VariableGradientComponent
component = x
variable = vxx
gradient_variable = vel_x
[../]
[./px]
type = VariableGradientComponent
component = x
variable = px
gradient_variable = p
[../]
[]
modules/combined/test/tests/mortar_tm/2d/ad_frictionless_sec/finite.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'finite'
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
use_automatic_differentiation = true
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
preset = false
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = ADFunctionDirichletBC
variable = disp_x
preset = false
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = ADFunctionDirichletBC
variable = disp_y
preset = false
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ADComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/postprocessors/internal_side_jump/internal_side_jump.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[]
[./box]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '0.5 0.5 0'
block_id = 1
[../]
[]
[Variables]
[./u]
family = L2_LAGRANGE
order = FIRST
[../]
[]
[ICs]
[./ic0]
type = ConstantIC
variable = u
block = 0
value = 4
[../]
[./ic1]
type = ConstantIC
variable = u
block = 1
value = 6
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[DGKernels]
[./dgdiff]
type = DGDiffusion
variable = u
sigma = 4
epsilon = 1
[../]
[]
[BCs]
[./all]
type = VacuumBC
variable = u
boundary = '0 1 2 3'
[../]
[]
[Postprocessors]
[./L2_norm]
type = ElementL2Norm
variable = u
[../]
[./jump]
type = InternalSideJump
variable = u
execute_on = 'initial timestep_end'
[../]
[./jumpold]
type = InternalSideJump
variable = u
implicit = false
[../]
[]
[Executioner]
type = Transient
num_steps = 3
nl_abs_tol = 1e-12
[]
[Outputs]
csv = true
[]
test/tests/interfacekernels/2d_interface/coupled_value_coupled_flux.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
xmax = 2
ny = 2
ymax = 2
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 1 0'
block_id = 1
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain1
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[./break_boundary]
input = interface
type = BreakBoundaryOnSubdomainGenerator
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = 0
[../]
[./v]
order = FIRST
family = LAGRANGE
block = 1
[../]
[]
[Kernels]
[./diff_u]
type = CoeffParamDiffusion
variable = u
D = 4
block = 0
[../]
[./diff_v]
type = CoeffParamDiffusion
variable = v
D = 2
block = 1
[../]
[./source_u]
type = BodyForce
variable = u
value = 1
[../]
[]
[InterfaceKernels]
[./interface]
type = PenaltyInterfaceDiffusion
variable = u
neighbor_var = v
boundary = master0_interface
penalty = 1e6
[../]
[]
[BCs]
[./u]
type = VacuumBC
variable = u
boundary = 'left_to_0 bottom_to_0 right top'
[../]
[./v]
type = VacuumBC
variable = v
boundary = 'left_to_1 bottom_to_1'
[../]
[]
[Postprocessors]
[./u_int]
type = ElementIntegralVariablePostprocessor
variable = u
block = 0
[../]
[./v_int]
type = ElementIntegralVariablePostprocessor
variable = v
block = 1
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
print_linear_residuals = true
[]
test/tests/postprocessors/nodal_sum/nodal_sum_block_non_unique.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[./left]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '0.5 1 0'
block_id = 100
[../]
[]
[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
[../]
[]
[Postprocessors]
[./nodal_sum]
type = NodalSum
variable = u
execute_on = 'initial timestep_end'
block = '0 100'
unique_node_execute = false
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
csv = true
[]
modules/combined/test/tests/phase_field_fracture/crack2d_vol_dev.i
#This input uses PhaseField-Nonconserved Action to add phase field fracture bulk rate kernels
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 10
ymax = 0.5
[]
[./noncrack]
type = BoundingBoxNodeSetGenerator
new_boundary = noncrack
bottom_left = '0.5 0 0'
top_right = '1 0 0'
input = gen
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules]
[./PhaseField]
[./Nonconserved]
[./c]
free_energy = F
kappa = kappa_op
mobility = L
[../]
[../]
[../]
[./TensorMechanics]
[./Master]
[./mech]
add_variables = true
strain = SMALL
additional_generate_output = 'stress_yy'
save_in = 'resid_x resid_y'
[../]
[../]
[../]
[]
[AuxVariables]
[./resid_x]
[../]
[./resid_y]
[../]
[]
[Kernels]
[./solid_x]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_x
component = 0
c = c
[../]
[./solid_y]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_y
component = 1
c = c
[../]
[]
[BCs]
[./ydisp]
type = FunctionDirichletBC
variable = disp_y
boundary = top
function = 't'
[../]
[./yfix]
type = DirichletBC
variable = disp_y
boundary = noncrack
value = 0
[../]
[./xfix]
type = DirichletBC
variable = disp_x
boundary = top
value = 0
[../]
[]
[Materials]
[./pfbulkmat]
type = GenericConstantMaterial
prop_names = 'gc_prop l visco'
prop_values = '1e-3 0.04 1e-4'
[../]
[./define_mobility]
type = ParsedMaterial
material_property_names = 'gc_prop visco'
f_name = L
function = '1.0/(gc_prop * visco)'
[../]
[./define_kappa]
type = ParsedMaterial
material_property_names = 'gc_prop l'
f_name = kappa_op
function = 'gc_prop * l'
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '120.0 80.0'
fill_method = symmetric_isotropic
[../]
[./damage_stress]
type = ComputeLinearElasticPFFractureStress
c = c
E_name = 'elastic_energy'
D_name = 'degradation'
F_name = 'local_fracture_energy'
decomposition_type = strain_vol_dev
[../]
[./degradation]
type = DerivativeParsedMaterial
f_name = degradation
args = 'c'
function = '(1.0-c)^2*(1.0 - eta) + eta'
constant_names = 'eta'
constant_expressions = '0.0'
derivative_order = 2
[../]
[./local_fracture_energy]
type = DerivativeParsedMaterial
f_name = local_fracture_energy
args = 'c'
material_property_names = 'gc_prop l'
function = 'c^2 * gc_prop / 2 / l'
derivative_order = 2
[../]
[./fracture_driving_energy]
type = DerivativeSumMaterial
args = c
sum_materials = 'elastic_energy local_fracture_energy'
derivative_order = 2
f_name = F
[../]
[]
[Postprocessors]
[./resid_x]
type = NodalSum
variable = resid_x
boundary = 2
[../]
[./resid_y]
type = NodalSum
variable = resid_y
boundary = 2
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
nl_rel_tol = 1e-8
l_max_its = 10
nl_max_its = 10
dt = 1e-4
dtmin = 1e-4
num_steps = 2
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/stack_generator/stack_generator_2d.i
[Mesh]
[./layer1]
type = GeneratedMeshGenerator
dim = 2
nx = 10
xmax = 10
ny = 5
ymax = 5
[]
[./layer2]
type = GeneratedMeshGenerator
dim = 2
nx = 10
xmax = 10
ny = 5
ymax = 10
[]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
xmax = 10
ny = 10
ymax = 10
[]
[./bounding_box1]
type = SubdomainBoundingBoxGenerator
input = gmg
top_right = '10 10 0'
bottom_left = '0 7 0'
block_id = 1
[]
[./layer3]
type = SubdomainBoundingBoxGenerator
input = bounding_box1
top_right = '3 3 0'
bottom_left = '0 0 0'
block_id = 2
[]
[./layer4]
type = GeneratedMeshGenerator
dim = 2
nx = 10
xmax = 10
ny = 2
ymax = 2
[]
[./stack_them]
type = StackGenerator
inputs = 'layer1 layer2 layer3 layer4'
dim = 2
bottom_height = 3
[]
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/thermal_expansion_function/instantaneous.i
# This test checks the thermal expansion calculated via a instantaneous thermal expansion coefficient.
# The coefficient is selected so as to result in a 1e-4 strain in the x-axis, and to cross over
# from positive to negative strain.
[Mesh]
[./gen]
type = GeneratedMeshGenerator
dim = 3
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[AuxVariables]
[./temp]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
add_variables = true
eigenstrain_names = eigenstrain
generate_output = 'strain_xx strain_yy strain_zz'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = back
value = 0.0
[../]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
function = '1 + t'
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./thermal_expansion_strain]
type = ComputeInstantaneousThermalExpansionFunctionEigenstrain
thermal_expansion_function = 4e-4
stress_free_temperature = 1.5
temperature = temp
eigenstrain_name = eigenstrain
[../]
[]
[Postprocessors]
[./disp_x_max]
type = SideAverageValue
variable = disp_x
boundary = right
[../]
[./temp_avg]
type = ElementAverageValue
variable = temp
[../]
[]
[Executioner]
type = Transient
end_time = 1.0
dt = 0.1
[]
[Outputs]
csv = true
[]
modules/peridynamics/test/tests/simple_tests/2D_regularD_variableH_BPD.i
# Test for bond-based peridynamic formulation
# for regular grid from generated mesh with varying bond constants
# Square plate with Dirichlet boundary conditions applied
# at the left, top and bottom edges
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1003
value = 0.0
[../]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = 1002
value = 0.0
[../]
[./bottom_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1000
function = '-0.001*t'
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = BOND
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.33
[../]
[./force_density]
type = ComputeSmallStrainVariableHorizonMaterialBPD
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0
end_time = 1
[]
[Outputs]
file_base = 2D_regularD_variableH_BPD
exodus = true
[]
modules/tensor_mechanics/test/tests/global_strain/global_strain_shear.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 1
ny = 1
nz = 1
[]
[cnode]
type = ExtraNodesetGenerator
coord = '0.0 0.0 0.0'
new_boundary = 100
input = generated_mesh
[]
[]
[Variables]
[./u_x]
[../]
[./u_y]
[../]
[./u_z]
[../]
[./global_strain]
order = SIXTH
family = SCALAR
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./s01]
order = CONSTANT
family = MONOMIAL
[../]
[./e01]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./disp_x]
type = GlobalDisplacementAux
variable = disp_x
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 1
[../]
[./disp_y]
type = GlobalDisplacementAux
variable = disp_y
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 1
[../]
[./disp_z]
type = GlobalDisplacementAux
variable = disp_z
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 2
[../]
[./s01]
type = RankTwoAux
variable = s01
rank_two_tensor = stress
index_i = 0
index_j = 1
[../]
[./e01]
type = RankTwoAux
variable = e01
rank_two_tensor = total_strain
index_i = 0
index_j = 1
[../]
[]
[GlobalParams]
displacements = 'u_x u_y u_z'
block = 0
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[ScalarKernels]
[./global_strain]
type = GlobalStrain
variable = global_strain
global_strain_uo = global_strain_uo
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y z'
variable = ' u_x u_y u_z'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = u_x
value = 0
[../]
[./centerfix_y]
type = DirichletBC
boundary = 100
variable = u_y
value = 0
[../]
[./centerfix_z]
type = DirichletBC
boundary = 100
variable = u_z
value = 0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeElasticityTensor
block = 0
C_ijkl = '70e9 0.33'
fill_method = symmetric_isotropic_E_nu
[../]
[./strain]
type = ComputeSmallStrain
global_strain = global_strain
[../]
[./global_strain]
type = ComputeGlobalStrain
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[UserObjects]
[./global_strain_uo]
type = GlobalStrainUserObject
applied_stress_tensor = '0 0 0 5e9 5e9 5e9'
execute_on = 'Initial Linear Nonlinear'
[../]
[]
[Postprocessors]
[./l2err_e01]
type = ElementL2Error
variable = e01
function = 0.095 #Shear strain check
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
l_max_its = 30
nl_max_its = 12
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
nl_abs_tol = 1.0e-10
start_time = 0.0
num_steps = 2
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/fluidstate/theis_brineco2_nonisothermal.i
# Two phase nonisothermal Theis problem: Flow from single source.
# Constant rate injection 2 kg/s of cold CO2 into warm reservoir
# 1D cylindrical mesh
# Initially, system has only a liquid phase, until enough gas is injected
# to form a gas phase, in which case the system becomes two phase.
[Mesh]
[./mesh]
type = GeneratedMeshGenerator
dim = 1
nx = 40
xmin = 0.1
xmax = 200
bias_x = 1.05
[../]
[]
[Problem]
type = FEProblem
coord_type = RZ
rz_coord_axis = Y
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[AuxVariables]
[./saturation_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./x1]
order = CONSTANT
family = MONOMIAL
[../]
[./y0]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./saturation_gas]
type = PorousFlowPropertyAux
variable = saturation_gas
property = saturation
phase = 1
execute_on = timestep_end
[../]
[./x1]
type = PorousFlowPropertyAux
variable = x1
property = mass_fraction
phase = 0
fluid_component = 1
execute_on = timestep_end
[../]
[./y0]
type = PorousFlowPropertyAux
variable = y0
property = mass_fraction
phase = 1
fluid_component = 0
execute_on = timestep_end
[../]
[]
[Variables]
[./pgas]
initial_condition = 20e6
[../]
[./zi]
initial_condition = 0
[../]
[./xnacl]
initial_condition = 0.1
[../]
[./temperature]
initial_condition = 70
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pgas
[../]
[./flux0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = pgas
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = zi
[../]
[./flux1]
type = PorousFlowAdvectiveFlux
fluid_component = 1
variable = zi
[../]
[./mass2]
type = PorousFlowMassTimeDerivative
fluid_component = 2
variable = xnacl
[../]
[./flux2]
type = PorousFlowAdvectiveFlux
fluid_component = 2
variable = xnacl
[../]
[./energy]
type = PorousFlowEnergyTimeDerivative
variable = temperature
[../]
[./heatadv]
type = PorousFlowHeatAdvection
variable = temperature
[../]
[./conduction]
type = PorousFlowHeatConduction
variable = temperature
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pgas zi xnacl temperature'
number_fluid_phases = 2
number_fluid_components = 3
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[./fs]
type = PorousFlowBrineCO2
brine_fp = brine
co2_fp = co2
capillary_pressure = pc
[../]
[]
[Modules]
[./FluidProperties]
[./co2]
type = CO2FluidProperties
[../]
[./brine]
type = BrineFluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temperature
[../]
[./brineco2]
type = PorousFlowFluidState
gas_porepressure = pgas
z = zi
temperature = temperature
temperature_unit = Celsius
xnacl = xnacl
capillary_pressure = pc
fluid_state = fs
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.2
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-12 0 0 0 1e-12 0 0 0 1e-12'
[../]
[./relperm_water]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
s_res = 0.1
sum_s_res = 0.1
[../]
[./relperm_gas]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 1
[../]
[./rockheat]
type = PorousFlowMatrixInternalEnergy
specific_heat_capacity = 1000
density = 2500
[../]
[./rock_thermal_conductivity]
type = PorousFlowThermalConductivityIdeal
dry_thermal_conductivity = '50 0 0 0 50 0 0 0 50'
[../]
[]
[BCs]
[./cold_gas]
type = DirichletBC
boundary = left
variable = temperature
value = 20
[../]
[./gas_injecton]
type = PorousFlowSink
boundary = left
variable = zi
flux_function = -0.159155
[../]
[./rightwater]
type = DirichletBC
boundary = right
value = 20e6
variable = pgas
[../]
[./righttemp]
type = DirichletBC
boundary = right
value = 70
variable = temperature
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1e4
automatic_scaling = true
nl_abs_tol = 1e-7
nl_rel_tol = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
dt = 1
growth_factor = 1.5
[../]
[]
[Postprocessors]
[./pgas]
type = PointValue
point = '2 0 0'
variable = pgas
[../]
[./sgas]
type = PointValue
point = '2 0 0'
variable = saturation_gas
[../]
[./zi]
type = PointValue
point = '2 0 0'
variable = zi
[../]
[./temperature]
type = PointValue
point = '2 0 0'
variable = temperature
[../]
[./massgas]
type = PorousFlowFluidMass
fluid_component = 1
[../]
[./x1]
type = PointValue
point = '2 0 0'
variable = x1
[../]
[./y0]
type = PointValue
point = '2 0 0'
variable = y0
[../]
[]
[Outputs]
print_linear_residuals = false
perf_graph = true
csv = true
[]
modules/tensor_mechanics/test/tests/finite_strain_jacobian/3d_bar.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
xmin = 0
xmax = 2
ymin = 0
ymax = 2
zmin = 0
zmax = 10
nx = 10
ny = 2
nz = 2
elem_type = HEX8
[]
[corner]
type = ExtraNodesetGenerator
new_boundary = 101
coord = '0 0 0'
input = generated_mesh
[]
[side]
type = ExtraNodesetGenerator
new_boundary = 102
coord = '2 0 0'
input = corner
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
add_variables = true
use_finite_deform_jacobian = true
volumetric_locking_correction = false
[../]
[]
[Materials]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
fill_method = symmetric9
C_ijkl = '1.684e5 0.176e5 0.176e5 1.684e5 0.176e5 1.684e5 0.754e5 0.754e5 0.754e5'
[../]
[]
[BCs]
[./fix_corner_x]
type = DirichletBC
variable = disp_x
boundary = 101
value = 0
[../]
[./fix_corner_y]
type = DirichletBC
variable = disp_y
boundary = 101
value = 0
[../]
[./fix_side_y]
type = DirichletBC
variable = disp_y
boundary = 102
value = 0
[../]
[./fix_z]
type = DirichletBC
variable = disp_z
boundary = back
value = 0
[../]
[./move_z]
type = FunctionDirichletBC
variable = disp_z
boundary = front
function = 't'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
nl_rel_tol = 1e-10
nl_max_its = 10
l_tol = 1e-4
l_max_its = 50
dt = 0.2
dtmin = 0.2
num_steps = 2
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
test/tests/materials/get_material_property_names/get_material_property_block_names.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[./add_subdomain]
input = gen
type = SubdomainBoundingBoxGenerator
top_right = '1 1 0'
bottom_left = '0 0.5 0'
block_id = 100
block_name = 'top'
[../]
[]
[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
[../]
[]
[Materials]
[./material]
type = GenericConstantMaterial
prop_names = combo
block = 100
prop_values = 12345
[../]
[./top]
type = GenericConstantMaterial
prop_names = combo
block = 0
prop_values = 99999
[../]
[]
[UserObjects]
[./get_material_block_names_test]
type = GetMaterialPropertyBoundaryBlockNamesTest
expected_names = 'top 0'
property_name = combo
test_type = 'block'
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/ad_thermal_expansion_function/dilatation.i
# This test checks the thermal expansion calculated via an dilatation function.
# The coefficient is selected so as to result in a 1e-4 strain in the x-axis, and to cross over
# from positive to negative strain.
[Mesh]
[./gen]
type = GeneratedMeshGenerator
dim = 3
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[AuxVariables]
[./temp]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
add_variables = true
eigenstrain_names = eigenstrain
generate_output = 'strain_xx strain_yy strain_zz'
use_automatic_differentiation = true
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = back
value = 0.0
[../]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
function = '1 + t'
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1
poissons_ratio = 0.3
[../]
[./stress]
type = ADComputeLinearElasticStress
[../]
[./thermal_expansion_strain]
type = ADComputeDilatationThermalExpansionFunctionEigenstrain
dilatation_function = cte_dilatation
stress_free_temperature = 1.5
temperature = temp
eigenstrain_name = eigenstrain
[../]
[]
[Functions]
[./cte_dilatation]
type = PiecewiseLinear
x = '1 2'
y = '-1e-4 1e-4'
[../]
[]
[Postprocessors]
[./disp_x_max]
type = SideAverageValue
variable = disp_x
boundary = right
[../]
[./temp_avg]
type = ElementAverageValue
variable = temp
[../]
[]
[Executioner]
type = Transient
end_time = 1.0
dt = 0.1
[]
[Outputs]
csv = true
[]
test/tests/bcs/ad_function_neumann_bc/test.i
[Mesh]
[./square]
type = GeneratedMeshGenerator
dim = 2
nx = 32
ny = 32
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./exact_func]
type = ParsedFunction
value = x*x
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./forcing]
type = BodyForce
variable = u
function = 2
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = FunctionNeumannBC
function = x
variable = u
boundary = right
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
execute_on = 'timestep_end'
file_base = neumannbc_out
exodus = true
[]
modules/combined/test/tests/mortar_tm/2d/ad_frictionless_sec/small.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'small'
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
use_automatic_differentiation = true
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = ADFunctionDirichletBC
variable = disp_x
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = ADFunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ADComputeLinearElasticStress
block = 'plank block'
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/tensor_mechanics/test/tests/czm/czm_3DC_3D_base_input.i
[Mesh]
[./msh]
type = GeneratedMeshGenerator
[]
[./subdomain_1]
type = SubdomainBoundingBoxGenerator
input = msh
bottom_left = '0 0 0'
block_id = 1
top_right = '0.5 1 1'
[]
[./subdomain_2]
type = SubdomainBoundingBoxGenerator
input = subdomain_1
bottom_left = '0.5 0 0'
block_id = 2
top_right = '1 1 1'
[]
[./breakmesh]
input = subdomain_2
type = BreakMeshByBlockGenerator
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
add_variables = true
generate_output = 'stress_xx stress_yy stress_zz stress_yz stress_xz stress_xy'
[../]
[]
[Modules/TensorMechanics/CohesiveZoneMaster]
[./czm1]
boundary = 'interface'
displacements = 'disp_x disp_y disp_z'
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
preset = false
boundary = left
value = 0.0
[../]
[./left_z]
type = DirichletBC
variable = disp_z
preset = false
boundary = left
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
preset = false
boundary = right
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
preset = false
boundary = right
[../]
[./right_z]
type = FunctionDirichletBC
variable = disp_z
preset = false
boundary = right
[../]
[]
[Materials]
[./Elasticity_tensor]
type = ComputeElasticityTensor
block = '1 2'
fill_method = symmetric_isotropic
C_ijkl = '0.3 0.5e8'
[../]
[./stress]
type = ComputeLinearElasticStress
block = '1 2'
[../]
[./czm_3dc]
type = SalehaniIrani3DCTraction
boundary = 'interface'
normal_gap_at_maximum_normal_traction = 1
tangential_gap_at_maximum_shear_traction = 0.5
maximum_normal_traction = 100
maximum_shear_traction = 70
displacements = 'disp_x disp_y disp_z'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
solve_type = NEWTON
nl_abs_tol = 1e-8
nl_rel_tol = 1e-6
nl_max_its = 5
l_tol = 1e-10
l_max_its = 50
start_time = 0.0
dt = 0.2
end_time = 5
dtmin = 0.2
line_search = none
[]
[Outputs]
[./out]
type = Exodus
[../]
[]
[Postprocessors]
[./sxx]
type = SideAverageValue
variable = stress_xx
execute_on = 'INITIAL TIMESTEP_END'
boundary = 'interface'
[../]
[./syy]
type = SideAverageValue
variable = stress_yy
execute_on = 'INITIAL TIMESTEP_END'
boundary = 'interface'
[../]
[./szz]
type = SideAverageValue
variable = stress_zz
execute_on = 'INITIAL TIMESTEP_END'
boundary = 'interface'
[../]
[./syz]
type = SideAverageValue
variable = stress_yz
execute_on = 'INITIAL TIMESTEP_END'
boundary = 'interface'
[../]
[./sxz]
type = SideAverageValue
variable = stress_xz
execute_on = 'INITIAL TIMESTEP_END'
boundary = 'interface'
[../]
[./sxy]
type = SideAverageValue
variable = stress_xy
execute_on = 'INITIAL TIMESTEP_END'
boundary = 'interface'
[../]
[./disp_x]
type = SideAverageValue
variable = disp_x
execute_on = 'INITIAL TIMESTEP_END'
boundary = 'right'
[../]
[./disp_y]
type = SideAverageValue
variable = disp_y
execute_on = 'INITIAL TIMESTEP_END'
boundary = 'right'
[../]
[./disp_z]
type = SideAverageValue
variable = disp_z
execute_on = 'INITIAL TIMESTEP_END'
boundary = 'right'
[../]
[]
test/tests/postprocessors/point_value/point_value.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[./subdomain]
input = gen
type = ElementSubdomainIDGenerator
element_ids = '0 1 2 3'
subdomain_ids = '1 2 3 4'
[../]
[]
[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
[../]
[]
[Postprocessors]
[./value]
type = PointValue
variable = u
point = '0.371 .41 0'
[../]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
[]
[Outputs]
csv = true
[]
modules/peridynamics/test/tests/nodalkernels/penalty_dirichlet_old_value.i
#In order to compare the solution generated using PresetBC, the penalty was set to 1e10.
#Large penalty number should be used with caution.
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gfm]
type = GeneratedMeshGenerator
dim = 2
xmin = -1.1
xmax = 1.1
ymin = -1.1
ymax = 1.1
nx = 11
ny = 11
elem_type = QUAD4
[../]
[./gpd]
type = MeshGeneratorPD
input = gfm
retain_fe_mesh = false
[../]
[]
[Variables]
[./temp]
[../]
[]
[AuxVariables]
[./bond_status]
initial_condition = 1
[../]
[]
[Kernels]
[./heat]
type = HeatConductionBPD
variable = temp
[../]
[./source]
type = HeatSourceBPD
variable = temp
power_density = '-4'
[../]
[]
[Materials]
[./thermal_material]
type = ThermalConstantHorizonMaterialBPD
thermal_conductivity = 1
temperature = temp
[../]
[]
[NodalKernels]
[./bc_all]
type = PenaltyDirichletOldValuePD
variable = temp
boundary = 'pd_nodes_top pd_nodes_left pd_nodes_right pd_nodes_bottom'
penalty = 1e10
[../]
[]
# [BCs]
# [./fix]
# type = DirichletBC
# variable = temp
# value = 0
# boundary = 'pd_nodes_top pd_nodes_left pd_nodes_right pd_nodes_bottom'
# [../]
# []
[Executioner]
type = Transient
solve_type = 'PJFNK'
start_time = 0
end_time = 1
nl_rel_tol = 1e-14
[]
[Outputs]
file_base = preset_bc_out
exodus = true
[]
modules/tensor_mechanics/test/tests/finite_strain_jacobian/bending_jacobian.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 2
nx = 10
ny = 2
elem_type = QUAD4
[]
[corner]
type = ExtraNodesetGenerator
new_boundary = 101
coord = '0 0'
input = generated_mesh
[]
[side]
type = ExtraNodesetGenerator
new_boundary = 102
coord = '10 0'
input = corner
[]
[mid]
type = ExtraNodesetGenerator
new_boundary = 103
coord = '5 2'
input = side
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
add_variables = true
use_finite_deform_jacobian = true
volumetric_locking_correction = false
[../]
[]
[Materials]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
fill_method = symmetric9
C_ijkl = '1.684e5 0.176e5 0.176e5 1.684e5 0.176e5 1.684e5 0.754e5 0.754e5 0.754e5'
[../]
[]
[BCs]
[./fix_corner_x]
type = DirichletBC
variable = disp_x
boundary = 101
value = 0
[../]
[./fix_corner_y]
type = DirichletBC
variable = disp_y
boundary = 101
value = 0
[../]
[./fix_y]
type = DirichletBC
variable = disp_y
boundary = 102
value = 0
[../]
[./move_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 103
function = '-t'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
nl_rel_tol = 1e-10
nl_max_its = 10
l_tol = 1e-4
l_max_its = 50
dt = 0.1
dtmin = 0.1
num_steps = 2
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/mortar_tm/2d/frictionless_first/finite_rr.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'finite_rr'
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
extra_vector_tags = 'ref'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
nl_abs_tol = 1e-7
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/postprocessors/nodal_sum/nodal_sum.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[./left]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '0.5 1 0'
block_id = 100
[../]
[]
[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
[../]
[]
[Postprocessors]
[./nodal_sum]
type = NodalSum
variable = u
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
csv = true
[]
modules/tensor_mechanics/test/tests/ad_action/two_coord.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 16
ny = 8
xmin = -1
xmax = 1
[]
[block1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '-1 0 0'
top_right = '0 1 0'
input = generated_mesh
[]
[block2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0 0 0'
top_right = '1 1 0'
input = block1
[]
[]
[Problem]
coord_type = 'XYZ RZ'
block = '1 2'
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules/TensorMechanics/Master]
active = 'block1 block2'
[./error]
strain = SMALL
add_variables = true
[../]
[./block1]
strain = SMALL
add_variables = true
block = 1
use_automatic_differentiation = true
[../]
[./block2]
strain = SMALL
add_variables = true
block = 2
use_automatic_differentiation = true
[../]
[]
[AuxVariables]
[./vmstress]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./vmstress]
type = RankTwoScalarAux
rank_two_tensor = total_strain
variable = vmstress
scalar_type = VonMisesStress
execute_on = timestep_end
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e10
poissons_ratio = 0.345
[../]
[./_elastic_stress]
type = ADComputeLinearElasticStress
block = '1 2'
[../]
[]
[BCs]
[./topx]
type = DirichletBC
boundary = 'top'
variable = disp_x
value = 0.0
[../]
[./topy]
type = DirichletBC
boundary = 'top'
variable = disp_y
value = 0.0
[../]
[./bottomx]
type = DirichletBC
boundary = 'bottom'
variable = disp_x
value = 0.0
[../]
[./bottomy]
type = DirichletBC
boundary = 'bottom'
variable = disp_y
value = 0.05
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[Preconditioning]
[./full]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = ' 201 hypre boomeramg 10'
line_search = 'none'
nl_rel_tol = 5e-9
nl_abs_tol = 1e-10
nl_max_its = 15
l_tol = 1e-3
l_max_its = 50
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/simple_tests/2D_regularD_variableH_OSPD.i
# Test for ordinary state-based peridynamic formulation
# for regular grid from generated mesh with varying bond constants
# partial Jacobian
# Jacobian from bond-based formulation is used for preconditioning
# Square plate with Dirichlet boundary conditions applied
# at the left, top and bottom edges
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1003
value = 0.0
[../]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = 1002
value = 0.0
[../]
[./bottom_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1000
function = '-0.001*t'
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = ORDINARY_STATE
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.0
[../]
[./force_density]
type = ComputeSmallStrainVariableHorizonMaterialOSPD
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0
end_time = 1
[]
[Outputs]
file_base = 2D_regularD_variableH_OSPD
exodus = true
[]
modules/tensor_mechanics/test/tests/global_strain/global_strain_pressure_3D.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 2
ny = 2
nz = 2
xmin = -0.5
xmax = 0.5
ymin = -0.5
ymax = 0.5
zmin = -0.5
zmax = 0.5
[]
[cnode]
type = ExtraNodesetGenerator
coord = '0.0 0.0 0.0'
new_boundary = 100
input = generated_mesh
[]
[]
[Variables]
[./u_x]
[../]
[./u_y]
[../]
[./u_z]
[../]
[./global_strain]
order = SIXTH
family = SCALAR
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./s00]
order = CONSTANT
family = MONOMIAL
[../]
[./s11]
order = CONSTANT
family = MONOMIAL
[../]
[./e00]
order = CONSTANT
family = MONOMIAL
[../]
[./e11]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./disp_x]
type = GlobalDisplacementAux
variable = disp_x
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 0
[../]
[./disp_y]
type = GlobalDisplacementAux
variable = disp_y
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 1
[../]
[./disp_z]
type = GlobalDisplacementAux
variable = disp_z
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 2
[../]
[./s00]
type = RankTwoAux
variable = s00
rank_two_tensor = stress
index_i = 0
index_j = 0
[../]
[./s11]
type = RankTwoAux
variable = s11
rank_two_tensor = stress
index_i = 1
index_j = 1
[../]
[./e00]
type = RankTwoAux
variable = e00
rank_two_tensor = total_strain
index_i = 0
index_j = 0
[../]
[./e11]
type = RankTwoAux
variable = e11
rank_two_tensor = total_strain
index_i = 1
index_j = 1
[../]
[]
[GlobalParams]
displacements = 'u_x u_y u_z'
block = 0
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[ScalarKernels]
[./global_strain]
type = GlobalStrain
variable = global_strain
global_strain_uo = global_strain_uo
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x z'
variable = ' u_x u_y u_z'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = u_x
value = 0
[../]
[./fix_y]
type = DirichletBC
boundary = 100
variable = u_y
value = 0
[../]
[./centerfix_z]
type = DirichletBC
boundary = 100
variable = u_z
value = 0
[../]
[./Pressure]
[./top]
boundary = top
function = 0.3
[../]
[./bottom]
boundary = bottom
function = 0.3
[../]
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeElasticityTensor
block = 0
C_ijkl = '7 0.33'
fill_method = symmetric_isotropic_E_nu
[../]
[./strain]
type = ComputeSmallStrain
global_strain = global_strain
[../]
[./global_strain]
type = ComputeGlobalStrain
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[UserObjects]
[./global_strain_uo]
type = GlobalStrainUserObject
execute_on = 'Initial Linear Nonlinear'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
l_max_its = 30
nl_max_its = 12
l_tol = 1.0e-4
nl_rel_tol = 1.0e-6
nl_abs_tol = 1.0e-10
start_time = 0.0
num_steps = 2
[]
[Outputs]
exodus = true
[]
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
[../]
[]
test/tests/meshgenerators/sidesets_bounding_box_generator/overlapping_sidesets.i
[Mesh]
#active = 'gmg'
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 10
ny = 10
nz = 10
[]
[./createNewSidesetOne]
type = SideSetsFromBoundingBoxGenerator
input = gmg
boundary_id_old = 'bottom back left'
boundary_id_new = 10
bottom_left = '-1.1 -1.1 -1.1'
top_right = '1.1 1.1 1.1'
block_id = 0
boundary_id_overlap = true
[]
[./createNewSidesetTwo]
type = SideSetsFromBoundingBoxGenerator
input = createNewSidesetOne
boundary_id_old = 'right bottom'
boundary_id_new = 11
bottom_left = '-1.1 -1.1 -1.1'
top_right = '1.1 1.1 1.1'
block_id = 0
boundary_id_overlap = true
[]
[./createNewSidesetThree]
type = SideSetsFromBoundingBoxGenerator
input = createNewSidesetTwo
boundary_id_old = 'top front'
boundary_id_new = 12
bottom_left = '-1.1 -1.1 -1.1'
top_right = '1.1 1.1 1.1'
block_id = 0
boundary_id_overlap = true
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./BCone]
type = DirichletBC
variable = u
boundary = 10
value = 1
[../]
[./BCtwo]
type = DirichletBC
variable = u
boundary = 11
value = 1
[../]
[./BCthree]
type = DirichletBC
variable = u
boundary = 12
value = 0
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/restart/2D_mesh_restartable_NOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1003
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1003
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 1001
value = 0.001
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = NONORDINARY_STATE
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2.1e8
poissons_ratio = 0.3
[../]
[./strain]
type = ComputePlaneSmallStrainNOSPD
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
start_time = 0
end_time = 1
# num_steps = 2
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
[Outputs]
file_base = 2D_mesh_restartable_NOSPD_out
exodus = true
checkpoint = true
[]
modules/combined/test/tests/mortar_tm/2drz/frictionless_second/finite_noaction.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'finite_noaction'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[./slave]
input = block_sidesets
type = LowerDBlockFromSidesetGenerator
sidesets = 'block_left'
new_block_id = '30'
new_block_name = 'frictionless_slave_subdomain'
[../]
[./master]
input = slave
type = LowerDBlockFromSidesetGenerator
sidesets = 'plank_right'
new_block_id = '20'
new_block_name = 'frictionless_master_subdomain'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./frictionless_normal_lm]
order = ${order}
block = 'frictionless_slave_subdomain'
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
[../]
[./plank]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
[../]
[]
[Constraints]
[./lm]
type = NormalNodalLMMechanicalContact
slave = block_left
master = plank_right
variable = frictionless_normal_lm
master_variable = disp_x
disp_y = disp_y
ncp_function_type = min
use_displaced_mesh = true
[../]
[./normal_x]
type = NormalMortarMechanicalContact
master_boundary = plank_right
slave_boundary = block_left
master_subdomain = frictionless_master_subdomain
slave_subdomain = frictionless_slave_subdomain
variable = frictionless_normal_lm
slave_variable = disp_x
component = x
use_displaced_mesh = true
compute_lm_residuals = false
[../]
[./normal_y]
type = NormalMortarMechanicalContact
master_boundary = plank_right
slave_boundary = block_left
master_subdomain = frictionless_master_subdomain
slave_subdomain = frictionless_slave_subdomain
variable = frictionless_normal_lm
slave_variable = disp_y
component = y
use_displaced_mesh = true
compute_lm_residuals = false
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
preset = false
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = block_right
value = 0
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
preset = false
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[./swell]
type = ComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/tensor_mechanics/test/tests/plane_stress/3D_finite_tension_pull.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y disp_z'
[]
[Problem]
extra_tag_vectors = 'ref'
[]
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 1
ny = 1
nz = 1
[]
[]
[AuxVariables]
[react_x]
[]
[]
[Postprocessors]
[react_x]
type = NodalSum
variable = 'react_x'
boundary = 'right'
[]
[stress_xx]
type = ElementalVariableValue
variable = 'stress_xx'
elementid = 0
[]
[strain_zz]
type = ElementalVariableValue
variable = 'strain_zz'
elementid = 0
[]
[]
[Modules/TensorMechanics/Master]
[plane_stress]
strain = FINITE
extra_vector_tags = 'ref'
generate_output = 'stress_xx stress_xy stress_yy stress_zz strain_xx strain_xy strain_yy strain_zz'
add_variables = true
[]
[]
[AuxKernels]
[react_x]
type = TagVectorAux
vector_tag = 'ref'
v = 'disp_x'
variable = 'react_x'
[]
[]
[BCs]
[leftx]
type = DirichletBC
boundary = left
variable = disp_x
value = 0.0
[]
[bottomy]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[]
[backz]
type = DirichletBC
boundary = back
variable = disp_z
value = 0.0
[]
[rightx]
type = FunctionDirichletBC
boundary = right
variable = disp_x
function = 't'
[]
[]
[Materials]
[elasticity_tensor]
type = ComputeIsotropicElasticityTensor
poissons_ratio = 0.3
youngs_modulus = 1e6
[]
[stress]
type = ComputeFiniteStrainElasticStress
[]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
nl_rel_tol = 1e-12
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 0.01
dtmin = 0.01
end_time = 0.2
[]
[Outputs]
csv = true
[]
test/tests/misc/block_user_object_check/coupled_check.i
[Mesh]
[./generator]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 5
[../]
[./left_block]
type = SubdomainBoundingBoxGenerator
input = generator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.5 1 0'
[../]
[./right_block]
type = SubdomainBoundingBoxGenerator
input = left_block
block_id = 2
bottom_left = '0.5 0 0'
top_right = '1 1 0'
[../]
[]
[Variables]
[./var_0]
[../]
[./var_1]
block = 1
initial_condition = 100
[../]
[./var_2]
block = 2
initial_condition = 200
[../]
[]
[Kernels]
[./obj]
type = CoupledConvection
variable = var_0
velocity_vector = var_1
#block = 1 # this is being tested
[../]
[]
[Problem]
type = FEProblem
kernel_coverage_check = true
solve = false
[]
[Executioner]
type = Steady
[]
test/tests/interfacekernels/3d_interface/coupled_value_coupled_flux.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 3
nx = 2
xmax = 2
ny = 2
ymax = 2
nz = 2
zmax = 2
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 1 1'
block_id = 1
[../]
[./break_boundary]
input = subdomain1
type = BreakBoundaryOnSubdomainGenerator
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = break_boundary
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = 0
[../]
[./v]
order = FIRST
family = LAGRANGE
block = 1
[../]
[]
[Kernels]
[./diff_u]
type = CoeffParamDiffusion
variable = u
D = 4
block = 0
[../]
[./diff_v]
type = CoeffParamDiffusion
variable = v
D = 2
block = 1
[../]
[./source_u]
type = BodyForce
variable = u
value = 1
[../]
[]
[InterfaceKernels]
[./interface]
type = PenaltyInterfaceDiffusion
variable = u
neighbor_var = v
boundary = master0_interface
penalty = 1e6
[../]
[]
[BCs]
[./u]
type = VacuumBC
variable = u
boundary = 'left_to_0 bottom_to_0 back_to_0 right top front'
[../]
[./v]
type = VacuumBC
variable = v
boundary = 'left_to_1 bottom_to_1 back_to_1'
[../]
[]
[Postprocessors]
[./u_int]
type = ElementIntegralVariablePostprocessor
variable = u
block = 0
[../]
[./v_int]
type = ElementIntegralVariablePostprocessor
variable = v
block = 1
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
print_linear_residuals = true
[]
modules/combined/test/tests/mortar_tm/2drz/frictionless_second/finite_rr.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'finite_rr'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
extra_vector_tags = 'ref'
[../]
[./plank]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
extra_vector_tags = 'ref'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
preset = false
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = block_right
value = 0
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
preset = false
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[./swell]
type = ComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
nl_abs_tol = 1e-12
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/peridynamics/test/tests/simple_tests/2D_small_strain_NOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 8
ny = 8
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1003
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1003
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 1001
function = '0.001*t'
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = NONORDINARY_STATE
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2.1e8
poissons_ratio = 0.3
[../]
[./strain]
type = ComputeSmallStrainNOSPD
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0
end_time = 1
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
[Outputs]
file_base = 2D_small_strain_NOSPD
exodus = true
[]
test/tests/meshgenerators/sideset_around_subdomain_generator/around_multi_created_subdomain.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
xmin = 0
xmax = 4
nx = 4
ymin = 0
ymax = 4
ny = 4
zmin = 0
zmax = 2
nz = 2
[]
[./subdomains]
type = ElementSubdomainIDGenerator
input = gmg
subdomain_ids = '0 0 0 0
0 0 0 0
1 1 0 0
2 2 2 2
3 3 0 0
3 3 0 0
1 1 0 0
0 0 0 0'
[]
[./interface]
type = SideSetsAroundSubdomainGenerator
input = subdomains
block = '1 2 3'
new_boundary = 'to0'
[]
[]
[Outputs]
exodus = true
[]
test/tests/outputs/debug/show_material_props_debug.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[./subdomains]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0.1 0.1 0'
block_id = 1
top_right = '0.9 0.9 0'
[../]
[]
[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
[../]
[]
[Materials]
[./block]
type = GenericConstantMaterial
block = '0 1'
prop_names = 'property0 property1 property2 property3 property4 property5 property6 property7 property8 property9 property10'
prop_values = '0 1 2 3 4 5 6 7 8 9 10'
[../]
[./boundary]
type = GenericConstantMaterial
prop_names = bnd_prop
boundary = top
prop_values = 12345
[../]
[./restricted]
type = GenericConstantMaterial
block = 1
prop_names = 'restricted0 restricted1'
prop_values = '10 11'
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
[Debug]
show_material_props = true
[]
test/tests/interfacekernels/3d_interface/vector_3d.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 3
nx = 2
xmax = 2
ny = 2
ymax = 2
nz = 2
zmax = 2
elem_type = HEX20
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 1 1'
block_id = 1
[../]
[./break_boundary]
type = BreakBoundaryOnSubdomainGenerator
input = subdomain1
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = break_boundary
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[]
[Variables]
[./u]
order = FIRST
family = NEDELEC_ONE
block = 0
[../]
[./v]
order = FIRST
family = NEDELEC_ONE
block = 1
[../]
[]
[Kernels]
[./curl_u_plus_u]
type = VectorFEWave
variable = u
x_forcing_func = 1
y_forcing_func = 1
z_forcing_func = 1
block = 0
[../]
[./curl_v_plus_v]
type = VectorFEWave
variable = v
block = 1
[../]
[]
[InterfaceKernels]
[./parallel]
type = VectorPenaltyInterfaceDiffusion
variable = u
neighbor_var = v
boundary = master0_interface
penalty = 1e6
[../]
[]
[BCs]
# Natural condition of VectorFEWave weak form is curl(u) = 0, curl(v) = 0
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
[]
[Outputs]
exodus = true
print_linear_residuals = true
[]
test/tests/vectorpostprocessors/sideset_info/sideset_info.i
[Mesh]
type = MeshGeneratorMesh
[./uniform]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1
nx = 8
ymin = -0.4
ymax = 10.4
ny = 5
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[]
[VectorPostprocessors]
[./side_info]
type = SidesetInfoVectorPostprocessor
boundary = 'left right bottom'
meta_data_types = 'centroid min max area'
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
file_base = out
csv = true
[]
modules/peridynamics/test/tests/jacobian_check/weak_planestress_thermomechanics_smallstrain_NOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
temperature = temp
out_of_plane_strain = strain_zz
full_jacobian = true
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./strain_zz]
[../]
[./temp]
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = NONORDINARY_STATE
eigenstrain_names = thermal_strain
[../]
[]
[Kernels]
[./strain_zz]
type = WeakPlaneStressNOSPD
variable = strain_zz
eigenstrain_names = thermal_strain
[../]
[./heat_conduction]
type = HeatConductionBPD
variable = temp
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.3
[../]
[./strain]
type = ComputePlaneSmallStrainNOSPD
eigenstrain_names = thermal_strain
[../]
[./thermal_strain]
type = ComputeThermalExpansionEigenstrain
thermal_expansion_coeff = 1e-5
stress_free_temperature = 0.5
eigenstrain_name = thermal_strain
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./thermal]
type = ThermalConstantHorizonMaterialBPD
thermal_conductivity = 1.0
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
test/tests/postprocessors/interface_value/interface_integral_variable_value_postprocessor.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 6
xmax = 3
ny = 9
ymax = 3
elem_type = QUAD4
[]
[./subdomain_id]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '2 1 0'
block_id = 1
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain_id
master_block = '0'
paired_block = '1'
new_boundary = 'interface'
[../]
[]
[Functions]
[./fn_exact]
type = ParsedFunction
value = 'x*x+y*y'
[../]
[./ffn]
type = ParsedFunction
value = -4
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = FIRST
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = ffn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = fn_exact
[../]
[]
[Materials]
[./stateful1]
type = StatefulMaterial
block = 0
initial_diffusivity = 5
[../]
[./stateful2]
type = StatefulMaterial
block = 1
initial_diffusivity = 2
[../]
[]
[AuxKernels]
[./diffusivity_1]
type = MaterialRealAux
property = diffusivity
variable = diffusivity_1
[]
[./diffusivity_2]
type = MaterialRealAux
property = diffusivity
variable = diffusivity_2
[]
[]
[AuxVariables]
[./diffusivity_1]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_2]
family = MONOMIAL
order = CONSTANT
[]
[]
[Postprocessors]
[./diffusivity_average]
type = InterfaceIntegralVariableValuePostprocessor
interface_value_type = average
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[./diffusivity_jump_master_slave]
type = InterfaceIntegralVariableValuePostprocessor
interface_value_type = jump_master_minus_slave
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[./diffusivity_jump_slave_master]
type = InterfaceIntegralVariableValuePostprocessor
interface_value_type = jump_slave_minus_master
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[./diffusivity_jump_abs]
type = InterfaceIntegralVariableValuePostprocessor
interface_value_type = jump_abs
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[./diffusivity_master]
type = InterfaceIntegralVariableValuePostprocessor
interface_value_type = master
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[./diffusivity_slave]
type = InterfaceIntegralVariableValuePostprocessor
interface_value_type = slave
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
[]
test/tests/materials/discrete/recompute_block_error.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 1
[]
[./left_domain]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '0.5 1 0'
block_id = 10
[../]
[]
[Variables]
[./u]
initial_condition = 2
[../]
[]
[Kernels]
[./diff]
type = MatDiffusionTest
variable = u
prop_name = 'p'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 2
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 3
[../]
[]
[Materials]
[./recompute_props]
type = RecomputeMaterial
block = 0
f_name = 'f'
f_prime_name = 'f_prime'
p_name = 'p'
outputs = all
output_properties = 'f f_prime p'
compute = false # makes this material "discrete"
[../]
[./newton]
type = NewtonMaterial
block = '0 10'
outputs = all
f_name = 'f'
f_prime_name = 'f_prime'
p_name = 'p'
material = 'recompute_props'
[../]
[./left]
type = GenericConstantMaterial
prop_names = 'f f_prime'
prop_values = '1 0.5 '
block = 10
outputs = all
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[]
test/tests/meshgenerators/lower_d_block_generator/names.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[./lower_d_block]
type = LowerDBlockFromSidesetGenerator
input = gmg
new_block_id = 10
sidesets = 'bottom bottom right top left'
[]
[]
[Variables]
[./u]
block = 0
[../]
[./v]
block = 10
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
block = 0
[../]
[./srcv]
type = BodyForce
block = 10
variable = v
function = 1
[../]
[./time_v]
type = TimeDerivative
block = 10
variable = v
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
num_steps = 2
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/thewarehouse/test1.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 100
ny = 100
[]
[manyblocks]
input = gen
type = ElemUniqueSubdomainsGenerator
[]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.1
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[Materials]
[mat_props]
type = GenericConstantMaterial
prop_names = diffusivity
prop_values = 2
[]
[]
[UserObjects]
[]
[Postprocessors]
[avg_flux_right]
# Computes -\int(exp(y)+1) from 0 to 1 which is -2.718281828
type = SideFluxAverage
variable = u
boundary = right
diffusivity = diffusivity
[]
[u1_avg]
type = ElementAverageValue
variable = u
execute_on = 'initial timestep_end'
[]
[u2_avg]
type = ElementAverageValue
variable = u
execute_on = 'initial timestep_end'
[]
[diff]
type = DifferencePostprocessor
value1 = u1_avg
value2 = u2_avg
execute_on = 'initial timestep_end'
[]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
num_steps = 10
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
[]
modules/porous_flow/test/tests/flux_limited_TVD_advection/fltvd_2D_blocks.i
# Using Flux-Limited TVD Advection ala Kuzmin and Turek
# 2D version with blocks
# Top block: tracer is defined here, with velocity = (0.1, 0, 0)
# Central block: tracer is not defined here
# Bottom block: tracer is defined here, with velocity = (-0.1, 0, 0)
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
xmin = 0
xmax = 1
ny = 5
ymin = 0
ymax = 1
[]
[./top]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0.6 0'
top_right = '1 1 0'
block_id = 1
[../]
[./center]
input = bottom
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0.4 0'
top_right = '1 0.6 0'
block_id = 2
[../]
[./bottom]
input = top
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 0.6 0'
block_id = 3
[../]
[./split_bdys]
type = BreakBoundaryOnSubdomainGenerator
input = center
boundaries = 'left right'
[../]
[]
[GlobalParams]
block = '1 2 3'
[]
[Variables]
[./tracer]
block = '1 3'
[../]
[./dummy]
[../]
[]
[ICs]
[./tracer_top]
type = FunctionIC
variable = tracer
function = 'if(x<0.1 | x>0.3, 0, 1)'
block = '1'
[../]
[./tracer_bot]
type = FunctionIC
variable = tracer
function = 'if(x<0.7 | x > 0.9, 0, 1)'
block = '3'
[../]
[]
[Kernels]
[./mass_dot]
type = MassLumpedTimeDerivative
variable = tracer
block = '1 3'
[../]
[./flux_top]
type = FluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = fluo_top
block = '1'
[../]
[./flux_bot]
type = FluxLimitedTVDAdvection
variable = tracer
advective_flux_calculator = fluo_bot
block = '3'
[../]
[.dummy]
type = TimeDerivative
variable = dummy
[../]
[]
[UserObjects]
[./fluo_top]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = superbee
u = tracer
velocity = '0.1 0 0'
block = '1'
[../]
[./fluo_bot]
type = AdvectiveFluxCalculatorConstantVelocity
flux_limiter_type = superbee
u = tracer
velocity = '-0.1 0 0'
block = '3'
[../]
[]
[BCs]
[./no_tracer_on_left_top]
type = DirichletBC
variable = tracer
value = 0
boundary = 'left_to_1'
[../]
[./remove_tracer_top]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = 'right_to_1'
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[./no_tracer_on_left_bot]
# Ideally, an OutflowBC would be used, but that does not exist in the framework
# In 1D VacuumBC is the same as OutflowBC, with the alpha parameter being twice the velocity
type = VacuumBC
boundary = 'left_to_3'
alpha = 0.2 # 2 * velocity
variable = tracer
[../]
[./remove_tracer_bot]
type = DirichletBC
variable = tracer
value = 0
boundary = 'right_to_3'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[VectorPostprocessors]
[./tracer_bot]
type = LineValueSampler
start_point = '0 0 0'
end_point = '1 0 0'
num_points = 11
sort_by = x
variable = tracer
[../]
[./tracer_top]
type = LineValueSampler
start_point = '0 1 0'
end_point = '1 1 0'
num_points = 11
sort_by = x
variable = tracer
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 6
dt = 6E-2
timestep_tolerance = 1E-3
[]
[Outputs]
print_linear_residuals = false
[./out]
type = CSV
execute_on = final
[../]
[]
modules/peridynamics/test/tests/jacobian_check/thermomechanics_2D_FNOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
temperature = temp
full_jacobian = true
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./temp]
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = NONORDINARY_STATE
stabilization = FORCE
eigenstrain_names = thermal
[../]
[]
[Kernels]
[./heat]
type = HeatConductionBPD
variable = temp
[../]
[]
[Materials]
[./linelast]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.0
[../]
[./strain]
type = ComputeForceStabilizedSmallStrainNOSPD
eigenstrain_names = thermal
[../]
[./thermal_strain]
type = ComputeThermalExpansionEigenstrain
thermal_expansion_coeff = 0.02
stress_free_temperature = 0.5
eigenstrain_name = thermal
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./thermal]
type = ThermalConstantHorizonMaterialBPD
thermal_conductivity = 1.0
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
test/tests/meshgenerators/sidesets_bounding_box_generator/error_boundary_number.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
parallel_type = replicated
[]
[./createNewSidesetOne]
type = SideSetsFromBoundingBoxGenerator
input = gmg
boundary_id_old = 'right'
boundary_id_new = 11
bottom_left = '0.5 0.5 0'
top_right = '1.9 1.9 0'
block_id = 0
[]
[./createNewSidesetTwo]
type = SideSetsFromBoundingBoxGenerator
input = createNewSidesetOne
boundary_id_old = 'left'
boundary_id_new = 10
bottom_left = '-0.1 -0.1 0'
top_right = '0.3 0.3 0'
block_id = 0
boundary_id_overlap = true
[../]
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/mortar_tm/2d/frictionless_first/finite.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'finite'
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
preset = false
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
preset = false
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
preset = false
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/materials/discrete/recompute2.i
[Mesh]
[generator]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 1
[]
[left_domain]
type = SubdomainBoundingBoxGenerator
input = generator
bottom_left = '0 0 0'
top_right = '0.5 1 0'
block_id = 10
[]
[]
[Variables]
[./u]
initial_condition = 2
[../]
[]
[Kernels]
[./diff]
type = MatDiffusionTest
variable = u
prop_name = 'p'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 2
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 3
[../]
[]
[Materials]
[./recompute_props]
type = RecomputeMaterial
block = 0
f_name = 'f'
f_prime_name = 'f_prime'
p_name = 'p'
outputs = all
output_properties = 'f f_prime p'
constant = 3
compute = false # make this material "discrete"
[../]
[./newton]
type = NewtonMaterial
block = 0
outputs = all
f_name = 'f'
f_prime_name = 'f_prime'
p_name = 'p'
material = 'recompute_props'
[../]
[./left]
type = GenericConstantMaterial
prop_names = 'f f_prime p'
prop_values = '1 0.5 1.2345'
block = 10
outputs = all
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[]
test/tests/kernels/array_kernels/array_diffusion_reaction_dg.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[]
[subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0.5 0.5 0'
top_right = '1 1 0'
block_id = 1
[]
[]
[Variables]
[u]
order = FIRST
family = L2_LAGRANGE
components = 2
[]
[]
[Kernels]
[diff]
type = ArrayDiffusion
variable = u
diffusion_coefficient = dc
[]
[reaction]
type = ArrayReaction
variable = u
reaction_coefficient = rc
[]
[]
[DGKernels]
[dgdiff]
type = ArrayDGDiffusion
variable = u
diff = dc
[]
[]
[BCs]
[left]
type = ArrayVacuumBC
variable = u
boundary = 1
[]
[right]
type = ArrayPenaltyDirichletBC
variable = u
boundary = 2
value = '1 2'
penalty = 4
[]
[]
[Materials]
[dc0]
type = GenericConstantArray
block = 0
prop_name = dc
prop_value = '1 1'
[]
[dc1]
type = GenericConstantArray
block = 1
prop_name = dc
prop_value = '2 1'
[]
[rc]
type = GenericConstant2DArray
block = '0 1'
prop_name = rc
prop_value = '1 0; -0.1 1'
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Postprocessors]
[intu0]
type = ElementIntegralArrayVariablePostprocessor
variable = u
component = 0
[]
[intu1]
type = ElementIntegralArrayVariablePostprocessor
variable = u
component = 1
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/jacobian_check/generalized_planestrain_smallstrain_NOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
scalar_out_of_plane_strain = scalar_strain_zz
full_jacobian = true
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./scalar_strain_zz]
order = FIRST
family = SCALAR
[../]
[]
[Modules/Peridynamics/Mechanics]
[./Master]
[./all]
formulation = NONORDINARY_STATE
[../]
[../]
[./GeneralizedPlaneStrain]
[./all]
formulation = NONORDINARY_STATE
[../]
[../]
[]
[Materials]
[./elastic_tensor]
type = ComputeIsotropicElasticityTensor
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./strain]
type = ComputePlaneSmallStrainNOSPD
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
python/chigger/tests/input/block_vars.i
[Mesh]
type = MeshGeneratorMesh
[]
[MeshGenerators]
[generator]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[subdomain1]
type = SubdomainBoundingBoxGenerator
input = generator
bottom_left = '0.5 0 0'
top_right = '1 1 0'
block_id = 1
[]
[]
[Variables]
[right_elemental]
block = 1
family = MONOMIAL
order = CONSTANT
[]
[right_nodal]
block = 1
[]
[]
[ICs]
[right_elemental]
type = FunctionIC
variable = right_elemental
function = 2*y
[]
[right_nodal]
type = FunctionIC
variable = right_nodal
function = 3*y
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/auxkernels/ranktwoscalaraux.i
[Mesh]
displacements = 'disp_x disp_y disp_z'
[generated_mesh]
type = GeneratedMeshGenerator
elem_type = HEX8
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 1.0
[]
[node]
type = ExtraNodesetGenerator
coord = '0.0 0.0 0.0'
new_boundary = 6
input = generated_mesh
[]
[snode]
type = ExtraNodesetGenerator
coord = '1.0 0.0 0.0'
new_boundary = 7
input = node
[]
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[./disp_z]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./TensorMechanics]
displacements = 'disp_x disp_y disp_z'
[../]
[]
[Materials]
[./fplastic]
type = FiniteStrainPlasticMaterial
block = 0
yield_stress='0. 445. 0.05 610. 0.1 680. 0.38 810. 0.95 920. 2. 950.'
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
block = 0
C_ijkl = '2.827e5 1.21e5 1.21e5 2.827e5 1.21e5 2.827e5 0.808e5 0.808e5 0.808e5'
fill_method = symmetric9
[../]
[./strain]
type = ComputeFiniteStrain
block = 0
displacements = 'disp_x disp_y disp_z'
[../]
[]
[Functions]
[./topfunc]
type = ParsedFunction
value = 't'
[../]
[]
[BCs]
[./bottom3]
type = DirichletBC
variable = disp_z
boundary = 0
value = 0.0
[../]
[./top]
type = FunctionDirichletBC
variable = disp_z
boundary = 5
function = topfunc
[../]
[./corner1]
type = DirichletBC
variable = disp_x
boundary = 6
value = 0.0
[../]
[./corner2]
type = DirichletBC
variable = disp_y
boundary = 6
value = 0.0
[../]
[./corner3]
type = DirichletBC
variable = disp_z
boundary = 6
value = 0.0
[../]
[./side1]
type = DirichletBC
variable = disp_y
boundary = 7
value = 0.0
[../]
[./side2]
type = DirichletBC
variable = disp_z
boundary = 7
value = 0.0
[../]
[]
[AuxVariables]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./peeq]
order = CONSTANT
family = MONOMIAL
[../]
[./vonmises]
order = CONSTANT
family = MONOMIAL
[../]
[./hydrostatic]
order = CONSTANT
family = MONOMIAL
[../]
[./L2norm]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./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
[../]
[./hydrostatic]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = hydrostatic
scalar_type = Hydrostatic
[../]
[./L2norm]
type = RankTwoScalarAux
rank_two_tensor = stress
variable = L2norm
scalar_type = L2norm
[../]
[./peeq]
type = RankTwoScalarAux
rank_two_tensor = plastic_strain
variable = peeq
scalar_type = EffectiveStrain
[../]
[]
[Postprocessors]
[./stress_zz]
type = ElementAverageValue
variable = stress_zz
block = 'ANY_BLOCK_ID 0'
[../]
[./peeq]
type = ElementAverageValue
variable = peeq
block = 'ANY_BLOCK_ID 0'
[../]
[./vonmises]
type = ElementAverageValue
variable = vonmises
block = 'ANY_BLOCK_ID 0'
[../]
[./hydrostatic]
type = ElementAverageValue
variable = hydrostatic
block = 'ANY_BLOCK_ID 0'
[../]
[./L2norm]
type = ElementAverageValue
variable = L2norm
block = 'ANY_BLOCK_ID 0'
[../]
[]
[Executioner]
type = Transient
dt=0.1
dtmin=0.1
dtmax=1
end_time=1.0
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-10
[]
[Outputs]
exodus = true
csv = true
[]
test/tests/materials/discrete/recompute_no_calc.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 1
[]
[./left_domain]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '0.5 1 0'
block_id = 10
[../]
[]
[Variables]
[./u]
initial_condition = 2
[../]
[]
[Kernels]
[./diff]
type = MatDiffusionTest
variable = u
prop_name = 'p'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 2
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 3
[../]
[]
[Materials]
[./recompute_props]
type = RecomputeMaterial
block = '0'
f_name = 'f'
f_prime_name = 'f_prime'
p_name = 'p'
outputs = all
output_properties = 'f f_prime p'
compute = false
[../]
[./newton]
type = NewtonMaterial
block = 0
outputs = all
f_name = 'f'
f_prime_name = 'f_prime'
p_name = 'p'
material = recompute_props
max_iterations = 0
[../]
[./left]
type = GenericConstantMaterial
prop_names = 'f f_prime p'
prop_values = '1 0.5 1.2345'
block = 10
outputs = all
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[]
modules/porous_flow/test/tests/actions/block_restricted_materials.i
# Tests that the actions to automatically add PorousFlowJoiner's and the correct
# qp or nodal version of each material work as expected when a material is block
# restricted. Tests both phase dependent properties (like relative permeability)
# as well as phase-independent materials (like porosity)
[GlobalParams]
PorousFlowDictator = dictator
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
ny = 2
[]
[./subdomain0]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 0.5 0'
block_id = 0
[../]
[./subdomain1]
input = subdomain0
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0.5 0'
top_right = '1 1 0'
block_id = 1
[../]
[]
[Variables]
[./p0]
initial_condition = 1
[../]
[./p1]
initial_condition = 1.1
[../]
[]
[AuxVariables]
[./porosity]
family = MONOMIAL
order = CONSTANT
[../]
[./kl]
family = MONOMIAL
order = CONSTANT
[../]
[./kg]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./porosity]
type = PorousFlowPropertyAux
property = porosity
variable = porosity
[../]
[./kl]
type = PorousFlowPropertyAux
property = relperm
variable = kl
phase = 0
[../]
[./kg]
type = PorousFlowPropertyAux
property = relperm
variable = kg
phase = 1
[../]
[]
[Kernels]
[./p0]
type = PorousFlowMassTimeDerivative
variable = p0
[../]
[./p1]
type = PorousFlowAdvectiveFlux
gravity = '0 0 0'
variable = p1
[../]
[]
[Modules]
[./FluidProperties]
[./fluid0]
type = SimpleFluidProperties
[../]
[./fluid1]
type = SimpleFluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss]
type = PorousFlow2PhasePP
phase0_porepressure = p0
phase1_porepressure = p1
capillary_pressure = pc
[../]
[./krl0]
type = PorousFlowRelativePermeabilityConst
kr = 0.7
phase = 0
block = 0
[../]
[./krg0]
type = PorousFlowRelativePermeabilityConst
kr = 0.8
phase = 1
block = 0
[../]
[./krl1]
type = PorousFlowRelativePermeabilityConst
kr = 0.5
phase = 0
block = 1
[../]
[./krg1]
type = PorousFlowRelativePermeabilityConst
kr = 0.4
phase = 1
block = 1
[../]
[./perm]
type = PorousFlowPermeabilityConst
permeability = '1 0 0 0 1 0 0 0 1'
[../]
[./fluid0]
type = PorousFlowSingleComponentFluid
fp = fluid0
phase = 0
[../]
[./fluid1]
type = PorousFlowSingleComponentFluid
fp = fluid1
phase = 1
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./porosity0]
type = PorousFlowPorosityConst
porosity = 0.1
block = 0
[../]
[./porosity1]
type = PorousFlowPorosityConst
porosity = 0.2
block = 1
[../]
[]
[Executioner]
type = Transient
end_time = 1
nl_abs_tol = 1e-10
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'p0 p1'
number_fluid_phases = 2
number_fluid_components = 1
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[]
[Outputs]
exodus = true
[]
test/tests/kernels/array_kernels/standard_save_in.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[]
[subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0.5 0.5 0'
top_right = '1 1 0'
block_id = 1
[]
[]
[Variables]
[u_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_1]
order = FIRST
family = L2_LAGRANGE
[]
[]
[AuxVariables]
[u_diff_save_in_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_diff_save_in_1]
order = FIRST
family = L2_LAGRANGE
[]
[u_vacuum_save_in_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_vacuum_save_in_1]
order = FIRST
family = L2_LAGRANGE
[]
[u_dg_save_in_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_dg_save_in_1]
order = FIRST
family = L2_LAGRANGE
[]
[u_diff_diag_save_in_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_diff_diag_save_in_1]
order = FIRST
family = L2_LAGRANGE
[]
[u_vacuum_diag_save_in_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_vacuum_diag_save_in_1]
order = FIRST
family = L2_LAGRANGE
[]
[u_dg_diag_save_in_0]
order = FIRST
family = L2_LAGRANGE
[]
[u_dg_diag_save_in_1]
order = FIRST
family = L2_LAGRANGE
[]
[]
[Kernels]
[diff0]
type = MatCoefDiffusion
variable = u_0
conductivity = dc
save_in = u_diff_save_in_0
diag_save_in = u_diff_diag_save_in_0
[]
[diff1]
type = Diffusion
variable = u_1
save_in = u_diff_save_in_1
diag_save_in = u_diff_diag_save_in_1
[]
[reaction0]
type = CoefReaction
variable = u_0
[]
[reaction1]
type = CoefReaction
variable = u_1
[]
[reaction01]
type = CoupledForce
variable = u_1
v = u_0
coef = 0.1
[]
[]
[DGKernels]
[dgdiff0]
type = DGDiffusion
variable = u_0
diff = dc
sigma = 4
epsilon = 1
save_in = u_dg_save_in_0
diag_save_in = u_dg_diag_save_in_0
[]
[dgdiff1]
type = DGDiffusion
variable = u_1
sigma = 4
epsilon = 1
save_in = u_dg_save_in_1
diag_save_in = u_dg_diag_save_in_1
[]
[]
[BCs]
[left0]
type = VacuumBC
variable = u_0
boundary = 1
save_in = u_vacuum_save_in_0
diag_save_in = u_vacuum_diag_save_in_0
[]
[left1]
type = VacuumBC
variable = u_1
boundary = 1
save_in = u_vacuum_save_in_1
diag_save_in = u_vacuum_diag_save_in_1
[]
[right0]
type = PenaltyDirichletBC
variable = u_0
boundary = 2
value = 1
penalty = 4
[]
[right1]
type = PenaltyDirichletBC
variable = u_1
boundary = 2
value = 2
penalty = 4
[]
[]
[Materials]
[dc0]
type = GenericConstantMaterial
block = 0
prop_names = dc
prop_values = 1
[]
[dc1]
type = GenericConstantMaterial
block = 1
prop_names = dc
prop_values = 2
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Postprocessors]
[intu0]
type = ElementIntegralVariablePostprocessor
variable = u_0
[]
[intu1]
type = ElementIntegralVariablePostprocessor
variable = u_1
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
[]
[Outputs]
file_base = array_save_in_out
exodus = true
[]
test/tests/meshgenerators/sidesets_bounding_box_generator/error_no_side_sets_found.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
#parallel_type = replicated
[]
[./createNewSidesetOne]
type = SideSetsFromBoundingBoxGenerator
input = gmg
boundary_id_old = 'right'
boundary_id_new = 11
bottom_left = '-0.1 -0.1 0'
top_right = '0.9 0.9 0'
block_id = 0
[]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./leftBC]
type = DirichletBC
variable = u
boundary = 'left'
value = 1
[../]
[./rightBC]
type = DirichletBC
variable = u
boundary = 11
value = 0
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/shell/static/plate_bending.i
# Test for simply supported plate under uniform pressure
# One quarter of a 50 m x 50 m x 1m plate is modeled in this test.
# Pressure loading is applied on the top surface using nodal forces
# of magnitude -10 N on all nodes. This corresponds to a pressure (q) of
# -10.816 N/m^2.
# The FEM solution at (0,0), which is at the center of the full plate
# is -2.997084e-03 m.
# The analytical solution for displacement at center of plate obtained
# using a thin plate assumption for a square plate is
# w = 16 q a^4/(D*pi^6) \sum_{m = 1,3,5, ..}^\inf \sum_{n = 1,3,5, ..}^\inf (-1)^{(m+n-2)/2}/(mn*(m^2+n^2)^2)
# The above solution is the Navier's series solution from the "Theory of plates
# and shells" by Timoshenko and Woinowsky-Krieger (1959).
# where a = 50 m, q = -10.816 N/m^2 and D = E/(12(1-v^2))
# The analytical series solution converges to 2.998535904e-03 m
# when the first 16 terms of the series are considered (i.e., until
# m & n = 7).
# The resulting relative error between FEM and analytical solution is
# 0.048%.
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 25
ny = 25
xmin = 0.0
xmax = 25.0
ymin = 0.0
ymax = 25.0
[../]
[./allnodes]
type = BoundingBoxNodeSetGenerator
input = gmg
bottom_left = '0.0 0.0 0.0'
top_right = '25.0 25.0 0.0'
new_boundary = 101
[../]
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[./disp_z]
order = FIRST
family = LAGRANGE
[../]
[./rot_x]
order = FIRST
family = LAGRANGE
[../]
[./rot_y]
order = FIRST
family = LAGRANGE
[../]
[]
[BCs]
[./symm_left_rot]
type = DirichletBC
variable = rot_y
boundary = left
value = 0.0
[../]
[./symm_bottom_rot]
type = DirichletBC
variable = rot_x
boundary = bottom
value = 0.0
[../]
[./simply_support_x]
type = DirichletBC
variable = disp_x
boundary = 'right top bottom left'
value = 0.0
[../]
[./simply_support_y]
type = DirichletBC
variable = disp_y
boundary = 'right top bottom left'
value = 0.0
[../]
[./simply_support_z]
type = DirichletBC
variable = disp_z
boundary = 'right top'
value = 0.0
[../]
[]
[NodalKernels]
[./force_y2]
type = ConstantRate
variable = disp_z
boundary = 101
rate = -10.0
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
line_search = 'none'
nl_rel_tol = 1e-10
nl_abs_tol = 1e-8
dt = 1.0
dtmin = 1.0
end_time = 1.0
[]
[Kernels]
[./solid_disp_x]
type = ADStressDivergenceShell
block = '0'
component = 0
variable = disp_x
through_thickness_order = SECOND
[../]
[./solid_disp_y]
type = ADStressDivergenceShell
block = '0'
component = 1
variable = disp_y
through_thickness_order = SECOND
[../]
[./solid_disp_z]
type = ADStressDivergenceShell
block = '0'
component = 2
variable = disp_z
through_thickness_order = SECOND
[../]
[./solid_rot_x]
type = ADStressDivergenceShell
block = '0'
component = 3
variable = rot_x
through_thickness_order = SECOND
[../]
[./solid_rot_y]
type = ADStressDivergenceShell
block = '0'
component = 4
variable = rot_y
through_thickness_order = SECOND
[../]
[]
[Materials]
[./elasticity]
type = ADComputeIsotropicElasticityTensorShell
youngs_modulus = 1e9
poissons_ratio = 0.3
block = 0
through_thickness_order = SECOND
[../]
[./strain]
type = ADComputeIncrementalShellStrain
block = '0'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y'
thickness = 1.0
through_thickness_order = SECOND
[../]
[./stress]
type = ADComputeShellStress
block = 0
through_thickness_order = SECOND
[../]
[]
[Postprocessors]
[./disp_z2]
type = PointValue
point = '0.0 0.0 0.0'
variable = disp_z
[../]
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/jacobian_check/3D_mechanics_smallstrain_NOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
full_jacobian = true
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 2
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 3
ny = 3
nz = 3
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = NONORDINARY_STATE
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.0
[../]
[./strain]
type = ComputeSmallStrainNOSPD
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
modules/phase_field/test/tests/misc/interface_grad.i
#
# Test a gradient continuity interfacekernel
#
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 10
ymax = 0.5
[]
[./box1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.51 1 0'
input = gen
[../]
[./box2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.49 0 0'
top_right = '1 1 0'
input = box1
[../]
[./iface_u]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
input = box2
[../]
[./iface_v]
type = SideSetsBetweenSubdomainsGenerator
master_block = 2
paired_block = 1
new_boundary = 11
input = iface_u
[../]
[]
[Variables]
[./u]
block = 1
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.4)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./v]
block = 2
initial_condition = 0.8
[../]
[]
[Kernels]
[./u_diff]
type = Diffusion
variable = u
block = 1
[../]
[./u_dt]
type = TimeDerivative
variable = u
block = 1
[../]
[./v_diff]
type = Diffusion
variable = v
block = 2
[../]
[./v_dt]
type = TimeDerivative
variable = v
block = 2
[../]
[]
[InterfaceKernels]
[./iface]
type = InterfaceDiffusionFluxMatch
variable = u
boundary = 10
neighbor_var = v
[../]
[]
[BCs]
[./u_boundary_term]
type = DiffusionFluxBC
variable = u
boundary = 10
[../]
[./v_boundary_term]
type = DiffusionFluxBC
variable = v
boundary = 11
[../]
[]
[Executioner]
type = Transient
dt = 0.002
num_steps = 10
[]
[Outputs]
exodus = true
print_linear_residuals = false
[]
modules/tensor_mechanics/test/tests/j2_plasticity/tensor_mechanics_j2plasticity.i
[Mesh]
displacements = 'x_disp y_disp z_disp'
[generated_mesh]
type = GeneratedMeshGenerator
elem_type = HEX8
dim = 3
nx = 1
ny = 1
nz = 1
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 1.0
zmin = 0.0
zmax = 1.0
[]
[cnode]
type = ExtraNodesetGenerator
coord = '0.0 0.0 0.0'
new_boundary = 6
input = generated_mesh
[]
[snode]
type = ExtraNodesetGenerator
coord = '1.0 0.0 0.0'
new_boundary = 7
input = cnode
[]
[]
[Variables]
[./x_disp]
order = FIRST
family = LAGRANGE
[../]
[./y_disp]
order = FIRST
family = LAGRANGE
[../]
[./z_disp]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./TensorMechanics]
displacements = 'x_disp y_disp z_disp'
use_displaced_mesh = true
[../]
[]
[Materials]
[./fplastic]
type = FiniteStrainPlasticMaterial
block=0
yield_stress='0. 445. 0.05 610. 0.1 680. 0.38 810. 0.95 920. 2. 950.'
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
block = 0
C_ijkl = '2.827e5 1.21e5 1.21e5 2.827e5 1.21e5 2.827e5 0.808e5 0.808e5 0.808e5'
fill_method = symmetric9
[../]
[./strain]
type = ComputeFiniteStrain
block = 0
displacements = 'x_disp y_disp z_disp'
[../]
[]
[Functions]
[./topfunc]
type = ParsedFunction
value = 't'
[../]
[]
[BCs]
[./bottom3]
type = DirichletBC
variable = z_disp
boundary = 0
value = 0.0
[../]
[./top]
type = FunctionDirichletBC
variable = z_disp
boundary = 5
function = topfunc
[../]
[./corner1]
type = DirichletBC
variable = x_disp
boundary = 6
value = 0.0
[../]
[./corner2]
type = DirichletBC
variable = y_disp
boundary = 6
value = 0.0
[../]
[./corner3]
type = DirichletBC
variable = z_disp
boundary = 6
value = 0.0
[../]
[./side1]
type = DirichletBC
variable = y_disp
boundary = 7
value = 0.0
[../]
[./side2]
type = DirichletBC
variable = z_disp
boundary = 7
value = 0.0
[../]
[]
[AuxVariables]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./peeq]
order = CONSTANT
family = MONOMIAL
[../]
[./pe11]
order = CONSTANT
family = MONOMIAL
[../]
[./pe22]
order = CONSTANT
family = MONOMIAL
[../]
[./pe33]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
[../]
[./pe11]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = pe11
index_i = 0
index_j = 0
[../]
[./pe22]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = pe22
index_i = 1
index_j = 1
[../]
[./pe33]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = pe33
index_i = 2
index_j = 2
[../]
[./eqv_plastic_strain]
type = MaterialRealAux
property = eqv_plastic_strain
variable = peeq
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full=true
[../]
[]
[Executioner]
type = Transient
dt=0.1
dtmax=1
dtmin=0.1
end_time=1.0
nl_abs_tol = 1e-10
[]
[Outputs]
file_base = out
exodus = true
[]
modules/peridynamics/test/tests/jacobian_check/2D_thermomechanics_BPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
temperature = temp
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./temp]
initial_condition = 0.5
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = BOND
[../]
[]
[Kernels]
[./heat]
type = HeatConductionBPD
variable = temp
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.33
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialBPD
thermal_expansion_coeff = 0.02
stress_free_temperature = 0.5
[../]
[./thermal]
type = ThermalConstantHorizonMaterialBPD
thermal_conductivity = 1.0
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[]
test/tests/materials/interface_material/interface_value_material.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
xmax = 2
ny = 2
ymax = 2
elem_type = QUAD4
[]
[./subdomain_id]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '1 0 0'
top_right = '2 2 0'
block_id = 1
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain_id
master_block = '0'
paired_block = '1'
new_boundary = 'interface'
[../]
[]
[Variables]
[./u]
block = 0
[../]
[./v]
block = 1
[../]
[]
[Kernels]
[./diff]
type = MatDiffusion
variable = u
diffusivity = 'diffusivity'
block = 0
[../]
[./diff_v]
type = MatDiffusion
variable = v
diffusivity = 'diffusivity'
block = 1
[../]
[]
[InterfaceKernels]
[tied]
type = PenaltyInterfaceDiffusion
variable = u
neighbor_var = v
jump_prop_name = "average_jump"
penalty = 1e6
boundary = 'interface'
[]
[]
[BCs]
[u_left]
type = DirichletBC
boundary = 'left'
variable = u
value = 1
[]
[v_right]
type = DirichletBC
boundary = 'right'
variable = v
value = 0
[]
[]
[Materials]
[./stateful1]
type = StatefulMaterial
block = 0
initial_diffusivity = 1
# outputs = all
[../]
[./stateful2]
type = StatefulMaterial
block = 1
initial_diffusivity = 2
# outputs = all
[../]
[./interface_material_avg]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = average
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_jump_master_minus_slave]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = jump_master_minus_slave
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_jump_slave_minus_master]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = jump_slave_minus_master
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_jump_abs]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = jump_abs
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_master]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = master
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_slave]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
mat_prop_var_out_basename = diff_var
boundary = interface
interface_value_type = slave
nl_var_master = u
nl_var_slave = v
[../]
[]
[AuxKernels]
[./interface_material_avg]
type = MaterialRealAux
property = diff_average
variable = diffusivity_average
boundary = interface
[]
[./interface_material_jump_master_minus_slave]
type = MaterialRealAux
property = diff_jump_master_minus_slave
variable = diffusivity_jump_master_minus_slave
boundary = interface
[]
[./interface_material_jump_slave_minus_master]
type = MaterialRealAux
property = diff_jump_slave_minus_master
variable = diffusivity_jump_slave_minus_master
boundary = interface
[]
[./interface_material_jump_abs]
type = MaterialRealAux
property = diff_jump_abs
variable = diffusivity_jump_abs
boundary = interface
[]
[./interface_material_master]
type = MaterialRealAux
property = diff_master
variable = diffusivity_master
boundary = interface
[]
[./interface_material_slave]
type = MaterialRealAux
property = diff_slave
variable = diffusivity_slave
boundary = interface
[]
[diffusivity_var]
type = MaterialRealAux
property = diffusivity
variable = diffusivity_var
[]
[]
[AuxVariables]
[diffusivity_var]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_average]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_master_minus_slave]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_slave_minus_master]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_abs]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_master]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_slave]
family = MONOMIAL
order = CONSTANT
[]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
[]
test/tests/preconditioners/fsp/fsp_test_image.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 41
ny = 41
[]
[./image]
input = gen
type = ImageSubdomainGenerator
file = kitten.png
threshold = 100
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = 1
[../]
[./v]
order = FIRST
family = LAGRANGE
block = 1
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./conv_v]
type = CoupledForce
variable = v
v = u
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[]
[BCs]
active = 'left_u left_v right_u'
[./left_u]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right_u]
type = DirichletBC
variable = u
boundary = right
value = 100
[../]
[./left_v]
type = DirichletBC
variable = v
boundary = left
value = 0
[../]
[./right_v]
type = DirichletBC
variable = v
boundary = right
value = 0
[../]
[]
[Problem]
type = FEProblem
material_coverage_check = false
kernel_coverage_check = false
[]
[Executioner]
# This is setup automatically in MOOSE (SetupPBPAction.C)
# petsc_options = '-snes_mf_operator'
# petsc_options_iname = '-pc_type'
# petsc_options_value = 'asm'
type = Steady
[]
[Preconditioning]
[./FSP]
# It is the starting point of splitting
type = FSP
topsplit = 'uv' # 'uv'
[./uv]
# Generally speaking, there are four types of splitting we could choose
# <additive,multiplicative,symmetric_multiplicative,schur>
# An approximate solution to the original system
# | A_uu A_uv | | u | _ |f_u|
# | 0 A_vv | | v | - |f_v|
# is obtained by solving the following subsystems
# A_uu u = f_u and A_vv v = f_v
# If splitting type is specified as schur, we may also want to set more options to
# control how schur works using PETSc options
# petsc_options_iname = '-pc_fieldsplit_schur_fact_type -pc_fieldsplit_schur_precondition'
# petsc_options_value = 'full selfp'
splitting = 'u v' # 'u' and 'v'
splitting_type = additive
[../]
[./u]
# PETSc options for this subsolver
# A prefix will be applied, so just put the options for this subsolver only
vars = u
petsc_options_iname = '-pc_type -ksp_type'
petsc_options_value = ' hypre preonly'
[../]
[./v]
# PETSc options for this subsolver
vars = v
petsc_options_iname = '-pc_type -ksp_type'
petsc_options_value = ' hypre preonly'
[../]
[../]
[]
[Outputs]
file_base = kitten_out
exodus = true
[]
test/tests/misc/subdomain_setup/mat_prop_block.i
[Mesh]
[./generator]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[../]
[./subdomain1]
type = SubdomainBoundingBoxGenerator
input = generator
bottom_left = '0 0 0'
top_right = '0.5 0.5 0'
block_id = 1
[../]
[./subdomain2]
type = SubdomainBoundingBoxGenerator
input = subdomain1
bottom_left = '0.5 0 0'
top_right = '1 0.5 0'
block_id = 2
[../]
[./subdomain3]
type = SubdomainBoundingBoxGenerator
input = subdomain2
bottom_left = '0 0.5 0'
top_right = '0.5 1 0'
block_id = 3
[../]
[./subdomain4]
type = SubdomainBoundingBoxGenerator
input = subdomain3
bottom_left = '0.5 0.5 0'
top_right = '1 1 0'
block_id = 4
[../]
[]
[Debug]
show_material_props = true
[]
[Variables]
[./dummy]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./dummy]
type = Diffusion
variable = dummy
[../]
[]
[BCs]
[./dummy_left]
type = DirichletBC
variable = dummy
boundary = left
value = 0
[../]
[./dummy_right]
type = DirichletBC
variable = dummy
boundary = right
value = 1
[../]
[]
[AuxVariables]
[./var1]
family = MONOMIAL
order = CONSTANT
[../]
[./var2]
family = MONOMIAL
order = CONSTANT
[../]
[./var3]
family = MONOMIAL
order = CONSTANT
[../]
[../]
[AuxKernels]
[./var1]
variable = var1
type = MaterialPropertyBlockAux
mat_prop_name = prop1
[../]
[./var2]
variable = var2
type = MaterialPropertyBlockAux
mat_prop_name = prop2
[../]
[./var3]
variable = var3
type = MaterialRealAux
property = prop3
block = '2 3 4'
[../]
[]
[Materials]
[./mat1]
type = GenericConstantMaterial
block = '1 2 4'
prop_names = 'prop1'
prop_values = '0'
[../]
[./mat2]
type = GenericConstantMaterial
block = '2 3 4'
prop_names = 'prop2'
prop_values = '0'
[../]
[./mat3]
type = SubdomainConstantMaterial
block = '2 3 4'
mat_prop_name = 'prop3'
values = '4 2 1'
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/mesh_extruder_generator/gen_extrude.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 6
ny = 6
nz = 0
zmin = 0
zmax = 0
elem_type = QUAD4
[]
[./extrude]
type = MeshExtruderGenerator
input = gmg
num_layers = 6
extrusion_vector = '1 0 1'
bottom_sideset = 'new_front'
top_sideset = 'new_back'
[]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./first]
type = DirichletBC
variable = u
boundary = 'new_front'
value = 0
[../]
[./second]
type = DirichletBC
variable = u
boundary = 'new_back'
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
exodus = true
[]
modules/navier_stokes/test/tests/ins/mms/supg/supg_pspg_adv_dominated_mms.i
mu=1.5e-4
rho=2.5
[GlobalParams]
gravity = '0 0 0'
supg = true
pspg = true
convective_term = true
integrate_p_by_parts = false
transient_term = true
laplace = true
u = vel_x
v = vel_y
p = p
alpha = 1e0
order = FIRST
family = LAGRANGE
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1.0
ymin = 0
ymax = 1.0
elem_type = QUAD9
nx = 4
ny = 4
[]
[./corner_node]
type = ExtraNodesetGenerator
new_boundary = 'pinned_node'
nodes = '0'
input = gen
[../]
[]
[Variables]
[./vel_x]
[../]
[./vel_y]
[../]
[./p]
order = FIRST
[../]
[]
[Kernels]
# mass
[./mass]
type = INSMass
variable = p
x_vel_forcing_func = vel_x_source_func
y_vel_forcing_func = vel_y_source_func
[../]
[./x_time]
type = INSMomentumTimeDerivative
variable = vel_x
[../]
[./y_time]
type = INSMomentumTimeDerivative
variable = vel_y
[../]
# x-momentum, space
[./x_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_x
component = 0
forcing_func = vel_x_source_func
[../]
# y-momentum, space
[./y_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_y
component = 1
forcing_func = vel_y_source_func
[../]
[./p_source]
type = BodyForce
function = p_source_func
variable = p
[../]
[]
[BCs]
[./vel_x]
type = FunctionDirichletBC
boundary = 'left right top bottom'
function = vel_x_func
variable = vel_x
[../]
[./vel_y]
type = FunctionDirichletBC
boundary = 'left right top bottom'
function = vel_y_func
variable = vel_y
[../]
[./p]
type = FunctionDirichletBC
boundary = 'left right top bottom'
function = p_func
variable = p
[../]
[]
[Functions]
[./vel_x_source_func]
type = ParsedFunction
value = '-${mu}*(-0.028*pi^2*x^2*sin(0.2*pi*x*y) - 0.028*pi^2*y^2*sin(0.2*pi*x*y) - 0.1*pi^2*sin(0.5*pi*x) - 0.4*pi^2*sin(pi*y)) + ${rho}*(0.14*pi*x*cos(0.2*pi*x*y) + 0.4*pi*cos(pi*y))*(0.6*sin(0.8*pi*x) + 0.3*sin(0.3*pi*y) + 0.2*sin(0.3*pi*x*y) + 0.3) + ${rho}*(0.14*pi*y*cos(0.2*pi*x*y) + 0.2*pi*cos(0.5*pi*x))*(0.4*sin(0.5*pi*x) + 0.4*sin(pi*y) + 0.7*sin(0.2*pi*x*y) + 0.5) + 0.1*pi*y*cos(0.2*pi*x*y) + 0.25*pi*cos(0.5*pi*x)'
[../]
[./vel_y_source_func]
type = ParsedFunction
value = '-${mu}*(-0.018*pi^2*x^2*sin(0.3*pi*x*y) - 0.018*pi^2*y^2*sin(0.3*pi*x*y) - 0.384*pi^2*sin(0.8*pi*x) - 0.027*pi^2*sin(0.3*pi*y)) + ${rho}*(0.06*pi*x*cos(0.3*pi*x*y) + 0.09*pi*cos(0.3*pi*y))*(0.6*sin(0.8*pi*x) + 0.3*sin(0.3*pi*y) + 0.2*sin(0.3*pi*x*y) + 0.3) + ${rho}*(0.06*pi*y*cos(0.3*pi*x*y) + 0.48*pi*cos(0.8*pi*x))*(0.4*sin(0.5*pi*x) + 0.4*sin(pi*y) + 0.7*sin(0.2*pi*x*y) + 0.5) + 0.1*pi*x*cos(0.2*pi*x*y) + 0.3*pi*cos(0.3*pi*y)'
[../]
[./p_source_func]
type = ParsedFunction
value = '-0.06*pi*x*cos(0.3*pi*x*y) - 0.14*pi*y*cos(0.2*pi*x*y) - 0.2*pi*cos(0.5*pi*x) - 0.09*pi*cos(0.3*pi*y)'
[../]
[./vel_x_func]
type = ParsedFunction
value = '0.4*sin(0.5*pi*x) + 0.4*sin(pi*y) + 0.7*sin(0.2*pi*x*y) + 0.5'
[../]
[./vel_y_func]
type = ParsedFunction
value = '0.6*sin(0.8*pi*x) + 0.3*sin(0.3*pi*y) + 0.2*sin(0.3*pi*x*y) + 0.3'
[../]
[./p_func]
type = ParsedFunction
value = '0.5*sin(0.5*pi*x) + 1.0*sin(0.3*pi*y) + 0.5*sin(0.2*pi*x*y) + 0.5'
[../]
[./vxx_func]
type = ParsedFunction
value = '0.14*pi*y*cos(0.2*pi*x*y) + 0.2*pi*cos(0.5*pi*x)'
[../]
[]
[Materials]
[./const]
type = GenericConstantMaterial
block = 0
prop_names = 'rho mu'
prop_values = '${rho} ${mu}'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
solve_type = 'NEWTON'
[../]
[]
[Executioner]
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_view'
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu NONZERO superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-8
nl_abs_tol = 1e-12
nl_max_its = 10
l_tol = 1e-6
l_max_its = 10
# To run to steady-state, set num-steps to some large number (1000000 for example)
type = Transient
num_steps = 10
steady_state_detection = true
steady_state_tolerance = 1e-10
[./TimeStepper]
dt = .1
type = IterationAdaptiveDT
cutback_factor = 0.4
growth_factor = 1.2
optimal_iterations = 20
[../]
[]
[Outputs]
execute_on = 'final'
[./exodus]
type = Exodus
[../]
[./csv]
type = CSV
[../]
[]
[Postprocessors]
[./L2vel_x]
type = ElementL2Error
variable = vel_x
function = vel_x_func
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[./L2vel_y]
variable = vel_y
function = vel_y_func
type = ElementL2Error
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[./L2p]
variable = p
function = p_func
type = ElementL2Error
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[./L2vxx]
variable = vxx
function = vxx_func
type = ElementL2Error
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[]
[AuxVariables]
[./vxx]
family = MONOMIAL
order = FIRST
[../]
[]
[AuxKernels]
[./vxx]
type = VariableGradientComponent
component = x
variable = vxx
gradient_variable = vel_x
[../]
[]
test/tests/meshgenerators/mesh_side_set_generator/mesh_side_set_generator.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 4
ny = 4
nz = 4
elem_type = TET4
[]
[./left_block]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
block_name = left_block
bottom_left = '0 0 0'
top_right = '0.5 1 1'
[]
[./right_block]
type = SubdomainBoundingBoxGenerator
input = left_block
block_id = 2
block_name = right_block
bottom_left = '0.5 0 0'
top_right = '1 1 1'
[]
[./center_side_set]
type = SideSetsBetweenSubdomainsGenerator
input = right_block
master_block = left_block
paired_block = right_block
new_boundary = center_side_set
[]
[./center_mesh]
type = MeshSideSetGenerator
input = center_side_set
boundaries = center_side_set
block_id = 10
block_name = center_mesh
[]
[]
[Variables]
[./c_volume]
[./InitialCondition]
type = FunctionIC
function = '1-(x-0.5)^2+(y-0.5)^2+(z-0.5)^2'
[../]
[../]
[./c_plane]
block = 'center_mesh'
[../]
[]
[Kernels]
[./volume_diff]
type = Diffusion
variable = c_volume
block = 'left_block right_block'
[../]
[./volume_dt]
type = TimeDerivative
variable = c_volume
block = 'left_block right_block'
[../]
# couple the lower dimensional variable to the volume variable
[./plane_reaction]
type = Reaction
variable = c_plane
block = 'center_mesh'
[../]
[./plane_coupled]
type = CoupledForce
variable = c_plane
v = c_volume
block = 'center_mesh'
[../]
[]
[Executioner]
type = Transient
dt = 0.01
num_steps = 2
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/generated_mesh_generator/generated_mesh_generator.i
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 3
ny = 3
nz = 4
bias_x = 2
bias_z = 0.5
[]
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/combiner_generator/combiner_multi_input_translate.i
[Mesh]
[gen1]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[gen2]
type = GeneratedMeshGenerator
dim = 2
nx = 12
ny = 12
[]
[gen3]
type = GeneratedMeshGenerator
dim = 2
nx = 14
ny = 14
[]
[cmbn]
type = CombinerGenerator
inputs = 'gen1 gen2 gen3'
positions = '1 0 0 2 2 2 3 0 0'
[]
[]
[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]
exodus = true
[]
modules/combined/test/tests/mortar_tm/2d/frictionless_second/finite.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'finite'
[Mesh]
patch_size = 80
patch_update_strategy = iteration
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
preset = false
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
preset = false
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
preset = false
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
l_max_its = 30
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/transfers/multiapp_conservative_transfer/sub_nearest_point.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.01 # to make sure the meshes don't align
xmax = 0.49 # to make sure the meshes don't align
ymax = 1
nx = 10
ny = 10
[]
[block1]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0.2 0.2 0'
top_right = '0.3 0.8 0'
[]
[]
[Variables]
[sink]
family = MONOMIAL
order = CONSTANT
[]
[]
[Functions]
[sink_func]
type = ParsedFunction
value = '5e2*x*(0.5-x)+5e1'
[]
[]
[Kernels]
[reaction]
type = Reaction
variable = sink
[]
[coupledforce]
type = BodyForce
variable = sink
function = sink_func
[]
[]
[AuxVariables]
[from_master]
block = 1
[]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Postprocessors]
[sink]
type = ElementIntegralVariablePostprocessor
block = 1
variable = sink
execute_on = 'transfer nonlinear TIMESTEP_END'
[]
[from_master_pp]
type = ElementIntegralVariablePostprocessor
block = 1
variable = from_master
execute_on = 'transfer nonlinear TIMESTEP_END'
[]
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/mortar_tm/2drz/frictionless_second/small.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'small'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./corner]
type = ExtraNodesetGenerator
input = block_rename
coord = '0 -10.0'
new_boundary = point
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = corner
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
[../]
[./plank]
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = block_right
value = 0
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeLinearElasticStress
block = 'plank block'
[../]
[./swell]
type = ComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/interfacekernels/1d_interface/reaction_1D_steady.i
# Steady-state test for the InterfaceReaction kernel.
#
# Specie M transport from domain 1 (0<=x<=1) to domain 2 (1<x<=2),
# u and v are concentrations in domain 1 and domain 2.
#
# Diffusion in both domains can be described by Ficks law and diffusion
# kernel is applied.
#
# Specie M has different diffusity in different domains, here set as D1=4, D2=2.
#
# Dirichlet boundary conditions are applied, i.e., u(0)=1, v(2)=0
#
# At the interface consider the following
#
# (a) Fluxes are matched from both domains (InterfaceDiffusion kernel)
#
# (b) First-order reaction is R = kf*u - kb*v
#
# Analytical solution is
# u = -0.2*u+1, 0<=u<=1
# v = -0.4*v+0.8, 1<v<=2
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
nx = 10
xmax = 2
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '1.0 0 0'
block_id = 1
top_right = '2.0 1.0 0'
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = 'subdomain1'
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = '0'
[../]
[./v]
order = FIRST
family = LAGRANGE
block = '1'
[../]
[]
[Kernels]
[./diff_u]
type = MatDiffusion
variable = u
block = '0'
diffusivity = D
[../]
[./diff_v]
type = MatDiffusion
variable = v
block = '1'
diffusivity = D
[../]
[]
[InterfaceKernels]
[./interface]
type = InterfaceDiffusion
variable = u
neighbor_var = 'v'
boundary = 'master0_interface'
D = D
D_neighbor = D
[../]
[./interface_reaction]
type = InterfaceReaction
variable = u
neighbor_var = 'v'
boundary = 'master0_interface'
kf = 1 # Forward reaction rate coefficient
kb = 2 # Backward reaction rate coefficient
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 'left'
value = 1
[../]
[./right]
type = DirichletBC
variable = v
boundary = 'right'
value = 0
[../]
[]
[Materials]
[./block0]
type = GenericConstantMaterial
block = '0'
prop_names = 'D'
prop_values = '4'
[../]
[./block1]
type = GenericConstantMaterial
block = '1'
prop_names = 'D'
prop_values = '2'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
nl_rel_tol = 1e-10
[]
[Outputs]
print_linear_residuals = true
execute_on = 'FINAL'
exodus = true
csv = true
[]
[Debug]
show_var_residual_norms = true
[]
[Postprocessors]
[./elemental_error_u]
type = ElementL2Error
function = -0.2*x+1
variable = 'u'
block = '0'
[../]
[./elemental_error_v]
type = ElementL2Error
function = -0.4*x+0.8
variable = 'v'
block = '1'
[../]
[]
modules/combined/examples/effective_properties/effective_th_cond.i
# This example calculates the effective thermal conductivity across a microstructure
# with circular second phase precipitates. Two methods are used to calculate the effective thermal conductivity,
# the direct method that applies a temperature to one side and a heat flux to the other,
# and the AEH method.
[Mesh] #Sets mesh size to 10 microns by 10 microns
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 100
ny = 100
xmax = 10
ymax = 10
[]
[./new_nodeset]
input = gen
type = ExtraNodesetGenerator
coord = '5 5'
new_boundary = 100
[../]
[]
[Variables] #Adds variables needed for two ways of calculating effective thermal cond.
[./T] #Temperature used for the direct calculation
initial_condition = 800
[../]
[./Tx_AEH] #Temperature used for the x-component of the AEH solve
initial_condition = 800
scaling = 1.0e4 #Scales residual to improve convergence
[../]
[./Ty_AEH] #Temperature used for the y-component of the AEH solve
initial_condition = 800
scaling = 1.0e4 #Scales residual to improve convergence
[../]
[]
[AuxVariables] #Creates second constant phase
[./phase2]
[../]
[]
[ICs] #Sets the IC for the second constant phase
[./phase2_IC] #Creates circles with smooth interfaces at random locations
variable = phase2
type = MultiSmoothCircleIC
int_width = 0.3
numbub = 20
bubspac = 1.5
radius = 0.5
outvalue = 0
invalue = 1
block = 0
[../]
[]
[Kernels]
[./HtCond] #Kernel for direct calculation of thermal cond
type = HeatConduction
variable = T
[../]
[./heat_x] #All other kernels are for AEH approach to calculate thermal cond.
type = HeatConduction
variable = Tx_AEH
[../]
[./heat_rhs_x]
type = HomogenizedHeatConduction
variable = Tx_AEH
component = 0
[../]
[./heat_y]
type = HeatConduction
variable = Ty_AEH
[../]
[./heat_rhs_y]
type = HomogenizedHeatConduction
variable = Ty_AEH
component = 1
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
variable = 'Tx_AEH Ty_AEH'
[../]
[../]
[./left_T] #Fix temperature on the left side
type = DirichletBC
variable = T
boundary = left
value = 800
[../]
[./right_flux] #Set heat flux on the right side
type = NeumannBC
variable = T
boundary = right
value = 5e-6
[../]
[./fix_x] #Fix Tx_AEH at a single point
type = DirichletBC
variable = Tx_AEH
value = 800
boundary = 100
[../]
[./fix_y] #Fix Ty_AEH at a single point
type = DirichletBC
variable = Ty_AEH
value = 800
boundary = 100
[../]
[]
[Materials]
[./thcond] #The equation defining the thermal conductivity is defined here, using two ifs
# The k in the bulk is k_b, in the precipitate k_p2, and across the interaface k_int
type = ParsedMaterial
block = 0
constant_names = 'length_scale k_b k_p2 k_int'
constant_expressions = '1e-6 5 1 0.1'
function = 'sk_b:= length_scale*k_b; sk_p2:= length_scale*k_p2; sk_int:= k_int*length_scale; if(phase2>0.1,if(phase2>0.95,sk_p2,sk_int),sk_b)'
outputs = exodus
f_name = thermal_conductivity
args = phase2
[../]
[]
[Postprocessors]
[./right_T]
type = SideAverageValue
variable = T
boundary = right
[../]
[./k_x_direct] #Effective thermal conductivity from direct method
# This value is lower than the AEH value because it is impacted by second phase
# on the right boundary
type = ThermalConductivity
variable = T
flux = 5e-6
length_scale = 1e-06
T_hot = 800
dx = 10
boundary = right
[../]
[./k_x_AEH] #Effective thermal conductivity in x-direction from AEH
type = HomogenizedThermalConductivity
variable = Tx_AEH
temp_x = Tx_AEH
temp_y = Ty_AEH
component = 0
scale_factor = 1e6 #Scale due to length scale of problem
[../]
[./k_y_AEH] #Effective thermal conductivity in x-direction from AEH
type = HomogenizedThermalConductivity
variable = Ty_AEH
temp_x = Tx_AEH
temp_y = Ty_AEH
component = 1
scale_factor = 1e6 #Scale due to length scale of problem
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
off_diag_row = 'Tx_AEH Ty_AEH'
off_diag_column = 'Ty_AEH Tx_AEH'
[../]
[]
[Executioner]
type = Steady
l_max_its = 15
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart -pc_hypre_boomeramg_strong_threshold'
petsc_options_value = 'hypre boomeramg 31 0.7'
l_tol = 1e-04
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
csv = true
[]
test/tests/interfacekernels/1d_interface/reaction_1D_transient.i
# Transient-state test for the InterfaceReaction kernel.
#
# Same to steady-state, except the following
#
# Natural BCs are applied (i.e. NewmannBC h=0 at left and right)
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
nx = 10
xmax = 2
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '1.0 0 0'
block_id = 1
top_right = '2.0 1.0 0'
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = 'subdomain1'
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = '0'
[../]
[./v]
order = FIRST
family = LAGRANGE
block = '1'
[../]
[]
[Kernels]
[./diff_u]
type = MatDiffusion
diffusivity = D
variable = u
block = '0'
[../]
[./diff_v]
type = MatDiffusion
diffusivity = D
variable = v
block = '1'
[../]
[./diff_u_dt]
type = TimeDerivative
variable = u
block = '0'
[../]
[./diff_v_dt]
type = TimeDerivative
variable = v
block = '1'
[../]
[./source_u]
type = BodyForce
variable = u
block = '0'
[../]
[]
[InterfaceKernels]
[./interface]
type = InterfaceDiffusion
variable = u
neighbor_var = 'v'
boundary = 'master0_interface'
D = D
D_neighbor = D
[../]
[./interface_reaction]
type = InterfaceReaction
variable = u
neighbor_var = 'v'
boundary = 'master0_interface'
kf = 1 # Forward reaction rate coefficient
kb = 2 # Backward reaction rate coefficient
[../]
[]
[Materials]
[./block0]
type = GenericConstantMaterial
block = '0'
prop_names = 'D'
prop_values = '4'
[../]
[./block1]
type = GenericConstantMaterial
block = '1'
prop_names = 'D'
prop_values = '2'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
num_steps = 10
dt = 0.1
solve_type = NEWTON
[]
[Outputs]
exodus = true
print_linear_residuals = true
[]
[Debug]
show_var_residual_norms = true
[]
modules/phase_field/test/tests/feature_volume_vpp_test/boundary_area_2D_single.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 50
ny = 50
xmin = 0
xmax = 50
ymin = 0
ymax = 50
elem_type = QUAD4
[]
[./left_side]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '24.9 50 0'
[../]
[./right_side]
input = left_side
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '25.1 0 0'
top_right = '50 50 0'
[../]
[./iface_u]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
input = right_side
[../]
[]
[Variables]
[./c]
order = FIRST
family = LAGRANGE
[]
[]
[AuxVariables]
[./unique_regions]
family = MONOMIAL
order = CONSTANT
[../]
[]
[ICs]
[./c]
type = SpecifiedSmoothCircleIC
variable = c
invalue = 1.0
outvalue = 0.0
radii = '4 5 10'
x_positions = '25 25 25'
y_positions = '37.5 25 0'
z_positions = '0 0 0'
int_width = 2.0
[]
[]
[Postprocessors]
[./flood_count]
type = FeatureFloodCount
variable = c
# Must be turned on to build data structures necessary for FeatureVolumeVPP
compute_var_to_feature_map = true
threshold = 0.5
execute_on = INITIAL
[../]
[]
[VectorPostprocessors]
[./features]
type = FeatureVolumeVectorPostprocessor
flood_counter = flood_count
# Turn on centroid output
output_centroids = true
execute_on = INITIAL
boundary = 10
single_feature_per_element = true
[../]
[]
[Kernels]
[diff]
type = Diffusion
variable = c
[]
[]
[AuxKernels]
[./unique_regions]
type = FeatureFloodCountAux
variable = unique_regions
flood_counter = flood_count
field_display = UNIQUE_REGION
[../]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
execute_on = INITIAL
[]
test/tests/meshgenerators/stack_generator/mismatched_dims.i
[Mesh]
[./layer1]
type = GeneratedMeshGenerator
dim = 3
nx = 10
xmax = 10
ny = 10
ymax = 10
nz = 5
zmax = 5
[]
[./layer2]
type = GeneratedMeshGenerator
dim = 2
nx = 10
xmax = 10
ny = 10
ymax = 10
[]
[./stack]
type = StackGenerator
dim = 3
inputs = 'layer1 layer2'
[]
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/setup_interface_count/nodal.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[./right_side]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 0.5 0'
block_id = 1
[../]
[]
[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 = 10
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Postprocessors]
[./initial] # 1 per simulation
type = NodalSetupInterfaceCount
count_type = 'initial'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[./timestep] # once per timestep
type = NodalSetupInterfaceCount
count_type = 'timestep'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[./subdomain] # 0, not execute for this type of object
type = NodalSetupInterfaceCount
count_type = 'subdomain'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[./initialize] # 1 for initial and 2 for each timestep
type = NodalSetupInterfaceCount
count_type = 'initialize'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[./finalize] # 1 for initial and 2 for each timestep
type = NodalSetupInterfaceCount
count_type = 'finalize'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[./execute] # 6 for initial and 12 for each timestep (3 nodes on two boundaries)
type = NodalSetupInterfaceCount
count_type = 'execute'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[./threadjoin] # 1 for initial and 2 for each timestep
type = NodalSetupInterfaceCount
count_type = 'threadjoin'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[]
[Outputs]
csv = true
[]
test/tests/meshgenerators/plane_deletion/plane_deletion.i
[Mesh]
[deleter]
type = PlaneDeletionGenerator
point = '0.5 0.5 0'
normal = '-1 0 0'
input = generated
new_boundary = 6
[]
[generated]
type = GeneratedMeshGenerator
dim = 3
nx = 4
ny = 4
nz = 4
[]
[]
[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]
exodus = true
[]
modules/tensor_mechanics/test/tests/action/two_coord.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 16
ny = 8
xmin = -1
xmax = 1
[]
[block1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '-1 0 0'
top_right = '0 1 0'
input = generated_mesh
[]
[block2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0 0 0'
top_right = '1 1 0'
input = block1
[]
[]
[Problem]
coord_type = 'XYZ RZ'
block = '1 2'
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules/TensorMechanics/Master]
active = 'block1 block2'
[./error]
strain = SMALL
add_variables = true
[../]
[./block1]
strain = SMALL
add_variables = true
block = 1
[../]
[./block2]
strain = SMALL
add_variables = true
block = 2
[../]
[]
[AuxVariables]
[./vmstress]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./vmstress]
type = RankTwoScalarAux
rank_two_tensor = total_strain
variable = vmstress
scalar_type = VonMisesStress
execute_on = timestep_end
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e10
poissons_ratio = 0.345
[../]
[./_elastic_stress]
type = ComputeLinearElasticStress
block = '1 2'
[../]
[]
[BCs]
[./topx]
type = DirichletBC
boundary = 'top'
variable = disp_x
value = 0.0
[../]
[./topy]
type = DirichletBC
boundary = 'top'
variable = disp_y
value = 0.0
[../]
[./bottomx]
type = DirichletBC
boundary = 'bottom'
variable = disp_x
value = 0.0
[../]
[./bottomy]
type = DirichletBC
boundary = 'bottom'
variable = disp_y
value = 0.05
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[Executioner]
type = Steady
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = ' 201 hypre boomeramg 10'
line_search = 'none'
nl_rel_tol = 5e-9
nl_abs_tol = 1e-10
nl_max_its = 15
l_tol = 1e-3
l_max_its = 50
[]
[Outputs]
exodus = true
[]
modules/combined/examples/periodic_strain/global_strain_pfm_3D.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 3
nx = 20
ny = 20
nz = 20
xmin = -0.5
xmax = 0.5
ymin = -0.5
ymax = 0.5
zmin = -0.5
zmax = 0.5
[]
[./cnode]
input = gen
type = ExtraNodesetGenerator
coord = '0.0 0.0 0.0'
new_boundary = 100
[../]
[]
[Variables]
[./u_x]
[../]
[./u_y]
[../]
[./u_z]
[../]
[./global_strain]
order = SIXTH
family = SCALAR
[../]
[./c]
[./InitialCondition]
type = FunctionIC
function = 'sin(2*x*pi)*sin(2*y*pi)*sin(2*z*pi)*0.05+0.6'
[../]
[../]
[./w]
[../]
[]
[AuxVariables]
[./local_energy]
order = CONSTANT
family = MONOMIAL
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./s00]
order = CONSTANT
family = MONOMIAL
[../]
[./s01]
order = CONSTANT
family = MONOMIAL
[../]
[./s10]
order = CONSTANT
family = MONOMIAL
[../]
[./s11]
order = CONSTANT
family = MONOMIAL
[../]
[./e00]
order = CONSTANT
family = MONOMIAL
[../]
[./e01]
order = CONSTANT
family = MONOMIAL
[../]
[./e10]
order = CONSTANT
family = MONOMIAL
[../]
[./e11]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./disp_x]
type = GlobalDisplacementAux
variable = disp_x
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 0
[../]
[./disp_y]
type = GlobalDisplacementAux
variable = disp_y
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 1
[../]
[./disp_z]
type = GlobalDisplacementAux
variable = disp_z
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 2
[../]
[./local_free_energy]
type = TotalFreeEnergy
execute_on = 'initial LINEAR'
variable = local_energy
interfacial_vars = 'c'
kappa_names = 'kappa_c'
[../]
[./s00]
type = RankTwoAux
variable = s00
rank_two_tensor = stress
index_i = 0
index_j = 0
[../]
[./s01]
type = RankTwoAux
variable = s01
rank_two_tensor = stress
index_i = 0
index_j = 1
[../]
[./s10]
type = RankTwoAux
variable = s10
rank_two_tensor = stress
index_i = 1
index_j = 0
[../]
[./s11]
type = RankTwoAux
variable = s11
rank_two_tensor = stress
index_i = 1
index_j = 1
[../]
[./e00]
type = RankTwoAux
variable = e00
rank_two_tensor = total_strain
index_i = 0
index_j = 0
[../]
[./e01]
type = RankTwoAux
variable = e01
rank_two_tensor = total_strain
index_i = 0
index_j = 1
[../]
[./e10]
type = RankTwoAux
variable = e10
rank_two_tensor = total_strain
index_i = 1
index_j = 0
[../]
[./e11]
type = RankTwoAux
variable = e11
rank_two_tensor = total_strain
index_i = 1
index_j = 1
[../]
[]
[GlobalParams]
derivative_order = 2
enable_jit = true
displacements = 'u_x u_y u_z'
block = 0
[]
[Kernels]
[./TensorMechanics]
[../]
# Cahn-Hilliard kernels
[./c_dot]
type = CoupledTimeDerivative
variable = w
v = c
block = 0
[../]
[./c_res]
type = SplitCHParsed
variable = c
f_name = F
kappa_name = kappa_c
w = w
block = 0
[../]
[./w_res]
type = SplitCHWRes
variable = w
mob_name = M
block = 0
[../]
[]
[ScalarKernels]
[./global_strain]
type = GlobalStrain
variable = global_strain
global_strain_uo = global_strain_uo
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y z'
variable = 'c w u_x u_y u_z'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = u_x
value = 0
[../]
[./centerfix_y]
type = DirichletBC
boundary = 100
variable = u_y
value = 0
[../]
[./centerfix_z]
type = DirichletBC
boundary = 100
variable = u_z
value = 0
[../]
[]
[Materials]
[./consts]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '0.2 0.01 '
[../]
[./shear1]
type = GenericConstantRankTwoTensor
tensor_values = '0 0 0 0.5 0.5 0.5'
tensor_name = shear1
[../]
[./shear2]
type = GenericConstantRankTwoTensor
tensor_values = '0 0 0 -0.5 -0.5 -0.5'
tensor_name = shear2
[../]
[./expand3]
type = GenericConstantRankTwoTensor
tensor_values = '1 1 1 0 0 0'
tensor_name = expand3
[../]
[./weight1]
type = DerivativeParsedMaterial
function = '0.3*c^2'
f_name = weight1
args = c
[../]
[./weight2]
type = DerivativeParsedMaterial
function = '0.3*(1-c)^2'
f_name = weight2
args = c
[../]
[./weight3]
type = DerivativeParsedMaterial
function = '4*(0.5-c)^2'
f_name = weight3
args = c
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '1 1'
fill_method = symmetric_isotropic
[../]
[./strain]
type = ComputeSmallStrain
global_strain = global_strain
eigenstrain_names = eigenstrain
[../]
[./eigenstrain]
type = CompositeEigenstrain
tensors = 'shear1 shear2 expand3'
weights = 'weight1 weight2 weight3'
args = c
eigenstrain_name = eigenstrain
[../]
[./global_strain]
type = ComputeGlobalStrain
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
# chemical free energies
[./chemical_free_energy]
type = DerivativeParsedMaterial
f_name = Fc
function = '4*c^2*(1-c)^2'
args = 'c'
outputs = exodus
output_properties = Fc
[../]
# elastic free energies
[./elastic_free_energy]
type = ElasticEnergyMaterial
f_name = Fe
args = 'c'
outputs = exodus
output_properties = Fe
[../]
# free energy (chemical + elastic)
[./free_energy]
type = DerivativeSumMaterial
block = 0
f_name = F
sum_materials = 'Fc Fe'
args = 'c'
[../]
[]
[UserObjects]
[./global_strain_uo]
type = GlobalStrainUserObject
execute_on = 'Initial Linear Nonlinear'
[../]
[]
[Postprocessors]
[./total_free_energy]
type = ElementIntegralVariablePostprocessor
execute_on = 'initial TIMESTEP_END'
variable = local_energy
[../]
[./total_solute]
type = ElementIntegralVariablePostprocessor
execute_on = 'initial TIMESTEP_END'
variable = c
[../]
[./min]
type = ElementExtremeValue
execute_on = 'initial TIMESTEP_END'
value_type = min
variable = c
[../]
[./max]
type = ElementExtremeValue
execute_on = 'initial TIMESTEP_END'
value_type = max
variable = c
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
l_max_its = 30
nl_max_its = 12
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
nl_abs_tol = 1.0e-10
start_time = 0.0
end_time = 2.0
[./TimeStepper]
type = IterationAdaptiveDT
dt = 0.01
growth_factor = 1.5
cutback_factor = 0.8
optimal_iterations = 9
iteration_window = 2
[../]
[]
[Outputs]
execute_on = 'timestep_end'
print_linear_residuals = false
exodus = true
[./table]
type = CSV
delimiter = ' '
[../]
[]
modules/porous_flow/test/tests/actions/basicthm_hm.i
# PorousFlowBasicTHM action with coupling_type = HydroMechanicalGenerator
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 3
xmax = 10
ymax = 3
[]
[./aquifer]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 1 0'
top_right = '10 2 0'
[../]
[./injection_area]
type = SideSetsAroundSubdomainGenerator
block = 1
new_boundary = 'injection_area'
normal = '-1 0 0'
input = 'aquifer'
[../]
[./outflow_area]
type = SideSetsAroundSubdomainGenerator
block = 1
new_boundary = 'outflow_area'
normal = '1 0 0'
input = 'injection_area'
[../]
[./rename]
type = RenameBlockGenerator
old_block_id = '0 1'
new_block_name = 'caprock aquifer'
input = 'outflow_area'
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
displacements = 'disp_x disp_y'
biot_coefficient = 1.0
[]
[Variables]
[./porepressure]
initial_condition = 1e6
[../]
[./disp_x]
scaling = 1e-10
[../]
[./disp_y]
scaling = 1e-10
[../]
[]
[AuxVariables]
[./temperature]
initial_condition = 293
[../]
[]
[PorousFlowBasicTHM]
porepressure = porepressure
temperature = temperature
coupling_type = HydroMechanical
gravity = '0 0 0'
fp = simple_fluid
use_displaced_mesh = false
add_stress_aux = false
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1.5e6
boundary = injection_area
[../]
[./constant_outflow_porepressure]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = outflow_area
pt_vals = '0 1e9'
multipliers = '0 1e9'
flux_function = 1e-6
PT_shift = 1e6
[../]
[./top_bottom]
type = DirichletBC
variable = disp_y
value = 0
boundary = 'top bottom'
[../]
[./right]
type = DirichletBC
variable = disp_x
value = 0
boundary = right
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
[../]
[../]
[]
[Materials]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./biot_modulus]
type = PorousFlowConstantBiotModulus
solid_bulk_compliance = 2e-7
fluid_bulk_modulus = 1e7
[../]
[./permeability_aquifer]
type = PorousFlowPermeabilityConst
block = aquifer
permeability = '1e-13 0 0 0 1e-13 0 0 0 1e-13'
[../]
[./permeability_caprock]
type = PorousFlowPermeabilityConst
block = caprock
permeability = '1e-15 0 0 0 1e-15 0 0 0 1e-15'
[../]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 5e9
poissons_ratio = 0.0
[../]
[./strain]
type = ComputeSmallStrain
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./basic]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 1e4
dt = 1e3
nl_abs_tol = 1e-14
nl_rel_tol = 1e-14
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/combiner_generator/combiner_multi_input.i
[Mesh]
[gen1]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
xmin=0
xmax=1
ymin=0
ymax=1
[]
[gen2]
type = GeneratedMeshGenerator
dim = 2
nx = 12
ny = 12
xmin=2
xmax=3
ymin=2
ymax=3
[]
[gen3]
type = GeneratedMeshGenerator
dim = 2
nx = 14
ny = 14
xmin=3.5
xmax=5
ymin=3
ymax=4
[]
[cmbn]
type = CombinerGenerator
inputs = 'gen1 gen2 gen3'
[]
[]
[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]
exodus = true
[]
modules/combined/test/tests/phase_field_fracture/crack2d_aniso_hist_false.i
#This input uses PhaseField-Nonconserved Action to add phase field fracture bulk rate kernels
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 40
ny = 20
ymax = 0.5
[]
[./noncrack]
type = BoundingBoxNodeSetGenerator
new_boundary = noncrack
bottom_left = '0.5 0 0'
top_right = '1 0 0'
input = gen
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules]
[./TensorMechanics]
[./Master]
[./All]
add_variables = true
strain = SMALL
additional_generate_output = 'strain_yy stress_yy'
planar_formulation = PLANE_STRAIN
[../]
[../]
[../]
[./PhaseField]
[./Nonconserved]
[./c]
free_energy = F
kappa = kappa_op
mobility = L
[../]
[../]
[../]
[]
[Kernels]
[./solid_x]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_x
component = 0
c = c
[../]
[./solid_y]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_y
component = 1
c = c
[../]
[]
[BCs]
[./ydisp]
type = FunctionDirichletBC
variable = disp_y
boundary = top
function = 't'
[../]
[./yfix]
type = DirichletBC
variable = disp_y
boundary = noncrack
value = 0
[../]
[./xfix]
type = DirichletBC
variable = disp_x
boundary = right
value = 0
[../]
[]
[Materials]
[./pfbulkmat]
type = GenericConstantMaterial
prop_names = 'gc_prop l visco'
prop_values = '1e-3 0.05 1e-6'
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '127.0 70.8 70.8 127.0 70.8 127.0 73.55 73.55 73.55'
fill_method = symmetric9
euler_angle_1 = 30
euler_angle_2 = 0
euler_angle_3 = 0
[../]
[./define_mobility]
type = ParsedMaterial
material_property_names = 'gc_prop visco'
f_name = L
function = '1.0/(gc_prop * visco)'
[../]
[./define_kappa]
type = ParsedMaterial
material_property_names = 'gc_prop l'
f_name = kappa_op
function = 'gc_prop * l'
[../]
[./damage_stress]
type = ComputeLinearElasticPFFractureStress
c = c
E_name = 'elastic_energy'
D_name = 'degradation'
F_name = 'local_fracture_energy'
decomposition_type = stress_spectral
[../]
[./degradation]
type = DerivativeParsedMaterial
f_name = degradation
args = 'c'
function = '(1.0-c)^2*(1.0 - eta) + eta'
constant_names = 'eta'
constant_expressions = '1.0e-6'
derivative_order = 2
[../]
[./local_fracture_energy]
type = DerivativeParsedMaterial
f_name = local_fracture_energy
args = 'c'
material_property_names = 'gc_prop l'
function = 'c^2 * gc_prop / 2 / l'
derivative_order = 2
[../]
[./fracture_driving_energy]
type = DerivativeSumMaterial
args = c
sum_materials = 'elastic_energy local_fracture_energy'
derivative_order = 2
f_name = F
[../]
[]
[Postprocessors]
[./av_stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./av_strain_yy]
type = SideAverageValue
variable = disp_y
boundary = top
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_factor_mat_solving_package'
petsc_options_value = 'lu superlu_dist'
nl_rel_tol = 1e-8
l_tol = 1e-4
l_max_its = 100
nl_max_its = 10
dt = 2e-6
num_steps = 5
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/generalized_plane_strain/generalized_plane_strain_OSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
scalar_out_of_plane_strain = scalar_strain_zz
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./scalar_strain_zz]
order = FIRST
family = SCALAR
[../]
[]
[AuxVariables]
[./temp]
order = FIRST
family = LAGRANGE
[../]
[./stress_zz]
order = FIRST
family = LAGRANGE
[../]
[]
[Modules/Peridynamics/Mechanics]
[./Master]
[./all]
formulation = ORDINARY_STATE
[../]
[../]
[./GeneralizedPlaneStrain]
[./all]
formulation = ORDINARY_STATE
out_of_plane_stress_variable = stress_zz
[../]
[../]
[]
[AuxKernels]
[./tempfuncaux]
type = FunctionAux
variable = temp
function = tempfunc
use_displaced_mesh = false
[../]
[./stress_zz]
type = NodalRankTwoPD
variable = stress_zz
poissons_ratio = 0.3
youngs_modulus = 1e6
temperature = temp
thermal_expansion_coeff = 0.02
stress_free_temperature = 0.5
rank_two_tensor = stress
output_type = component
index_i = 2
index_j = 2
[../]
[]
[Postprocessors]
[./react_z]
type = NodalVariableIntegralPD
variable = stress_zz
[../]
[]
[Functions]
[./tempfunc]
type = ParsedFunction
value = '(1-x)*t'
[../]
[]
[BCs]
[./bottom_x]
type = DirichletBC
boundary = 1000
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = 1000
variable = disp_y
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./force_density]
type = ComputeSmallStrainVariableHorizonMaterialOSPD
temperature = temp
thermal_expansion_coeff = 0.02
stress_free_temperature = 0.5
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 1.0
[]
[Outputs]
exodus = true
file_base = generalized_plane_strain_OSPD
[]
modules/phase_field/test/tests/feature_volume_vpp_test/boundary_area_3D.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 3
nx = 6
ny = 25
nz = 15
xmin = 20
xmax = 30
ymin = 0
ymax = 50
zmin = 10
zmax = 40
elem_type = HEX8
[]
[./left_side]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '24.9 50 50'
[../]
[./right_side]
input = left_side
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '25.1 0 0'
top_right = '50 50 50'
[../]
[./iface_u]
input = right_side
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
[../]
[]
[Variables]
[./c]
order = FIRST
family = LAGRANGE
[]
[]
[ICs]
[./c]
type = SpecifiedSmoothCircleIC
variable = c
invalue = 1.0
outvalue = 0.0
radii = '4 5 10'
x_positions = '25 25 25'
y_positions = '40 25 0'
z_positions = '25 25 25'
int_width = 2.0
[]
[]
[Postprocessors]
[./flood_count]
type = FeatureFloodCount
variable = c
# Must be turned on to build data structures necessary for FeatureVolumeVPP
compute_var_to_feature_map = true
threshold = 0.001
execute_on = INITIAL
[../]
[]
[VectorPostprocessors]
[./features]
type = FeatureVolumeVectorPostprocessor
flood_counter = flood_count
# Turn on centroid output
output_centroids = true
execute_on = INITIAL
boundary = 10
single_feature_per_element = false
[../]
[]
[Kernels]
[diff]
type = Diffusion
variable = c
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
execute_on = INITIAL
[]
test/tests/interfacekernels/2d_interface/coupled_value_coupled_flux_dot.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
xmax = 2
ny = 2
ymax = 2
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 1 0'
block_id = 1
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain1
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[./break_boundary]
input = interface
type = BreakBoundaryOnSubdomainGenerator
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = 0
[../]
[./v]
order = FIRST
family = LAGRANGE
block = 1
[../]
[]
[Kernels]
[./diff_u]
type = CoeffParamDiffusion
variable = u
D = 2
block = 0
[../]
[./diff_v]
type = CoeffParamDiffusion
variable = v
D = 4
block = 1
[../]
[./source_u]
type = BodyForce
variable = u
function = 0.1*t
[../]
[]
[InterfaceKernels]
[./interface]
type = PenaltyInterfaceDiffusionDot
variable = u
neighbor_var = v
boundary = master0_interface
penalty = 1e6
[../]
[]
[BCs]
[./u]
type = VacuumBC
variable = u
boundary = 'left_to_0 bottom_to_0 right top'
[../]
[./v]
type = VacuumBC
variable = v
boundary = 'left_to_1 bottom_to_1'
[../]
[]
[Postprocessors]
[./u_int]
type = ElementIntegralVariablePostprocessor
variable = u
block = 0
[../]
[./v_int]
type = ElementIntegralVariablePostprocessor
variable = v
block = 1
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = TRUE
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu superlu_dist '
dt = 0.1
num_steps = 10
dtmin = 0.1
line_search = none
[]
[Outputs]
exodus = true
print_linear_residuals = true
[]
modules/porous_flow/test/tests/actions/basicthm_th.i
# PorousFlowBasicTHM action with coupling_type = ThermoHydroGenerator
# (no mechanical effects)
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 3
xmax = 10
ymax = 3
[]
[./aquifer]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 1 0'
top_right = '10 2 0'
[../]
[./injection_area]
type = SideSetsAroundSubdomainGenerator
block = 1
new_boundary = 'injection_area'
normal = '-1 0 0'
input = 'aquifer'
[../]
[./outflow_area]
type = SideSetsAroundSubdomainGenerator
block = 1
new_boundary = 'outflow_area'
normal = '1 0 0'
input = 'injection_area'
[../]
[./rename]
type = RenameBlockGenerator
old_block_id = '0 1'
new_block_name = 'caprock aquifer'
input = 'outflow_area'
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./porepressure]
initial_condition = 1e6
[../]
[./temperature]
initial_condition = 293
scaling = 1e-6
[../]
[]
[PorousFlowBasicTHM]
porepressure = porepressure
temperature = temperature
coupling_type = ThermoHydro
gravity = '0 0 0'
fp = simple_fluid
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1.5e6
boundary = injection_area
[../]
[./constant_injection_temperature]
type = DirichletBC
variable = temperature
value = 313
boundary = injection_area
[../]
[./constant_outflow_porepressure]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = outflow_area
pt_vals = '0 1e9'
multipliers = '0 1e9'
flux_function = 1e-6
PT_shift = 1e6
[../]
[./constant_outflow_temperature]
type = DirichletBC
variable = temperature
value = 293
boundary = outflow_area
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
[../]
[../]
[]
[Materials]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./biot_modulus]
type = PorousFlowConstantBiotModulus
biot_coefficient = 0.8
solid_bulk_compliance = 2e-7
fluid_bulk_modulus = 1e7
[../]
[./permeability_aquifer]
type = PorousFlowPermeabilityConst
block = aquifer
permeability = '1e-13 0 0 0 1e-13 0 0 0 1e-13'
[../]
[./permeability_caprock]
type = PorousFlowPermeabilityConst
block = caprock
permeability = '1e-15 0 0 0 1e-15 0 0 0 1e-15'
[../]
[./thermal_expansion]
type = PorousFlowConstantThermalExpansionCoefficient
biot_coefficient = 0.8
drained_coefficient = 0.003
fluid_coefficient = 0.0002
[../]
[./rock_internal_energy]
type = PorousFlowMatrixInternalEnergy
density = 2500.0
specific_heat_capacity = 1200.0
[../]
[./thermal_conductivity]
type = PorousFlowThermalConductivityIdeal
dry_thermal_conductivity = '10 0 0 0 10 0 0 0 10'
block = 'caprock aquifer'
[../]
[]
[Preconditioning]
[./basic]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 1e4
dt = 1e3
nl_abs_tol = 1e-15
nl_rel_tol = 1e-14
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/mesh/2D_double_edged_cracks.i
# Test for generated mesh with predefined double_edged crack geometry
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
cracks_start = '0 0.5 0 1.0 0.5 0'
cracks_end = '0.25 0.5 0 0.75 0.5 0'
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 100
ny = 100
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
# This input file is intended to be run with the "--mesh-only" option so
# no other sections are required
modules/tensor_mechanics/test/tests/ad_thermal_expansion_function/instantaneous.i
# This test checks the thermal expansion calculated via a instantaneous thermal expansion coefficient.
# The coefficient is selected so as to result in a 1e-4 strain in the x-axis, and to cross over
# from positive to negative strain.
[Mesh]
[./gen]
type = GeneratedMeshGenerator
dim = 3
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[AuxVariables]
[./temp]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
add_variables = true
eigenstrain_names = eigenstrain
generate_output = 'strain_xx strain_yy strain_zz'
use_automatic_differentiation = true
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = back
value = 0.0
[../]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
function = '1 + t'
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1
poissons_ratio = 0.3
[../]
[./stress]
type = ADComputeLinearElasticStress
[../]
[./thermal_expansion_strain]
type = ADComputeInstantaneousThermalExpansionFunctionEigenstrain
thermal_expansion_function = 4e-4
stress_free_temperature = 1.5
temperature = temp
eigenstrain_name = eigenstrain
[../]
[]
[Postprocessors]
[./disp_x_max]
type = SideAverageValue
variable = disp_x
boundary = right
[../]
[./temp_avg]
type = ElementAverageValue
variable = temp
[../]
[]
[Executioner]
type = Transient
end_time = 1.0
dt = 0.1
[]
[Outputs]
csv = true
[]
test/tests/transfers/multiapp_conservative_transfer/sub_power_density.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.01 # to make sure the meshes don't align
xmax = 0.49 # to make sure the meshes don't align
ymax = 1
nx = 10
ny = 10
[]
[block1]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0.2 0.2 0'
top_right = '0.3 0.8 0'
[]
[]
[Variables]
[sink]
family = MONOMIAL
order = CONSTANT
[]
[]
[Functions]
[sink_func]
type = ParsedFunction
value = '5e2*x*(0.5-x)+5e1'
[]
[]
[Kernels]
[reaction]
type = Reaction
variable = sink
[]
[coupledforce]
type = BodyForce
variable = sink
function = sink_func
[]
[]
[AuxVariables]
[from_master]
block = 1
[]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Postprocessors]
[sink]
type = ElementIntegralVariablePostprocessor
block = 1
variable = sink
execute_on = 'transfer nonlinear TIMESTEP_END'
[]
[from_master_pp]
type = ElementIntegralVariablePostprocessor
block = 1
variable = from_master
execute_on = 'transfer nonlinear TIMESTEP_END'
[]
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/block_deletion_generator/block_deletion_test9.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
xmin = 0
xmax = 4
ymin = 0
ymax = 4
[]
[./SubdomainBoundingBox1]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '0 0 0'
top_right = '3 4 1'
[../]
[./ed0]
type = BlockDeletionGenerator
block_id = 1
input = 'SubdomainBoundingBox1'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = bottom
value = 1
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 10
dt = 10
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/heat_conduction/test/tests/generate_radiation_patch/generate_radiation_patch.i
[Mesh]
type = MeshGeneratorMesh
[cmg]
type = GeneratedMeshGenerator
dim = 3
xmin = 0
xmax = 1
nx = 25
ymin = 0
ymax = 1
ny = 25
zmin = 0
zmax = 1
nz = 25
[]
[patch]
type = PatchSidesetGenerator
sideset = 0
n_patches = 10
input = cmg
[]
[]
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
[../]
[]
test/tests/time_integrators/explicit_ssp_runge_kutta/explicit_ssp_runge_kutta.i
# This test solves the following IVP:
# du/dt = f(u(t), t), u(0) = 1
# f(u(t), t) = -u(t) + t^3 + 3t^2
# The exact solution is the following:
# u(t) = exp(-t) + t^3
[Mesh]
[./mesh]
type = GeneratedMeshGenerator
dim = 1
nx = 1
[../]
[]
[Variables]
[./u]
family = SCALAR
order = FIRST
initial_condition = 1
[../]
[]
[ScalarKernels]
[./time_derivative]
type = ODETimeDerivative
variable = u
[../]
[./source_part1]
type = ParsedODEKernel
variable = u
function = 'u'
[../]
[./source_part2]
type = PostprocessorSinkScalarKernel
variable = u
postprocessor = sink_pp
[../]
[]
[Functions]
[./sink_fn]
type = ParsedFunction
value = '-t^3 - 3*t^2'
[../]
[]
[Postprocessors]
[./sink_pp]
type = FunctionValuePostprocessor
function = sink_fn
execute_on = 'LINEAR NONLINEAR'
[../]
[./l2_err]
type = ScalarL2Error
variable = u
function = ${fparse exp(-0.5) + 0.5^3}
[../]
[]
[Executioner]
type = Transient
[./TimeIntegrator]
type = ExplicitSSPRungeKutta
order = 1
[../]
end_time = 0.5
dt = 0.1
[]
[Outputs]
file_base = 'first_order'
exodus = true
[./csv]
type = CSV
show = 'u'
execute_on = 'FINAL'
[../]
[]
test/tests/meshgenerators/subdomain_id_generator/generate_subdomain_id.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[./generate_id]
type = SubdomainIDGenerator
input = gmg
subdomain_id = 3
[]
[]
[Outputs]
exodus = true
[]
modules/phase_field/examples/interfacekernels/interface_fluxbc.i
#
# This test demonstrates an InterfaceKernel (InterfaceDiffusionFlux) that can
# replace a pair of integrated DiffusionFluxBC boundary conditions.
#
# The AuxVariable 'diff' shows the difference between the BC and the InterfaceKernel
# approach.
#
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 50
ny = 50
[]
[./box1]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.51 1 0'
[../]
[./box2]
input = box1
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.49 0 0'
top_right = '1 1 0'
[../]
[./iface_u]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
input = box2
[../]
[./iface_v]
type = SideSetsBetweenSubdomainsGenerator
master_block = 2
paired_block = 1
new_boundary = 11
input = iface_u
[../]
[]
[Variables]
[./u1]
block = 1
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.4)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./v1]
block = 2
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.7)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./u2]
block = 1
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.4)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./v2]
block = 2
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.7)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[]
[Kernels]
[./u1_diff]
type = Diffusion
variable = u1
block = 1
[../]
[./u1_dt]
type = TimeDerivative
variable = u1
block = 1
[../]
[./v1_diff]
type = Diffusion
variable = v1
block = 2
[../]
[./v1_dt]
type = TimeDerivative
variable = v1
block = 2
[../]
[./u2_diff]
type = Diffusion
variable = u2
block = 1
[../]
[./u2_dt]
type = TimeDerivative
variable = u2
block = 1
[../]
[./v2_diff]
type = Diffusion
variable = v2
block = 2
[../]
[./v2_dt]
type = TimeDerivative
variable = v2
block = 2
[../]
[]
[AuxVariables]
[./diff]
[../]
[]
[AuxKernels]
[./u_side]
type = ParsedAux
variable = diff
block = 1
args = 'u1 u2'
function = 'u1 - u2'
[../]
[./v_side]
type = ParsedAux
variable = diff
block = 2
args = 'v1 v2'
function = 'v1 - v2'
[../]
[]
[InterfaceKernels]
[./iface]
type = InterfaceDiffusionBoundaryTerm
boundary = 10
variable = u2
neighbor_var = v2
[../]
[]
[BCs]
[./u_boundary_term]
type = DiffusionFluxBC
variable = u1
boundary = 10
[../]
[./v_boundary_term]
type = DiffusionFluxBC
variable = v1
boundary = 11
[../]
[]
[Executioner]
type = Transient
dt = 0.001
num_steps = 20
[]
[Outputs]
exodus = true
print_linear_residuals = false
[]
modules/navier_stokes/test/tests/ins/lid_driven/lid_driven.i
[GlobalParams]
gravity = '0 0 0'
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1.0
ymin = 0
ymax = 1.0
nx = 16
ny = 16
elem_type = QUAD9
[]
[./corner_node]
type = ExtraNodesetGenerator
new_boundary = 'pinned_node'
nodes = '0'
input = gen
[../]
[]
[Variables]
[./vel_x]
order = SECOND
family = LAGRANGE
[../]
[./vel_y]
order = SECOND
family = LAGRANGE
[../]
[./T]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = ConstantIC
value = 1.0
[../]
[../]
[./p]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
# mass
[./mass]
type = INSMass
variable = p
u = vel_x
v = vel_y
p = p
[../]
# x-momentum, time
[./x_momentum_time]
type = INSMomentumTimeDerivative
variable = vel_x
[../]
# x-momentum, space
[./x_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_x
u = vel_x
v = vel_y
p = p
component = 0
[../]
# y-momentum, time
[./y_momentum_time]
type = INSMomentumTimeDerivative
variable = vel_y
[../]
# y-momentum, space
[./y_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_y
u = vel_x
v = vel_y
p = p
component = 1
[../]
# temperature
[./temperature_time]
type = INSTemperatureTimeDerivative
variable = T
[../]
[./temperature_space]
type = INSTemperature
variable = T
u = vel_x
v = vel_y
[../]
[]
[BCs]
[./x_no_slip]
type = DirichletBC
variable = vel_x
boundary = 'bottom right left'
value = 0.0
[../]
[./lid]
type = FunctionDirichletBC
variable = vel_x
boundary = 'top'
function = 'lid_function'
[../]
[./y_no_slip]
type = DirichletBC
variable = vel_y
boundary = 'bottom right top left'
value = 0.0
[../]
[./T_hot]
type = DirichletBC
variable = T
boundary = 'bottom'
value = 1
[../]
[./T_cold]
type = DirichletBC
variable = T
boundary = 'top'
value = 0
[../]
[./pressure_pin]
type = DirichletBC
variable = p
boundary = 'pinned_node'
value = 0
[../]
[]
[Materials]
[./const]
type = GenericConstantMaterial
block = 0
prop_names = 'rho mu cp k'
prop_values = '1 1 1 .01'
[../]
[]
[Functions]
[./lid_function]
# We pick a function that is exactly represented in the velocity
# space so that the Dirichlet conditions are the same regardless
# of the mesh spacing.
type = ParsedFunction
value = '4*x*(1-x)'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
solve_type = 'NEWTON'
[../]
[]
[Executioner]
type = Transient
# Run for 100+ timesteps to reach steady state.
num_steps = 5
dt = .5
dtmin = .5
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -sub_pc_factor_levels'
petsc_options_value = 'asm 2 ilu 4'
line_search = 'none'
nl_rel_tol = 1e-12
nl_abs_tol = 1e-13
nl_max_its = 6
l_tol = 1e-6
l_max_its = 500
[]
[Outputs]
file_base = lid_driven_out
exodus = true
perf_graph = true
[]
modules/heat_conduction/test/tests/sideset_heat_transfer/cfem_gap.i
[Mesh]
# Build 2-by-2 mesh
[mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 2
xmax = 2
ny = 2
ymax = 2
[]
# Create blocs 0, 1, 2, 3
[block_1]
type = SubdomainBoundingBoxGenerator
input = mesh
block_id = 1
bottom_left = '1 0 0'
top_right = '2 1 0'
[]
[block_2]
type = SubdomainBoundingBoxGenerator
input = block_1
block_id = 2
bottom_left = '0 1 0'
top_right = '1 2 0'
[]
[block_3]
type = SubdomainBoundingBoxGenerator
input = block_2
block_id = 3
bottom_left = '1 1 0'
top_right = '2 2 0'
[]
# Create inner sidesets
[interface_01]
type = SideSetsBetweenSubdomainsGenerator
input = block_3
master_block = 0
paired_block = 1
new_boundary = 'interface_01'
[]
[interface_13]
type = SideSetsBetweenSubdomainsGenerator
input = interface_01
master_block = 1
paired_block = 3
new_boundary = 'interface_13'
[]
[interface_32]
type = SideSetsBetweenSubdomainsGenerator
input = interface_13
master_block = 3
paired_block = 2
new_boundary = 'interface_32'
[]
[interface_20]
type = SideSetsBetweenSubdomainsGenerator
input = interface_32
master_block = 2
paired_block = 0
new_boundary = 'interface_20'
[]
# Create outer boundaries
[boundary_left_0]
type = SideSetsAroundSubdomainGenerator
input = interface_20
block = 0
normal = '-1 0 0'
new_boundary = 'left_0'
[]
[boundary_bot_0]
type = SideSetsAroundSubdomainGenerator
input = boundary_left_0
block = 0
normal = '0 -1 0'
new_boundary = 'bot_0'
[]
[boundary_bot_1]
type = SideSetsAroundSubdomainGenerator
input = boundary_bot_0
block = 1
normal = '0 -1 0'
new_boundary = 'bot_1'
[]
[boundary_right_1]
type = SideSetsAroundSubdomainGenerator
input = boundary_bot_1
block = 1
normal = '1 0 0'
new_boundary = 'right_1'
[]
[boundary_right_3]
type = SideSetsAroundSubdomainGenerator
input = boundary_right_1
block = 3
normal = '1 0 0'
new_boundary = 'right_3'
[]
[boundary_top_3]
type = SideSetsAroundSubdomainGenerator
input = boundary_right_3
block = 3
normal = '0 1 0'
new_boundary = 'top_3'
[]
[boundary_top_2]
type = SideSetsAroundSubdomainGenerator
input = boundary_top_3
block = 2
normal = '0 1 0'
new_boundary = 'top_2'
[]
[boundary_left_2]
type = SideSetsAroundSubdomainGenerator
input = boundary_top_2
block = 2
normal = '-1 0 0'
new_boundary = 'left_2'
[]
uniform_refine = 4
[]
[Variables]
# Need to have variable for each block to allow discontinuity
[T0]
block = 0
[]
[T1]
block = 1
[]
[T2]
block = 2
[]
[T3]
block = 3
[]
[]
[Kernels]
# Diffusion kernel for each block's variable
[diff_0]
type = MatDiffusion
variable = T0
diffusivity = conductivity
block = 0
[]
[diff_1]
type = MatDiffusion
variable = T1
diffusivity = conductivity
block = 1
[]
[diff_2]
type = MatDiffusion
variable = T2
diffusivity = conductivity
block = 2
[]
[diff_3]
type = MatDiffusion
variable = T3
diffusivity = conductivity
block = 3
[]
# Source for two of the blocks
[source_0]
type = BodyForce
variable = T0
value = 5e5
block = '0'
[]
[source_3]
type = BodyForce
variable = T3
value = 5e5
block = '3'
[]
[]
[InterfaceKernels]
# Side set kernel to represent heat transfer across blocks
# Automatically uses the materials defined in SideSetHeatTransferMaterial
[gap_01]
type = SideSetHeatTransferKernel
# This variable defined on a given block must match the master_block given when the side set was generated
variable = T0
# This variable defined on a given block must match the paired_block given when the side set was generated
neighbor_var = T1
boundary = 'interface_01'
[]
[gap_13]
type = SideSetHeatTransferKernel
variable = T1
neighbor_var = T3
boundary = 'interface_13'
[]
[gap_32]
type = SideSetHeatTransferKernel
variable = T3
neighbor_var = T2
boundary = 'interface_32'
[]
[gap_20]
type = SideSetHeatTransferKernel
variable = T2
neighbor_var = T0
boundary = 'interface_20'
[]
[]
# Creating auxiliary variable to combine block restricted solutions
# Ignores discontinuity though
[AuxVariables]
[T]
[]
[]
[AuxKernels]
[temp_0]
type = NormalizationAux
variable = T
source_variable = T0
block = 0
[]
[temp_1]
type = NormalizationAux
variable = T
source_variable = T1
block = 1
[]
[temp_2]
type = NormalizationAux
variable = T
source_variable = T2
block = 2
[]
[temp_3]
type = NormalizationAux
variable = T
source_variable = T3
block = 3
[]
[]
[BCs]
# Boundary condition for each block's outer surface
[bc_left_2]
type = DirichletBC
boundary = 'left_2'
variable = T2
value = 300.0
[]
[bc_left_0]
type = DirichletBC
boundary = 'left_0'
variable = T0
value = 300.0
[]
[bc_bot_0]
type = DirichletBC
boundary = 'bot_0'
variable = T0
value = 300.0
[]
[bc_bot_1]
type = DirichletBC
boundary = 'bot_1'
variable = T1
value = 300.0
[]
[./bc_top_2]
type = ConvectiveFluxFunction # (Robin BC)
variable = T2
boundary = 'top_2'
coefficient = 1e3 # W/K/m^2
T_infinity = 600.0
[../]
[./bc_top_3]
type = ConvectiveFluxFunction # (Robin BC)
variable = T3
boundary = 'top_3'
coefficient = 1e3 # W/K/m^2
T_infinity = 600.0
[../]
[./bc_right_3]
type = ConvectiveFluxFunction # (Robin BC)
variable = T3
boundary = 'right_3'
coefficient = 1e3 # W/K/m^2
T_infinity = 600.0
[../]
[./bc_right_1]
type = ConvectiveFluxFunction # (Robin BC)
variable = T1
boundary = 'right_1'
coefficient = 1e3 # W/K/m^2
T_infinity = 600.0
[../]
[]
[Materials]
[fuel]
type = GenericConstantMaterial
prop_names = 'conductivity'
prop_values = 75
block = '0 3'
[]
[mod]
type = GenericConstantMaterial
prop_names = 'conductivity'
prop_values = 7.5
block = '1 2'
[]
# Interface material used for SideSetHeatTransferKernel
# Heat transfer meachnisms ignored if certain properties are not supplied
[gap_mat]
type = SideSetHeatTransferMaterial
boundary = 'interface_01 interface_13 interface_32 interface_20'
conductivity = 0.41
gap_length = 0.002
Tbulk = 750
h_master = 3000
h_neighbor = 3000
emissivity_master = 0.85
emissivity_neighbor = 0.85
[]
[]
[Executioner]
type = Steady
nl_rel_tol = 1e-12
l_tol = 1e-8
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package -ksp_gmres_restart'
petsc_options_value = 'lu superlu_dist 50'
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/sidesets_by_normals_generator/replace.i
[Mesh]
# Creates (by default) the sidesets [0, 1, 2, 3]
[gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
# Creates the sidesets [5, 6, 7, 8] and removes [0, 1, 2, 3]
[generate_sidesets]
type = AllSideSetsByNormalsGenerator
input = gmg
replace = true
[]
[]
modules/combined/test/tests/phase_field_fracture/crack2d_iso_wo_time.i
#This input does not add time derivative kernel for phase field equation
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 10
ymax = 0.5
[]
[./noncrack]
type = BoundingBoxNodeSetGenerator
new_boundary = noncrack
bottom_left = '0.5 0 0'
top_right = '1 0 0'
input = gen
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules]
[./TensorMechanics]
[./Master]
[./mech]
add_variables = true
strain = SMALL
additional_generate_output = 'stress_yy'
save_in = 'resid_x resid_y'
[../]
[../]
[../]
[]
[Variables]
[./c]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./resid_x]
[../]
[./resid_y]
[../]
[]
[Kernels]
[./solid_x]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_x
component = 0
c = c
[../]
[./solid_y]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_y
component = 1
c = c
[../]
[./ACBulk]
type = AllenCahn
variable = c
f_name = F
[../]
[./ACInterface]
type = ACInterface
variable = c
kappa_name = kappa_op
[../]
[]
[BCs]
[./ydisp]
type = FunctionDirichletBC
variable = disp_y
boundary = top
function = 't'
[../]
[./yfix]
type = DirichletBC
variable = disp_y
boundary = noncrack
value = 0
[../]
[./xfix]
type = DirichletBC
variable = disp_x
boundary = top
value = 0
[../]
[]
[Materials]
[./pfbulkmat]
type = GenericConstantMaterial
prop_names = 'gc_prop l visco'
prop_values = '1e-3 0.04 1e-4'
[../]
[./define_mobility]
type = ParsedMaterial
material_property_names = 'gc_prop visco'
f_name = L
function = '1.0/(gc_prop * visco)'
[../]
[./define_kappa]
type = ParsedMaterial
material_property_names = 'gc_prop l'
f_name = kappa_op
function = 'gc_prop * l'
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '120.0 80.0'
fill_method = symmetric_isotropic
[../]
[./elastic]
type = ComputeLinearElasticPFFractureStress
c = c
E_name = 'elastic_energy'
D_name = 'degradation'
F_name = 'local_fracture_energy'
decomposition_type = strain_spectral
[../]
[./degradation]
type = DerivativeParsedMaterial
f_name = degradation
args = 'c'
function = '(1.0-c)^2*(1.0 - eta) + eta'
constant_names = 'eta'
constant_expressions = '0.0'
derivative_order = 2
[../]
[./local_fracture_energy]
type = DerivativeParsedMaterial
f_name = local_fracture_energy
args = 'c'
material_property_names = 'gc_prop l'
function = 'c^2 * gc_prop / 2 / l'
derivative_order = 2
[../]
[./fracture_driving_energy]
type = DerivativeSumMaterial
args = c
sum_materials = 'elastic_energy local_fracture_energy'
derivative_order = 2
f_name = F
[../]
[]
[Postprocessors]
[./resid_x]
type = NodalSum
variable = resid_x
boundary = 2
[../]
[./resid_y]
type = NodalSum
variable = resid_y
boundary = 2
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
nl_rel_tol = 1e-8
l_max_its = 10
nl_max_its = 10
dt = 1e-4
dtmin = 1e-4
num_steps = 2
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/jacobian_check/2D_mechanics_BPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = BOND
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.33
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialBPD
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[]
test/tests/meshgenerators/final_generator/final_ambigious.i
[Mesh]
# This parameter is supplied through the test specification
# final_generator = subdomain_lower
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
xmax = 1
ymax = 1
#uniform_refine = 2
[]
[./subdomain_lower]
type = SubdomainBoundingBoxGenerator
input = gmg
bottom_left = '0.2 0.2 0'
block_id = 1
top_right = '0.4 0.4 0'
[]
[./subdomain_upper]
type = SubdomainBoundingBoxGenerator
input = gmg
bottom_left = '0.6 0.6 0'
block_id = 1
top_right = '0.8 0.8 0'
[]
[]
test/tests/functions/image_function/flip_dual.i
[Mesh]
uniform_refine = 1
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 40
ymax = 2
[]
[./top]
type = SubdomainBoundingBoxGenerator
input = gen
top_right = '1 2 0'
bottom_left = '0 1 0'
block_id = 1
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./top]
type = ImageFunction
origin = '0 1 0'
file_base = stack/test
file_suffix = png
flip_y = true
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
dimensions = '1 1 0'
[../]
[./bottom]
type = ImageFunction
origin = '0 0 0'
file_base = stack/test
file_suffix = png
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
dimensions = '1 1 0'
[../]
[]
[ICs]
[./top_ic]
function = top
variable = u
type = FunctionIC
block = 1
[../]
[./bottom_ic]
function = bottom
variable = u
type = FunctionIC
block = 0
[../]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/sidesets_bounding_box_generator/error_no_elements_in_bounding_box.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
#parallel_type = replicated
[]
[./createNewSidesetOne]
type = SideSetsFromBoundingBoxGenerator
input = gmg
boundary_id_old = 'left bottom'
boundary_id_new = 10
bottom_left = '-0.1 -0.1 0'
top_right = '0.8 0.2 0'
block_id = 0
[]
[./createNewSidesetTwo]
type = SideSetsFromBoundingBoxGenerator
input = createNewSidesetOne
boundary_id_old = 'right top'
boundary_id_new = 11
bottom_left = '1.7 0.7 0'
top_right = '2.1 1.1 0'
block_id = 0
[]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./leftBC]
type = DirichletBC
variable = u
boundary = 10
value = 1
[../]
[./rightBC]
type = DirichletBC
variable = u
boundary = 11
value = 0
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/block_deletion_generator/block_deletion_test10.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
xmin = 0
xmax = 5
ymin = 0
ymax = 5
[]
[./left]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '2 2 0'
top_right = '3 3 1'
[../]
[./right]
type = SubdomainBoundingBoxGenerator
input = left
block_id = 2
bottom_left = '3 2 0'
top_right = '4 3 1'
[../]
[./interior_sideset]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
input = right
new_boundary = interior_ss
[../]
[./new_block_number]
type = SubdomainBoundingBoxGenerator
block_id = 3
bottom_left = '0 0 0'
top_right = '4 4 1'
input = 'interior_sideset'
[../]
[./ed0]
type = BlockDeletionGenerator
block_id = 3
input = 'new_block_number'
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = bottom
value = 1
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 10
dt = 10
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/block_deletion_generator/block_deletion_test3.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
xmin = 0
xmax = 4
ymin = 0
ymax = 4
[]
[./SubdomainBoundingBox]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '1 1 0'
top_right = '3 3 1'
[../]
[./ed0]
type = BlockDeletionGenerator
block_id = 1
input = SubdomainBoundingBox
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = bottom
value = 1
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 10
dt = 10
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/block_deletion_generator/block_deletion_test2.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 4
ny = 4
nz = 1
xmin = 0
xmax = 4
ymin = 0
ymax = 4
zmin = 0
zmax = 1
[]
[./SubdomainBoundingBox]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '0 0 0'
top_right = '3 3 1'
[../]
[./ed0]
type = BlockDeletionGenerator
input = SubdomainBoundingBox
block_id = 1
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = bottom
value = 1
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 10
dt = 10
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/action/two_block_base_name.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[]
[block1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.5 1 0'
input = generated_mesh
[]
[block2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.5 0 0'
top_right = '1 1 0'
input = block1
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules/TensorMechanics/Master]
# parameters that apply to all subblocks are specified at this level. They
# can be overwritten in the subblocks.
add_variables = true
strain = FINITE
generate_output = 'stress_xx'
# base_name can be specified inside or outside a block
base_name = 'block1'
[./block1]
# the `block` parameter is only valid insde a subblock.
block = 1
[../]
[./block2]
block = 2
# the `additional_generate_output` parameter is also only valid inside a
# subblock. Values specified here are appended to the `generate_output`
# parameter values.
additional_generate_output = 'strain_yy'
base_name = 'block2'
[../]
[]
[AuxVariables]
[./stress_theta]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_theta]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_theta]
type = RankTwoAux
block = 1
rank_two_tensor = block1_stress
index_i = 2
index_j = 2
variable = stress_theta
execute_on = timestep_end
[../]
[./strain_theta]
type = RankTwoAux
block = 2
rank_two_tensor = block2_total_strain
index_i = 2
index_j = 2
variable = strain_theta
execute_on = timestep_end
[../]
[]
[Materials]
[./elasticity_tensor_1]
type = ComputeIsotropicElasticityTensor
block = 1
base_name = block1
youngs_modulus = 1e10
poissons_ratio = 0.345
[../]
[./elasticity_tensor_2]
type = ComputeIsotropicElasticityTensor
block = 2
base_name = block2
youngs_modulus = 1e10
poissons_ratio = 0.345
[../]
[./_elastic_stress1]
type = ComputeFiniteStrainElasticStress
block = 1
base_name = block1
[../]
[./_elastic_stress2]
type = ComputeFiniteStrainElasticStress
block = 2
base_name = block2
[../]
[]
[BCs]
[./left]
type = DirichletBC
boundary = 'left'
variable = disp_x
value = 0.0
[../]
[./top]
type = DirichletBC
boundary = 'top'
variable = disp_y
value = 0.0
[../]
[./right]
type = DirichletBC
boundary = 'right'
variable = disp_x
value = 0.01
[../]
[./bottom]
type = DirichletBC
boundary = 'bottom'
variable = disp_y
value = 0.01
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[Executioner]
type = Steady
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = ' 201 hypre boomeramg 10'
line_search = 'none'
nl_rel_tol = 5e-9
nl_abs_tol = 1e-10
nl_max_its = 15
l_tol = 1e-3
l_max_its = 50
[]
[Outputs]
exodus = true
[]
test/tests/interfacekernels/adaptivity/adaptivity.i
# This input file is used for two tests:
# 1) Check that InterfaceKernels work with mesh adaptivity
# 2) Error out when InterfaceKernels are used with adaptivity
# and stateful material prpoerties
[Mesh]
parallel_type = 'replicated'
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0.5 0 0'
top_right = '1 1 0'
block_id = 1
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain1
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[./break_boundary]
input = interface
type = BreakBoundaryOnSubdomainGenerator
[../]
[]
[Variables]
[./u]
[./InitialCondition]
type = ConstantIC
value = 1
[../]
block = 0
[../]
[./u_neighbor]
[./InitialCondition]
type = ConstantIC
value = 1
[../]
block = 1
[../]
[]
[Functions]
[./forcing_fn]
type = ParsedFunction
value = (x*x*x)-6.0*x
[../]
[./bc_fn]
type = ParsedFunction
value = (x*x*x)
[../]
[]
[Kernels]
[./diff]
type = MatDiffusionTest
variable = u
prop_name = diffusivity
block = 0
[../]
[./abs]
type = Reaction
variable = u
block = 0
[../]
[./forcing]
type = BodyForce
variable = u
function = forcing_fn
block = 0
[../]
[./diffn]
type = MatDiffusionTest
variable = u_neighbor
prop_name = diffusivity
block = 1
[../]
[./absn]
type = Reaction
variable = u_neighbor
block = 1
[../]
[./forcingn]
type = BodyForce
variable = u_neighbor
function = forcing_fn
block = 1
[../]
[]
[InterfaceKernels]
[./flux_match]
type = PenaltyInterfaceDiffusion
variable = u
neighbor_var = u_neighbor
boundary = master0_interface
penalty = 1e6
[../]
[]
[BCs]
[./u]
type = FunctionDirichletBC
variable = u
boundary = 'left'
function = bc_fn
[../]
[./u_neighbor]
type = FunctionDirichletBC
variable = u_neighbor
boundary = 'right'
function = bc_fn
[../]
[]
[Materials]
active = 'constant'
[./stateful]
type = StatefulTest
prop_names = 'diffusivity'
prop_values = '1'
block = '0 1'
[../]
[./constant]
type = GenericConstantMaterial
prop_names = 'diffusivity'
prop_values = '1'
block = '0 1'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
[]
[Adaptivity]
marker = 'marker'
steps = 1
[./Markers]
[./marker]
type = BoxMarker
bottom_left = '0 0 0'
top_right = '1 1 0'
inside = refine
outside = coarsen
[../]
[../]
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/mortar_tm/2drz/frictionless_second/finite.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'finite'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
[../]
[./plank]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
preset = false
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = block_right
value = 0
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
preset = false
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[./swell]
type = ComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/porous_flow/test/tests/dirackernels/injection_production.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 3
nx = 10
ny = 10
nz = 1
xmin = -50
xmax = 50
ymin = -50
ymax = 50
zmin = 0
zmax = 10
[]
[./central_nodes]
input = gen
type = ExtraNodesetGenerator
new_boundary = central_nodes
coord = '0 0 0 0 0 10'
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./porepressure]
initial_condition = 20E6
[../]
[./temperature]
initial_condition = 400
scaling = 1E-6 # fluid enthalpy is roughly 1E6
[../]
[]
[BCs]
[./injection_temperature]
type = DirichletBC
variable = temperature
value = 300
boundary = central_nodes
[../]
[]
[DiracKernels]
[./fluid_injection]
type = PorousFlowPeacemanBorehole
variable = porepressure
SumQuantityUO = injected_mass
point_file = injection.bh
function_of = pressure
fluid_phase = 0
bottom_p_or_t = 21E6
unit_weight = '0 0 0'
use_mobility = true
character = -1
[../]
[./fluid_production]
type = PorousFlowPeacemanBorehole
variable = porepressure
SumQuantityUO = produced_mass
point_file = production.bh
function_of = pressure
fluid_phase = 0
bottom_p_or_t = 20E6
unit_weight = '0 0 0'
use_mobility = true
character = 1
[../]
[./remove_heat_at_production_well]
type = PorousFlowPeacemanBorehole
variable = temperature
SumQuantityUO = produced_heat
point_file = production.bh
function_of = pressure
fluid_phase = 0
bottom_p_or_t = 20E6
unit_weight = '0 0 0'
use_mobility = true
use_enthalpy = true
character = 1
[../]
[]
[UserObjects]
[./injected_mass]
type = PorousFlowSumQuantity
[../]
[./produced_mass]
type = PorousFlowSumQuantity
[../]
[./produced_heat]
type = PorousFlowSumQuantity
[../]
[]
[Postprocessors]
[./heat_joules_extracted_this_timestep]
type = PorousFlowPlotQuantity
uo = produced_heat
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
thermal_expansion = 2E-4
bulk_modulus = 2E9
viscosity = 1E-3
density0 = 1000
cv = 4000.0
cp = 4000.0
[../]
[../]
[]
[PorousFlowUnsaturated]
porepressure = porepressure
temperature = temperature
coupling_type = ThermoHydro
gravity = '0 0 0'
fp = the_simple_fluid
[]
[Materials]
[./porosity]
type = PorousFlowPorosityConst # only the initial value of this is ever used
porosity = 0.1
[../]
[./biot_modulus]
type = PorousFlowConstantBiotModulus
solid_bulk_compliance = 1E-10
fluid_bulk_modulus = 2E9
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-12 0 0 0 1E-12 0 0 0 1E-12'
[../]
[./thermal_expansion]
type = PorousFlowConstantThermalExpansionCoefficient
fluid_coefficient = 5E-6
drained_coefficient = 2E-4
[../]
[./thermal_conductivity]
type = PorousFlowThermalConductivityIdeal
dry_thermal_conductivity = '1 0 0 0 1 0 0 0 1'
[../]
[./rock_heat]
type = PorousFlowMatrixInternalEnergy
density = 2500.0
specific_heat_capacity = 1200.0
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 2E6
dt = 2E5
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/subdomain_bounding_box_generator/subdomain_bounding_box_generator_inside.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
xmax = 1
ymax = 1
#uniform_refine = 2
[]
[./subdomains]
type = SubdomainBoundingBoxGenerator
input = gmg
bottom_left = '0.1 0.1 0'
block_id = 1
top_right = '0.9 0.9 0'
[]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = MatCoefDiffusion
variable = u
conductivity = 'k'
block = '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
[../]
[]
[Materials]
[./outside]
type = GenericConstantMaterial
block = 0
prop_names = 'k'
prop_values = 1
[../]
[./inside]
type = GenericConstantMaterial
block = 1
prop_names = 'k'
prop_values = 0.1
[../]
[]
[Executioner]
type = Transient
num_steps = 5
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/failure_tests/2D_stretch_failure_BPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
cracks_start = '0.25 0.5 0'
cracks_end = '0.75 0.5 0'
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 8
ny = 8
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./damage]
[../]
[./intact_bonds_num]
[../]
[./critical_stretch]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./bond_status]
type = StretchBasedFailureCriterionPD
critical_variable = critical_stretch
variable = bond_status
[../]
[]
[UserObjects]
[./damage]
type = NodalDamageIndexPD
variable = damage
[../]
[./intact_bonds]
type = NodalNumIntactBondsPD
variable = intact_bonds_num
[../]
[]
[ICs]
[./critical_stretch]
type = ConstantIC
variable = critical_stretch
value = 0.001
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1003
value = 0.0
[../]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = 1002
value = 0.0
[../]
[./bottom_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1000
function = '-0.001*t'
[../]
[./rbm_x]
type = RBMPresetOldValuePD
variable = disp_x
boundary = 999
[../]
[./rbm_y]
type = RBMPresetOldValuePD
variable = disp_y
boundary = 999
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = BOND
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.33
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialBPD
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0
dt = 0.5
end_time = 1
[]
[Outputs]
file_base = 2D_stretch_failure_BPD
exodus = 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
[../]
[]
test/tests/materials/discrete/recompute_boundary_error.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 1
[]
[./left_domain]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '0.5 1 0'
block_id = 10
[../]
[]
[Variables]
[./u]
initial_condition = 2
[../]
[]
[Kernels]
[./diff]
type = MatDiffusionTest
variable = u
prop_name = 'p'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 2
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 3
[../]
[]
[Materials]
[./recompute_props]
type = RecomputeMaterial
boundary = 'left'
f_name = 'f'
f_prime_name = 'f_prime'
p_name = 'p'
outputs = all
output_properties = 'f f_prime p'
[../]
[./newton]
type = NewtonMaterial
boundary = 'left right'
outputs = all
f_name = 'f'
f_prime_name = 'f_prime'
p_name = 'p'
material = 'recompute_props'
[../]
[./left]
type = GenericConstantMaterial
prop_names = 'f f_prime'
prop_values = '1 0.5 '
block = '10 0'
outputs = all
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[]
test/tests/meshgenerators/sidesets_bounding_box_generator/generate_sidesets_bounding_box.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
parallel_type = replicated
[]
[./createNewSidesetOne]
type = SideSetsFromBoundingBoxGenerator
input = gmg
boundary_id_old = 'left'
boundary_id_new = 10
bottom_left = '-0.1 -0.1 0'
block_id = 0
top_right = '0.5 0.5 0'
[]
[./createNewSidesetTwo]
type = SideSetsFromBoundingBoxGenerator
input = createNewSidesetOne
boundary_id_old = 'right'
boundary_id_new = 11
bottom_left = '0.5 0.5 0'
block_id = 0
top_right = '1.1 1.1 0'
[]
[]
[Outputs]
exodus = true
[]
modules/combined/examples/mortar/mortar_gradient.i
#
# Compare a diffusion equation with (c) and without (v) periodic gradient
# constraints and a ramped sloped initial condition and value-periodic diffusion (p)
# without a slope.
#
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 40
ny = 40
[]
[slave_x]
input = gen
type = LowerDBlockFromSidesetGenerator
sidesets = '3'
new_block_id = 10
new_block_name = "slave_x"
[]
[master_x]
input = slave_x
type = LowerDBlockFromSidesetGenerator
sidesets = '1'
new_block_id = 12
new_block_name = "master_x"
[]
[slave_y]
input = master_x
type = LowerDBlockFromSidesetGenerator
sidesets = '0'
new_block_id = 11
new_block_name = "slave_y"
[]
[master_y]
input = slave_y
type = LowerDBlockFromSidesetGenerator
sidesets = '2'
new_block_id = 13
new_block_name = "master_y"
[]
[]
[Functions]
[./init_slope]
# slope with a concentration spike close to the lower interface
type = ParsedFunction
value = 'if(x>0.4 & x<0.6 & y>0.1 & y<0.3, 3+y, y)'
[../]
[./init_flat]
# no-slope and the same spike
type = ParsedFunction
value = 'if(x>0.4 & x<0.6 & y>0.1 & y<0.3, 3, 0)'
[../]
[]
[Variables]
# gradient constrained concentration
[./c]
order = FIRST
family = LAGRANGE
block = 0
[./InitialCondition]
type = FunctionIC
function = init_slope
[../]
[../]
# unconstrained concentrarion
[./v]
order = FIRST
family = LAGRANGE
block = 0
[./InitialCondition]
type = FunctionIC
function = init_slope
[../]
[../]
# flat value periodic diffusion
[./p]
order = FIRST
family = LAGRANGE
block = 0
[./InitialCondition]
type = FunctionIC
function = init_flat
[../]
[../]
# Lagrange multipliers for gradient component in the horizontal directon
[./lm_left_right_x]
order = FIRST
family = LAGRANGE
block = "slave_x"
[../]
[./lm_left_right_y]
order = FIRST
family = LAGRANGE
block = "slave_x"
[../]
# Lagrange multipliers for gradient component in the vertical directon
[./lm_up_down_x]
order = FIRST
family = LAGRANGE
block = "slave_y"
[../]
[./lm_up_down_y]
order = FIRST
family = LAGRANGE
block = "slave_y"
[../]
[]
[Kernels]
# the gradient constrained concentration
[./diff]
type = Diffusion
variable = c
block = 0
[../]
[./dt]
type = TimeDerivative
variable = c
block = 0
[../]
# the un-constrained concentration
[./diff2]
type = Diffusion
variable = v
block = 0
[../]
[./dt2]
type = TimeDerivative
variable = v
block = 0
[../]
# the value periodic concentration
[./diff3]
type = Diffusion
variable = p
block = 0
[../]
[./dt3]
type = TimeDerivative
variable = p
block = 0
[../]
[]
[Constraints]
[./equaly_grad_x]
type = EqualGradientConstraint
variable = lm_up_down_x
component = 0
slave_variable = c
slave_boundary = bottom
master_boundary = top
slave_subdomain = slave_y
master_subdomain = master_y
periodic = true
[../]
[./equaly_grad_y]
type = EqualGradientConstraint
variable = lm_up_down_y
component = 1
slave_variable = c
slave_boundary = bottom
master_boundary = top
slave_subdomain = slave_y
master_subdomain = master_y
periodic = true
[../]
[./equalx_grad_x]
type = EqualGradientConstraint
variable = lm_left_right_x
component = 0
slave_variable = c
slave_boundary = left
master_boundary = right
slave_subdomain = slave_x
master_subdomain = master_x
periodic = true
[../]
[./equalx_grad_y]
type = EqualGradientConstraint
variable = lm_left_right_y
component = 1
slave_variable = c
slave_boundary = left
master_boundary = right
slave_subdomain = slave_x
master_subdomain = master_x
periodic = true
[../]
[]
[BCs]
# DiffusionFluxBC is the surface term in the weak form of the Diffusion equation
[./surface]
type = DiffusionFluxBC
boundary = 'top bottom left right'
variable = c
[../]
[./surface2]
type = DiffusionFluxBC
boundary = 'top bottom left right'
variable = v
[../]
# for the value periodic diffusion we skip the surface term and apply value PBCs
[./Periodic]
[./up_down]
variable = p
primary = 0
secondary = 2
translation = '0 1 0'
[../]
[./left_right]
variable = p
primary = 1
secondary = 3
translation = '-1 0 0'
[../]
[../]
[]
[AuxVariables]
[./diff_constraint]
block = 0
[../]
[./diff_periodic]
block = 0
[../]
[./diff_slope]
block = 0
[../]
[./slope]
block = 0
[./InitialCondition]
type = FunctionIC
function = y
[../]
[../]
[]
[AuxKernels]
# difference between the constrained and unconstrained sloped diffusions
[./diff_constraint]
type = ParsedAux
variable = diff_constraint
function = 'c-v'
args = 'c v'
block = 0
[../]
# difference between the periodic gradient constrained diffusion and the flat
# value period diffusien with a constant slope added. This should be the same,
# but they aren't quite because the gradient constraint affects the gradient in
# the entire elements (i.e. a larger volume is affected by the gradient constraint
# compared to the nodal value periodicity)
[./diff_periodic]
type = ParsedAux
variable = diff_periodic
function = 'c-p-slope'
args = 'c p slope'
block = 0
[../]
# subtract the constant slope from the gradient periodic simulation (should yield
# almost p - per the argument above)
[./diff_slope]
type = ParsedAux
variable = diff_slope
function = 'c-slope'
args = 'c slope'
block = 0
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
# the shift is necessary to facilitate the solve. The Lagrange multipliers
# introduce zero-on diaginal blocks, which make the matrix hard to invert.
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = ' lu NONZERO 1e-10'
nl_rel_tol = 1e-11
nl_abs_tol = 1e-10
l_tol = 1e-10
dt = 0.01
num_steps = 20
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/combiner_generator/combiner_generator.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[cmbn]
type = CombinerGenerator
inputs = 'gen'
positions = '1 0 0 2 2 2 3 0 0'
[]
[]
[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]
exodus = true
[]
modules/combined/test/tests/mortar_tm/2d/ad_frictionless_fir/finite_rr.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'finite_rr'
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
extra_vector_tags = 'ref'
use_automatic_differentiation = true
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = ADFunctionDirichletBC
variable = disp_x
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = ADFunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ADComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
nl_abs_tol = 1e-7
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/combined/test/tests/mortar_tm/2d/ad_frictionless_fir/small.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'small'
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
use_automatic_differentiation = true
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = ADFunctionDirichletBC
variable = disp_x
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = ADFunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ADComputeLinearElasticStress
block = 'plank block'
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/phase_field/test/tests/feature_volume_vpp_test/boundary_area_3D_single.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 3
nx = 6
ny = 25
nz = 15
xmin = 20
xmax = 30
ymin = 0
ymax = 50
zmin = 10
zmax = 40
elem_type = HEX8
[]
[./left_side]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '24.9 50 50'
[../]
[./right_side]
input = left_side
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '25.1 0 0'
top_right = '50 50 50'
[../]
[./iface_u]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
input = right_side
[../]
[]
[Variables]
[./c]
order = FIRST
family = LAGRANGE
[]
[]
[ICs]
[./c]
type = SpecifiedSmoothCircleIC
variable = c
invalue = 1.0
outvalue = 0.0
radii = '4 5 10'
x_positions = '25 25 25'
y_positions = '40 25 0'
z_positions = '25 25 25'
int_width = 2.0
[]
[]
[Postprocessors]
[./flood_count]
type = FeatureFloodCount
variable = c
# Must be turned on to build data structures necessary for FeatureVolumeVPP
compute_var_to_feature_map = true
threshold = 0.5
execute_on = INITIAL
[../]
[]
[VectorPostprocessors]
[./features]
type = FeatureVolumeVectorPostprocessor
flood_counter = flood_count
# Turn on centroid output
output_centroids = true
execute_on = INITIAL
boundary = 10
single_feature_per_element = true
[../]
[]
[Kernels]
[diff]
type = Diffusion
variable = c
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
execute_on = INITIAL
[]
modules/tensor_mechanics/test/tests/capped_weak_plane/pull_and_shear_1step.i
# Part of the bottom (minimum z) is pulled down by a Preset displacement
# This causes tensile failure in the elements immediately above.
# Because only the bottom row of elements ever fail, and because these
# fail in the first nonlinear step, Moose correctly converges in
# 1 nonlinear step, despite this problem being inelastic.
# (If the problem had lower cohesion, then the top row would also
# fail, but in the second nonlinear step, and so the simulation
# would require at least two nonlinear steps.)
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 2
ny = 1
nz = 2
xmin = -10
xmax = 10
ymin = -10
ymax = 10
zmin = -100
zmax = 0
[]
[bottomz_middle]
type = BoundingBoxNodeSetGenerator
new_boundary = bottomz_middle
bottom_left = '-1 -15 -105'
top_right = '1 15 -95'
input = generated_mesh
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[BCs]
[./no_x2]
type = DirichletBC
variable = disp_x
boundary = right
value = 0.0
[../]
[./no_x1]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./no_y1]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./no_y2]
type = DirichletBC
variable = disp_y
boundary = top
value = 0.0
[../]
[./z_fixed_sides_xmin]
type = DirichletBC
variable = disp_z
boundary = left
value = 0
[../]
[./z_fixed_sides_xmax]
type = DirichletBC
variable = disp_z
boundary = right
value = 0
[../]
[./bottomz]
type = FunctionDirichletBC
variable = disp_z
boundary = bottomz_middle
function = -1
[../]
[]
[AuxVariables]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./f_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./f_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./f_compressive]
order = CONSTANT
family = MONOMIAL
[../]
[./intnl_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./intnl_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./iter]
order = CONSTANT
family = MONOMIAL
[../]
[./ls]
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_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_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
[../]
[./strainp_xx]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_xx
index_i = 0
index_j = 0
[../]
[./strainp_xy]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_xy
index_i = 0
index_j = 1
[../]
[./strainp_xz]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_xz
index_i = 0
index_j = 2
[../]
[./strainp_yy]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_yy
index_i = 1
index_j = 1
[../]
[./strainp_yz]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_yz
index_i = 1
index_j = 2
[../]
[./strainp_zz]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_zz
index_i = 2
index_j = 2
[../]
[./straint_xx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_xx
index_i = 0
index_j = 0
[../]
[./straint_xy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_xy
index_i = 0
index_j = 1
[../]
[./straint_xz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_xz
index_i = 0
index_j = 2
[../]
[./straint_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_yy
index_i = 1
index_j = 1
[../]
[./straint_yz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_yz
index_i = 1
index_j = 2
[../]
[./straint_zz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_zz
index_i = 2
index_j = 2
[../]
[./f_shear]
type = MaterialStdVectorAux
property = plastic_yield_function
index = 0
variable = f_shear
[../]
[./f_tensile]
type = MaterialStdVectorAux
property = plastic_yield_function
index = 1
variable = f_tensile
[../]
[./f_compressive]
type = MaterialStdVectorAux
property = plastic_yield_function
index = 2
variable = f_compressive
[../]
[./intnl_shear]
type = MaterialStdVectorAux
property = plastic_internal_parameter
index = 0
variable = intnl_shear
[../]
[./intnl_tensile]
type = MaterialStdVectorAux
property = plastic_internal_parameter
index = 1
variable = intnl_tensile
[../]
[./iter]
type = MaterialRealAux
property = plastic_NR_iterations
variable = iter
[../]
[./ls]
type = MaterialRealAux
property = plastic_linesearch_needed
variable = ls
[../]
[]
[UserObjects]
[./coh_irrelevant]
type = TensorMechanicsHardeningCubic
value_0 = 1E60
value_residual = 1E60
internal_limit = 0.01E8
[../]
[./tanphi]
type = TensorMechanicsHardeningCubic
value_0 = 0.5
value_residual = 0.2
internal_limit = 0.01E8
[../]
[./tanpsi]
type = TensorMechanicsHardeningConstant
value = 0.166666666667
[../]
[./t_strength]
type = TensorMechanicsHardeningConstant
value = 0
[../]
[./c_strength]
type = TensorMechanicsHardeningCubic
value_0 = 1E80
value_residual = 1E80
internal_limit = 0.01
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeElasticityTensor
fill_method = symmetric_isotropic
C_ijkl = '6.4E9 6.4E9' # young 16MPa, Poisson 0.25
[../]
[./strain]
type = ComputeIncrementalSmallStrain
[../]
[./admissible]
type = ComputeMultipleInelasticStress
inelastic_models = stress
tangent_operator = nonlinear
perform_finite_strain_rotations = false
[../]
[./stress]
type = CappedWeakPlaneStressUpdate
cohesion = coh_irrelevant
tan_friction_angle = tanphi
tan_dilation_angle = tanpsi
tensile_strength = t_strength
compressive_strength = c_strength
max_NR_iterations = 1
tip_smoother = 0
smoothing_tol = 0
yield_function_tol = 1E-2
perfect_guess = true
min_step_size = 1
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options = '-snes_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
petsc_options_value = ' asm 2 lu gmres 200'
[../]
[]
[Executioner]
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason'
line_search = bt
nl_abs_tol = 1E1
nl_rel_tol = 1e-5
l_tol = 1E-10
l_max_its = 100
nl_max_its = 100
end_time = 1.0
dt = 1.0
type = Transient
[]
[Outputs]
file_base = pull_and_shear_1step
exodus = true
[]
test/tests/meshgenerators/block_deletion_generator/block_deletion_test6.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 4
ny = 4
nz = 2
xmin = 0
xmax = 4
ymin = 0
ymax = 4
zmin = 0
zmax = 2
[]
[./SubdomainBoundingBox1]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '0 0 0'
top_right = '1 2 1'
[../]
[./SubdomainBoundingBox2]
type = SubdomainBoundingBoxGenerator
input = SubdomainBoundingBox1
block_id = 1
bottom_left = '1 1 0'
top_right = '3 3 1'
[../]
[./SubdomainBoundingBox3]
type = SubdomainBoundingBoxGenerator
input = SubdomainBoundingBox2
block_id = 1
bottom_left = '2 2 1'
top_right = '3 3 2'
[../]
[./ed0]
type = BlockDeletionGenerator
block_id = 1
input = SubdomainBoundingBox3
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = bottom
value = 1
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 10
dt = 10
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/setup_interface_count/side.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[./right_side]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 0.5 0'
block_id = 1
[../]
[]
[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 = 10
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Postprocessors]
[./initial] # 1 per simulation
type = SideSetupInterfaceCount
count_type = 'initial'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[./timestep] # once per timestep
type = SideSetupInterfaceCount
count_type = 'timestep'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[./subdomain] # 1 on initial and for each timestep
type = SideSetupInterfaceCount
count_type = 'subdomain'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[./initialize] # 1 for initial and 2 for each timestep
type = SideSetupInterfaceCount
count_type = 'initialize'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[./finalize] # 1 for initial and 2 for each timestep
type = SideSetupInterfaceCount
count_type = 'finalize'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[./execute] # 4 for initial and 8 for each timestep
type = SideSetupInterfaceCount
count_type = 'execute'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[./threadjoin] # 1 for initial and 2 for each timestep
type = SideSetupInterfaceCount
count_type = 'threadjoin'
execute_on = 'initial timestep_begin timestep_end'
boundary = '1 2'
[../]
[]
[Outputs]
csv = true
[]
test/tests/meshgenerators/parsed_subdomain_mesh_generator/parsed_subdomain_mg.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
xmax = 1
ymax = 1
uniform_refine = 2
[]
[./subdomains]
type = ParsedSubdomainMeshGenerator
input = gmg
combinatorial_geometry = 'x > 0.1 & x < 0.9 & y > 0.1 & y < 0.9'
block_id = 1
[]
[./subdomains2]
type = ParsedSubdomainMeshGenerator
combinatorial_geometry = 'x < 0.5 & y < 0.5'
excluded_subdomain_ids = '0'
block_id = 2
input = subdomains
[]
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/sidesets_bounding_box_generator/multiple_boundary_ids.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[./createNewSidesetOne]
type = SideSetsFromBoundingBoxGenerator
input = gmg
boundary_id_old = 'left bottom'
boundary_id_new = 10
bottom_left = '-0.1 -0.1 0'
top_right = '0.2 0.9 0'
block_id = 0
[../]
[./createNewSidesetTwo]
type = SideSetsFromBoundingBoxGenerator
input = createNewSidesetOne
boundary_id_old = 'right'
boundary_id_new = 11
bottom_left = '0.5 0.5 0'
top_right = '1.1 1.1 0'
block_id = 0
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./leftBC]
type = DirichletBC
variable = u
boundary = 10
value = 1
[../]
[./rightBC]
type = DirichletBC
variable = u
boundary = 11
value = 0
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/navier_stokes/test/tests/ins/lid_driven/lid_driven_stabilized.i
[GlobalParams]
gravity = '0 0 0'
laplace = true
integrate_p_by_parts = true
family = LAGRANGE
order = FIRST
# There are multiple types of stabilization possible in incompressible
# Navier Stokes. The user can specify supg = true to apply streamline
# upwind petrov-galerkin stabilization to the momentum equations. This
# is most useful for high Reynolds numbers, e.g. when inertial effects
# dominate over viscous effects. The user can also specify pspg = true
# to apply pressure stabilized petrov-galerkin stabilization to the mass
# equation. PSPG is a form of Galerkin Least Squares. This stabilization
# allows equal order interpolations to be used for pressure and velocity.
# Finally, the alpha parameter controls the amount of stabilization.
# For PSPG, decreasing alpha leads to increased accuracy but may induce
# spurious oscillations in the pressure field. Some numerical experiments
# suggest that alpha between .1 and 1 may be optimal for accuracy and
# robustness.
supg = true
pspg = true
alpha = 1e-1
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1.0
ymin = 0
ymax = 1.0
nx = 64
ny = 64
elem_type = QUAD4
[]
[./corner_node]
type = ExtraNodesetGenerator
new_boundary = 'pinned_node'
nodes = '0'
input = gen
[../]
[]
[Variables]
[./vel_x]
[../]
[./vel_y]
[../]
[./p]
[../]
[]
[Kernels]
# mass
[./mass]
type = INSMass
variable = p
u = vel_x
v = vel_y
p = p
[../]
# x-momentum, space
[./x_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_x
u = vel_x
v = vel_y
p = p
component = 0
[../]
# y-momentum, space
[./y_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_y
u = vel_x
v = vel_y
p = p
component = 1
[../]
[]
[BCs]
[./x_no_slip]
type = DirichletBC
variable = vel_x
boundary = 'bottom right left'
value = 0.0
[../]
[./lid]
type = FunctionDirichletBC
variable = vel_x
boundary = 'top'
function = 'lid_function'
[../]
[./y_no_slip]
type = DirichletBC
variable = vel_y
boundary = 'bottom right top left'
value = 0.0
[../]
[./pressure_pin]
type = DirichletBC
variable = p
boundary = 'pinned_node'
value = 0
[../]
[]
[Materials]
[./const]
type = GenericConstantMaterial
block = 0
prop_names = 'rho mu'
prop_values = '1 1'
[../]
[]
[Functions]
[./lid_function]
# We pick a function that is exactly represented in the velocity
# space so that the Dirichlet conditions are the same regardless
# of the mesh spacing.
type = ParsedFunction
value = '4*x*(1-x)'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
solve_type = 'NEWTON'
[../]
[]
[Executioner]
type = Steady
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -sub_pc_factor_levels'
petsc_options_value = 'asm 2 ilu 4'
line_search = 'none'
nl_rel_tol = 1e-12
nl_abs_tol = 1e-13
nl_max_its = 6
l_tol = 1e-6
l_max_its = 500
[]
[Outputs]
exodus = true
[dofmap]
type = DOFMap
execute_on = 'initial'
[]
[]
[Postprocessors]
[lin]
type = NumLinearIterations
[]
[nl]
type = NumNonlinearIterations
[]
[lin_tot]
type = CumulativeValuePostprocessor
postprocessor = 'lin'
[]
[nl_tot]
type = CumulativeValuePostprocessor
postprocessor = 'nl'
[]
[]
modules/combined/test/tests/mortar_tm/2d/frictionless_second/finite_rr.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'finite_rr'
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
extra_vector_tags = 'ref'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
preset = false
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
preset = false
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
preset = false
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
nl_abs_tol = 1e-7
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/outputs/debug/show_top_residuals_debug.i
[Mesh]
block_id = '0 1'
block_name = 'block_zero block_one'
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[./subdomain_id]
input = gen
type = SubdomainIDGenerator
subdomain_id = 1
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = FIRST
[../]
[./v]
family = MONOMIAL
order = CONSTANT
[../]
[./w]
family = SCALAR
order = FIRST
[../]
[]
[Kernels]
[./u_kernel]
type = Diffusion
variable = u
[../]
[./v_kernel]
type = Diffusion
variable = v
[../]
[]
[BCs]
[./u_bc]
type = DirichletBC
variable = u
value = 100
boundary = left
[../]
[./v_bc]
type = NeumannBC
variable = v
value = 100
boundary = left
[../]
[]
[ScalarKernels]
[./w_kernel]
type = AlphaCED
variable = w
value = 100
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
# For this test, we don't actually want the solution to converge because we
# want nonzero nonlinear residual entries at the end of the time step.
nl_abs_tol = 0.999
nl_rel_tol = 0.999
l_max_its = 1
petsc_options_iname = '-pc_type'
petsc_options_value = 'none'
[]
[Debug]
show_top_residuals = 10
[]
modules/tensor_mechanics/test/tests/inclined_bc/inclined_bc_3d.i
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 2
ny = 4
nz = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 2.0
zmin = 0.0
zmax = 1.0
elem_type = HEX8
[]
[rotate]
type = TransformGenerator
transform = ROTATE
vector_value = '0 -20 -60'
input = generated_mesh
[]
[]
[Modules/TensorMechanics/Master/All]
strain = FINITE
add_variables = true
[]
[BCs]
[./Pressure]
[./top]
boundary = top
function = '-1000*t'
[../]
[../]
[./InclinedNoDisplacementBC]
[./right]
boundary = right
penalty = 1.0e8
displacements = 'disp_x disp_y disp_z'
[../]
[./bottom]
boundary = bottom
penalty = 1.0e8
displacements = 'disp_x disp_y disp_z'
[../]
[./back]
boundary = back
penalty = 1.0e8
displacements = 'disp_x disp_y disp_z'
[../]
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
# 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
nl_abs_tol = 1e-12
# time control
start_time = 0.0
dt = 1
end_time = 5
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/mortar_tm/2drz/ad_frictionless_second/finite.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'finite'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
use_automatic_differentiation = true
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
[../]
[./plank]
use_automatic_differentiation = true
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
preset = false
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = block_right
value = 0
[../]
[./right_y]
type = ADFunctionDirichletBC
variable = disp_y
preset = false
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ADComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[./swell]
type = ADComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/peridynamics/test/tests/jacobian_check/generalized_planestrain_OSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
scalar_out_of_plane_strain = scalar_strain_zz
full_jacobian = true
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./scalar_strain_zz]
order = FIRST
family = SCALAR
[../]
[]
[AuxVariables]
[./stress_zz]
order = FIRST
family = LAGRANGE
[../]
[]
[Modules/Peridynamics/Mechanics]
[./Master]
[./all]
formulation = ORDINARY_STATE
[../]
[../]
[./GeneralizedPlaneStrain]
[./all]
formulation = ORDINARY_STATE
out_of_plane_stress_variable = stress_zz
[../]
[../]
[]
[AuxKernels]
[./stress_zz]
type = NodalRankTwoPD
variable = stress_zz
poissons_ratio = 0.3
youngs_modulus = 1e6
rank_two_tensor = stress
output_type = component
index_i = 2
index_j = 2
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialOSPD
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[]
modules/combined/test/tests/mortar_tm/2d/frictionless_second/finite_noaction.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'finite_noaction'
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[./slave]
input = block_sidesets
type = LowerDBlockFromSidesetGenerator
sidesets = 'block_left'
new_block_id = '30'
new_block_name = 'frictionless_slave_subdomain'
[../]
[./master]
input = slave
type = LowerDBlockFromSidesetGenerator
sidesets = 'plank_right'
new_block_id = '20'
new_block_name = 'frictionless_master_subdomain'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./frictionless_normal_lm]
order = ${order}
block = 'frictionless_slave_subdomain'
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
[../]
[]
[Constraints]
[./lm]
type = NormalNodalLMMechanicalContact
slave = block_left
master = plank_right
variable = frictionless_normal_lm
master_variable = disp_x
disp_y = disp_y
ncp_function_type = min
use_displaced_mesh = true
[../]
[./normal_x]
type = NormalMortarMechanicalContact
master_boundary = plank_right
slave_boundary = block_left
master_subdomain = frictionless_master_subdomain
slave_subdomain = frictionless_slave_subdomain
variable = frictionless_normal_lm
slave_variable = disp_x
component = x
use_displaced_mesh = true
compute_lm_residuals = false
[../]
[./normal_y]
type = NormalMortarMechanicalContact
master_boundary = plank_right
slave_boundary = block_left
master_subdomain = frictionless_master_subdomain
slave_subdomain = frictionless_slave_subdomain
variable = frictionless_normal_lm
slave_variable = disp_y
component = y
use_displaced_mesh = true
compute_lm_residuals = false
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
preset = false
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
preset = false
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
preset = false
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/tensor_mechanics/test/tests/static_deformations/cosserat_tension.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 2
ny = 2
nz = 2
zmax = 0.2
[]
[bottom_xline1]
type = ExtraNodesetGenerator
new_boundary = 101
coord = '0 0 0'
input = generated_mesh
[]
[bottom_xline2]
type = ExtraNodesetGenerator
new_boundary = 101
coord = '0.5 0 0'
input = bottom_xline1
[]
[bottom_xline3]
type = ExtraNodesetGenerator
new_boundary = 101
coord = '1 0 0'
input = bottom_xline2
[]
[bottom_zline1]
type = ExtraNodesetGenerator
new_boundary = 102
coord = '0 0 0.0'
input = bottom_xline3
[]
[bottom_zline2]
type = ExtraNodesetGenerator
new_boundary = 102
coord = '0 0 0.1'
input = bottom_zline1
[]
[bottom_zline3]
type = ExtraNodesetGenerator
new_boundary = 102
coord = '0 0 0.2'
input = bottom_zline2
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
Cosserat_rotations = 'wc_x wc_y wc_z'
[]
[Postprocessors]
[./disp_y_top]
type = PointValue
point = '0.5 1 0.1'
variable = disp_y
[../]
[./wc_z_top]
type = PointValue
point = '0.5 1 0.1'
variable = wc_z
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./wc_x]
[../]
[./wc_y]
[../]
[./wc_z]
[../]
[]
[Kernels]
[./cx_elastic]
type = CosseratStressDivergenceTensors
variable = disp_x
component = 0
[../]
[./cy_elastic]
type = CosseratStressDivergenceTensors
variable = disp_y
component = 1
[../]
[./cz_elastic]
type = CosseratStressDivergenceTensors
variable = disp_z
component = 2
[../]
[./x_couple]
type = StressDivergenceTensors
variable = wc_x
displacements = 'wc_x wc_y wc_z'
component = 0
base_name = couple
[../]
[./y_couple]
type = StressDivergenceTensors
variable = wc_y
displacements = 'wc_x wc_y wc_z'
component = 1
base_name = couple
[../]
[./z_couple]
type = StressDivergenceTensors
variable = wc_z
displacements = 'wc_x wc_y wc_z'
component = 2
base_name = couple
[../]
[./x_moment]
type = MomentBalancing
variable = wc_x
component = 0
[../]
[./y_moment]
type = MomentBalancing
variable = wc_y
component = 1
[../]
[./z_moment]
type = MomentBalancing
variable = wc_z
component = 2
[../]
[]
[BCs]
[./y_bottom]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0
[../]
[./x_line]
type = DirichletBC
variable = disp_z
boundary = 101
value = 0
[../]
[./z_line]
type = DirichletBC
variable = disp_x
boundary = 102
value = 0
[../]
[./wc_x_bottom]
type = DirichletBC
variable = wc_x
boundary = bottom
value = 0
[../]
[./wc_y_bottom]
type = DirichletBC
variable = wc_y
boundary = bottom
value = 0
[../]
[./wc_z_bottom]
type = DirichletBC
variable = wc_z
boundary = bottom
value = 0
[../]
[./top_force]
type = NeumannBC
variable = disp_y
boundary = top
value = 1
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeCosseratElasticityTensor
B_ijkl = 0.5
E_ijkl = '1 2 1.3333'
fill_method = 'general_isotropic'
[../]
[./strain]
type = ComputeCosseratSmallStrain
[../]
[./stress]
type = ComputeCosseratLinearElasticStress
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -ksp_atol -ksp_rtol'
petsc_options_value = 'gmres bjacobi 1E-10 1E-10 10 1E-15 1E-10'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
num_steps = 1
[]
[Outputs]
execute_on = 'timestep_end'
file_base = cosserat_tension_out
exodus = true
[]
modules/porous_flow/test/tests/jacobian/brineco2_twophase_nonisothermal.i
# Tests correct calculation of properties derivatives in PorousFlowFluidState
# for nonisothermal two phase conditions, including salt as a nonlinear variable
[Mesh]
[./mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./pgas]
[../]
[./zi]
[../]
[./xnacl]
[../]
[./temperature]
[../]
[]
[ICs]
[./pgas]
type = RandomIC
min = 1e6
max = 4e6
variable = pgas
seed = 1
[../]
[./z]
type = RandomIC
min = 0.2
max = 0.8
variable = zi
seed = 1
[../]
[./xnacl]
type = RandomIC
min = 0.01
max = 0.15
variable = xnacl
seed = 1
[../]
[./temperature]
type = RandomIC
min = 20
max = 80
variable = temperature
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
variable = pgas
fluid_component = 0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
variable = zi
fluid_component = 1
[../]
[./mass2]
type = PorousFlowMassTimeDerivative
variable = xnacl
fluid_component = 2
[../]
[./adv0]
type = PorousFlowAdvectiveFlux
variable = pgas
fluid_component = 0
[../]
[./adv1]
type = PorousFlowAdvectiveFlux
variable = zi
fluid_component = 1
[../]
[./adv2]
type = PorousFlowAdvectiveFlux
variable = xnacl
fluid_component = 2
[../]
[./energy]
type = PorousFlowEnergyTimeDerivative
variable = temperature
[../]
[./heat]
type = PorousFlowHeatAdvection
variable = temperature
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pgas zi xnacl temperature'
number_fluid_phases = 2
number_fluid_components = 3
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
pc_max = 1e3
[../]
[./fs]
type = PorousFlowBrineCO2
brine_fp = brine
co2_fp = co2
capillary_pressure = pc
[../]
[]
[Modules]
[./FluidProperties]
[./co2]
type = CO2FluidProperties
[../]
[./brine]
type = BrineFluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temperature
[../]
[./brineco2]
type = PorousFlowFluidState
gas_porepressure = pgas
z = zi
temperature = temperature
temperature_unit = Celsius
xnacl = xnacl
capillary_pressure = pc
fluid_state = fs
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-12 0 0 0 1e-12 0 0 0 1e-12'
[../]
[./relperm0]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[./relperm1]
type = PorousFlowRelativePermeabilityCorey
n = 3
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./rock_heat]
type = PorousFlowMatrixInternalEnergy
specific_heat_capacity = 1000
density = 2500
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
dt = 1
end_time = 1
nl_abs_tol = 1e-12
automatic_scaling = true
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
test/tests/materials/interface_material/interface_value_material_split_mesh.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
xmax = 2
ny = 2
ymax = 2
elem_type = QUAD4
[]
[./subdomain_id]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '1 0 0'
top_right = '2 2 0'
block_id = 1
[../]
[./split]
type = BreakMeshByBlockGenerator
input = subdomain_id
[../]
[]
[Variables]
[./u]
block = 0
[../]
[./v]
block = 1
[../]
[]
[Kernels]
[./diff]
type = MatDiffusion
variable = u
diffusivity = 'diffusivity'
block = 0
[../]
[./diff_v]
type = MatDiffusion
variable = v
diffusivity = 'diffusivity'
block = 1
[../]
[]
[InterfaceKernels]
[tied]
type = PenaltyInterfaceDiffusion
variable = u
neighbor_var = v
jump_prop_name = "average_jump"
penalty = 1e6
boundary = 'interface'
[]
[]
[BCs]
[u_left]
type = DirichletBC
boundary = 'left'
variable = u
value = 1
[]
[v_right]
type = DirichletBC
boundary = 'right'
variable = v
value = 0
[]
[]
[Materials]
[./stateful1]
type = StatefulMaterial
block = 0
initial_diffusivity = 1
# outputs = all
[../]
[./stateful2]
type = StatefulMaterial
block = 1
initial_diffusivity = 2
# outputs = all
[../]
[./interface_material_avg]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = average
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_jump_master_minus_slave]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = jump_master_minus_slave
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_jump_slave_minus_master]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = jump_slave_minus_master
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_jump_abs]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = jump_abs
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_master]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = master
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_slave]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
mat_prop_var_out_basename = diff_var
boundary = interface
interface_value_type = slave
nl_var_master = u
nl_var_slave = v
[../]
[]
[AuxKernels]
[./interface_material_avg]
type = MaterialRealAux
property = diff_average
variable = diffusivity_average
boundary = interface
[]
[./interface_material_jump_master_minus_slave]
type = MaterialRealAux
property = diff_jump_master_minus_slave
variable = diffusivity_jump_master_minus_slave
boundary = interface
[]
[./interface_material_jump_slave_minus_master]
type = MaterialRealAux
property = diff_jump_slave_minus_master
variable = diffusivity_jump_slave_minus_master
boundary = interface
[]
[./interface_material_jump_abs]
type = MaterialRealAux
property = diff_jump_abs
variable = diffusivity_jump_abs
boundary = interface
[]
[./interface_material_master]
type = MaterialRealAux
property = diff_master
variable = diffusivity_master
boundary = interface
[]
[./interface_material_slave]
type = MaterialRealAux
property = diff_slave
variable = diffusivity_slave
boundary = interface
[]
[diffusivity_var]
type = MaterialRealAux
property = diffusivity
variable = diffusivity_var
[]
[]
[AuxVariables]
[diffusivity_var]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_average]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_master_minus_slave]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_slave_minus_master]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_abs]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_master]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_slave]
family = MONOMIAL
order = CONSTANT
[]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/mortar_tm/2drz/frictionless_first/finite_rr.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'finite_rr'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
extra_vector_tags = 'ref'
[../]
[./plank]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
extra_vector_tags = 'ref'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = block_right
value = 0
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[./swell]
type = ComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
nl_abs_tol = 1e-12
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/meshgenerators/block_deletion_generator/block_deletion_test8.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
xmin = 0
xmax = 5
ymin = 0
ymax = 5
[]
[./SubdomainBoundingBox1]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '0 0 0'
top_right = '4 4 1'
[../]
[./interior_nodeset]
type = GenerateBoundingBoxNodeSet
input = SubdomainBoundingBox1
new_boundary = interior_ns
bottom_left = '2 2 0'
top_right = '3 3 1'
[../]
[./ed0]
type = BlockDeletionGenerator
block_id = 1
input = interior_nodeset
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = bottom
value = 1
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 10
dt = 10
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/navier_stokes/test/tests/ins/hydrostatic/gravity.i
[GlobalParams]
gravity = '0 -0.001 0'
convective_term = false
integrate_p_by_parts = false
u = vel_x
v = vel_y
p = p
[]
[Mesh]
second_order = true
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 1
ny = 5
ymax = 5
[../]
[./corner_node]
type = ExtraNodesetGenerator
new_boundary = top_right
coord = '0 5'
input = gen
[../]
[]
[Variables]
[./vel_x]
order = SECOND
[../]
[./vel_y]
order = SECOND
[../]
[./p]
[../]
[]
[Kernels]
[./mass]
type = INSMass
variable = p
[../]
[./x_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_x
component = 0
[../]
[./y_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_y
component = 1
[../]
[]
[BCs]
[./x_no_slip]
type = DirichletBC
variable = vel_x
boundary = 'top bottom left right'
value = 0.0
[../]
[./y_no_slip]
type = DirichletBC
variable = vel_y
boundary = 'top bottom left right'
value = 0.0
[../]
[./p_corner]
type = DirichletBC
boundary = top_right
value = 0
variable = p
[../]
[]
[Materials]
[./const]
type = GenericConstantMaterial
prop_names = 'rho mu'
prop_values = '100 1'
[../]
[]
[Preconditioning]
[./SMP_PJFNK]
type = SMP
full = true
solve_type = NEWTON
[../]
[]
[Executioner]
type = Steady
petsc_options_iname = '-ksp_gmres_restart -pc_type -sub_pc_type -sub_pc_factor_levels'
petsc_options_value = '300 bjacobi ilu 4'
line_search = none
nl_rel_tol = 1e-12
nl_max_its = 6
l_tol = 1e-6
l_max_its = 300
[]
[Outputs]
exodus = true
execute_on = TIMESTEP_END
[]
modules/navier_stokes/test/tests/ins/lid_driven/lid_driven_split.i
[GlobalParams]
gravity = '0 0 0'
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1.0
ymin = 0
ymax = 1.0
nx = 40
ny = 40
elem_type = QUAD4
[]
[./corner_node]
type = ExtraNodesetGenerator
boundary = 99
nodes = '0'
input = gen
[../]
[]
[Variables]
# x-velocity
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = ConstantIC
value = 0.0
[../]
[../]
# y-velocity
[./v]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = ConstantIC
value = 0.0
[../]
[../]
# x-acceleration
[./a1]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = ConstantIC
value = 0.0
[../]
[../]
# y-acceleration
[./a2]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = ConstantIC
value = 0.0
[../]
[../]
# Pressure
[./p]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = ConstantIC
value = 0
[../]
[../]
[]
[Kernels]
# split-momentum, x
[./x_split_momentum]
type = INSSplitMomentum
variable = a1
u = u
v = v
a1 = a1
a2 = a2
component = 0
[../]
# split-momentum, y
[./y_split_momentum]
type = INSSplitMomentum
variable = a2
u = u
v = v
a1 = a1
a2 = a2
component = 1
[../]
# projection-x, space
[./x_proj_space]
type = INSProjection
variable = u
a1 = a1
a2 = a2
p = p
component = 0
[../]
# projection-y, space
[./y_proj_space]
type = INSProjection
variable = v
a1 = a1
a2 = a2
p = p
component = 1
[../]
# projection-x, time
[./x_proj_time]
type = TimeDerivative
variable = u
[../]
# projection-y, time
[./y_proj_time]
type = TimeDerivative
variable = v
[../]
# Pressure
[./pressure_poisson]
type = INSPressurePoisson
variable = p
a1 = a1
a2 = a2
[../]
[]
[BCs]
[./x_no_slip]
type = DirichletBC
variable = u
boundary = 'bottom right left'
value = 0.0
[../]
[./lid]
type = DirichletBC
variable = u
boundary = 'top'
value = 100.0
[../]
[./y_no_slip]
type = DirichletBC
variable = v
boundary = 'bottom right top left'
value = 0.0
[../]
# Acceleration boundary conditions. What should these
# be on the lid? What should they be in general? I tried pinning
# values of acceleration at one node but that didn't seem to work.
# I also tried setting non-zero acceleration values on the lid but
# that didn't converge.
[./x_no_accel]
type = DirichletBC
variable = a1
boundary = 'bottom right top left'
value = 0.0
[../]
[./y_no_accel]
type = DirichletBC
variable = a2
boundary = 'bottom right top left'
value = 0.0
[../]
# With solid walls everywhere, we specify dp/dn=0, i.e the
# "natural BC" for pressure. Technically the problem still
# solves without pinning the pressure somewhere, but the pressure
# bounces around a lot during the solve, possibly because of
# the addition of arbitrary constants.
[./pressure_pin]
type = DirichletBC
variable = p
boundary = '99'
value = 0
[../]
[]
[Materials]
[./const]
type = GenericConstantMaterial
block = 0
# rho = 1000 # kg/m^3
# mu = 0.798e-3 # Pa-s at 30C
# cp = 4.179e3 # J/kg-K at 30C
# k = 0.58 # W/m-K at ?C
# Dummy parameters
prop_names = 'rho mu cp k'
prop_values = '1 1 1 1'
[../]
[]
[Preconditioning]
# [./FDP_Newton]
# type = FDP
# full = true
# petsc_options = '-snes'
# #petsc_options_iname = '-mat_fd_coloring_err'
# #petsc_options_value = '1.e-10'
# [../]
[./SMP_PJFNK]
type = SMP
full = true
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
[../]
[]
[Executioner]
type = Transient
dt = 1.e-4
dtmin = 1.e-6
petsc_options_iname = '-ksp_gmres_restart '
petsc_options_value = '300 '
line_search = 'none'
nl_rel_tol = 1e-5
nl_max_its = 6
l_tol = 1e-6
l_max_its = 100
start_time = 0.0
num_steps = 1000
[]
[Outputs]
file_base = lid_driven_split_out
exodus = true
[]
modules/tensor_mechanics/test/tests/ad_action/two_block.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[]
[block1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.5 1 0'
input = generated_mesh
[]
[block2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.5 0 0'
top_right = '1 1 0'
input = block1
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules/TensorMechanics/Master]
[./block1]
strain = FINITE
add_variables = true
#block = 1
use_automatic_differentiation = true
[../]
[./block2]
strain = SMALL
add_variables = true
block = 2
use_automatic_differentiation = true
[../]
[]
[AuxVariables]
[./stress_theta]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_theta]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_theta]
type = RankTwoAux
rank_two_tensor = stress
index_i = 2
index_j = 2
variable = stress_theta
execute_on = timestep_end
[../]
[./strain_theta]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 2
index_j = 2
variable = strain_theta
execute_on = timestep_end
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e10
poissons_ratio = 0.345
[../]
[./_elastic_stress1]
type = ADComputeFiniteStrainElasticStress
block = 1
[../]
[./_elastic_stress2]
type = ADComputeLinearElasticStress
block = 2
[../]
[]
[BCs]
[./left]
type = DirichletBC
boundary = 'left'
variable = disp_x
value = 0.0
[../]
[./top]
type = DirichletBC
boundary = 'top'
variable = disp_y
value = 0.0
[../]
[./right]
type = DirichletBC
boundary = 'right'
variable = disp_x
value = 0.01
[../]
[./bottom]
type = DirichletBC
boundary = 'bottom'
variable = disp_y
value = 0.01
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[Preconditioning]
[./full]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = ' 201 hypre boomeramg 10'
line_search = 'none'
nl_rel_tol = 5e-9
nl_abs_tol = 1e-10
nl_max_its = 15
l_tol = 1e-3
l_max_its = 50
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/generalized_plane_strain/generalized_plane_strain_NOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
scalar_out_of_plane_strain = scalar_strain_zz
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./scalar_strain_zz]
order = FIRST
family = SCALAR
[../]
[]
[AuxVariables]
[./temp]
order = FIRST
family = LAGRANGE
[../]
[]
[Modules/Peridynamics/Mechanics]
[./Master]
[./all]
formulation = NONORDINARY_STATE
[../]
[../]
[./GeneralizedPlaneStrain]
[./all]
formulation = NONORDINARY_STATE
[../]
[../]
[]
[AuxKernels]
[./tempfuncaux]
type = FunctionAux
variable = temp
function = tempfunc
use_displaced_mesh = false
[../]
[]
[Functions]
[./tempfunc]
type = ParsedFunction
value = '(1-x)*t'
[../]
[]
[BCs]
[./bottom_x]
type = DirichletBC
boundary = 1000
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = 1000
variable = disp_y
value = 0.0
[../]
[]
[Materials]
[./elastic_tensor]
type = ComputeIsotropicElasticityTensor
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./strain]
type = ComputePlaneSmallStrainNOSPD
eigenstrain_names = thermal
[../]
[./thermal_strain]
type = ComputeThermalExpansionEigenstrain
temperature = temp
thermal_expansion_coeff = 0.02
stress_free_temperature = 0.5
eigenstrain_name = thermal
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
nl_rel_tol = 1e-12
start_time = 0.0
end_time = 1.0
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
[Outputs]
exodus = true
file_base = generalized_plane_strain_NOSPD
[]
test/tests/meshgenerators/sidesets_between_subdomains_generator/sideset_between_subdomains.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
xmax = 3
ymax = 3
zmax = 3
nx = 3
ny = 3
nz = 3
[]
[./central_block]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 2
bottom_left = '1 1 1'
top_right = '2 2 2'
[]
[./central_boundary]
type = SideSetsBetweenSubdomainsGenerator
input = central_block
master_block = 2
paired_block = 0
new_boundary = 7
[]
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/mortar_tm/2drz/ad_frictionless_first/small.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'small'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./corner]
type = ExtraNodesetGenerator
input = block_rename
coord = '0 -10.0'
new_boundary = point
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = corner
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
use_automatic_differentiation = true
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
[../]
[./plank]
use_automatic_differentiation = true
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = block_right
value = 0
[../]
[./right_y]
type = ADFunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ADComputeLinearElasticStress
block = 'plank block'
[../]
[./swell]
type = ADComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/transfers/multiapp_userobject_transfer/two_pipe_master.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 3
xmin = 0
xmax = 5
nx = 5
ymin = 0
ymax = 5
ny = 5
zmin = 0
zmax = 5
nz = 5
[]
[./blocks]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '1 1 0'
top_right = '4 4 5'
[../]
[]
[AuxVariables]
[./from_sub_app_var]
order = CONSTANT
family = MONOMIAL
block = 1
initial_condition = 0
[../]
[]
[Variables]
[u]
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[td]
type = TimeDerivative
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = front
value = -1
[]
[right]
type = DirichletBC
variable = u
boundary = back
value = 1
[]
[]
[Executioner]
type = Transient
num_steps = 2
dt = 5
solve_type = 'NEWTON'
l_tol = 1e-8
nl_rel_tol = 1e-10
[]
[Outputs]
exodus = true
execute_on = final
[]
[MultiApps]
[sub_app]
type = TransientMultiApp
positions = '0 0 0'
input_files = two_pipe_sub.i
app_type = MooseTestApp
execute_on = TIMESTEP_END
[]
[]
[Transfers]
[layered_transfer_from_sub_app]
type = MultiAppUserObjectTransfer
direction = from_multiapp
user_object = sub_app_uo
variable = from_sub_app_var
multi_app = sub_app
displaced_source_mesh = true
skip_bounding_box_check = true
[]
[]
modules/combined/test/tests/mortar_tm/2d/ad_frictionless_fir/finite.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'finite'
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
use_automatic_differentiation = true
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = ADFunctionDirichletBC
variable = disp_x
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = ADFunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ADComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/meshgenerators/final_generator/final_linear.i
[Mesh]
final_generator = subdomain_lower
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
xmax = 1
ymax = 1
#uniform_refine = 2
[]
[./subdomain_lower]
type = SubdomainBoundingBoxGenerator
input = gmg
bottom_left = '0.2 0.2 0'
block_id = 1
top_right = '0.4 0.4 0'
[]
# This generator won't be executed because of the "final_generator" parameter
[./scale]
type = TransformGenerator
input = subdomain_lower
transform = SCALE
vector_value ='1e2 1e2 1e2'
[]
[]
modules/peridynamics/test/tests/auxkernels/planestrain_thermomechanics_ranktwotensor_OSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
temperature = temp
poissons_ratio = 0.3
youngs_modulus = 1e6
thermal_expansion_coeff = 0.0002
stress_free_temperature = 0.0
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 8
ny = 8
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./temp]
order = FIRST
family = LAGRANGE
[../]
[./tstrain_xx]
order = FIRST
family = LAGRANGE
[../]
[./tstrain_yy]
order = FIRST
family = LAGRANGE
[../]
[./tstrain_zz]
order = FIRST
family = LAGRANGE
[../]
[./tstrain_xy]
order = FIRST
family = LAGRANGE
[../]
[./mstrain_xx]
order = FIRST
family = LAGRANGE
[../]
[./mstrain_yy]
order = FIRST
family = LAGRANGE
[../]
[./mstrain_zz]
order = FIRST
family = LAGRANGE
[../]
[./mstrain_xy]
order = FIRST
family = LAGRANGE
[../]
[./stress_xx]
order = FIRST
family = LAGRANGE
[../]
[./stress_yy]
order = FIRST
family = LAGRANGE
[../]
[./stress_zz]
order = FIRST
family = LAGRANGE
[../]
[./stress_xy]
order = FIRST
family = LAGRANGE
[../]
[./von_mises]
order = FIRST
family = LAGRANGE
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = ORDINARY_STATE
[../]
[]
[AuxKernels]
[./tempfuncaux]
type = FunctionAux
variable = temp
function = tempfunc
use_displaced_mesh = false
[../]
[./tstrain_xx]
type = NodalRankTwoPD
variable = tstrain_xx
rank_two_tensor = total_strain
output_type = component
index_i = 0
index_j = 0
[../]
[./tstrain_yy]
type = NodalRankTwoPD
variable = tstrain_yy
rank_two_tensor = total_strain
output_type = component
index_i = 1
index_j = 1
[../]
[./tstrain_zz]
type = NodalRankTwoPD
variable = tstrain_zz
rank_two_tensor = total_strain
output_type = component
index_i = 2
index_j = 2
[../]
[./tstrain_xy]
type = NodalRankTwoPD
variable = tstrain_xy
rank_two_tensor = total_strain
output_type = component
index_i = 0
index_j = 1
[../]
[./mstrain_xx]
type = NodalRankTwoPD
variable = mstrain_xx
rank_two_tensor = mechanical_strain
output_type = component
index_i = 0
index_j = 0
[../]
[./mstrain_yy]
type = NodalRankTwoPD
variable = mstrain_yy
rank_two_tensor = mechanical_strain
output_type = component
index_i = 1
index_j = 1
[../]
[./mstrain_zz]
type = NodalRankTwoPD
variable = mstrain_zz
rank_two_tensor = mechanical_strain
output_type = component
index_i = 2
index_j = 2
[../]
[./mstrain_xy]
type = NodalRankTwoPD
variable = mstrain_xy
rank_two_tensor = mechanical_strain
output_type = component
index_i = 0
index_j = 1
[../]
[./stress_xx]
type = NodalRankTwoPD
variable = stress_xx
rank_two_tensor = stress
output_type = component
index_i = 0
index_j = 0
[../]
[./stress_yy]
type = NodalRankTwoPD
variable = stress_yy
rank_two_tensor = stress
output_type = component
index_i = 1
index_j = 1
[../]
[./stress_zz]
type = NodalRankTwoPD
variable = stress_zz
rank_two_tensor = stress
output_type = component
index_i = 2
index_j = 2
[../]
[./stress_xy]
type = NodalRankTwoPD
variable = stress_xy
rank_two_tensor = stress
output_type = component
index_i = 0
index_j = 1
[../]
[./vonmises]
type = NodalRankTwoPD
variable = von_mises
rank_two_tensor = stress
output_type = scalar
scalar_type = VonMisesStress
[../]
[]
[Functions]
[./tempfunc]
type = ParsedFunction
value = 'x*x+y*y'
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
boundary = 1003
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = 1000
variable = disp_y
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialOSPD
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0.0
end_time = 1.0
[]
[Outputs]
exodus = true
file_base = planestrain_thermomechanics_ranktwotensor_OSPD
[]
test/tests/meshgenerators/sidesets_between_subdomains_generator/sideset_between_vector_subdomains_generator.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
nz = 0
zmin = 0
zmax = 0
elem_type = QUAD4
[]
[./subdomain_id]
type = ElementSubdomainIDGenerator
input = gmg
subdomain_ids = '0 0 0 0
1 1 1 3
2 2 3 3
1 2 3 3'
[]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain_id
master_block = '0 1'
paired_block = '2 3'
new_boundary = 'in_between'
[]
[./emperty_interface]
type = SideSetsBetweenSubdomainsGenerator
input = interface
master_block = '0'
paired_block = '2'
new_boundary = 'not_in_mesh'
[]
[]
[Outputs]
exodus = true
[]
test/tests/interfacekernels/2d_interface/vector_2d.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
xmax = 2
ny = 2
ymax = 2
elem_type = QUAD9
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 1 0'
block_id = 1
[../]
[./break_boundary]
type = BreakBoundaryOnSubdomainGenerator
input = subdomain1
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = break_boundary
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[]
[Variables]
[./u]
order = FIRST
family = NEDELEC_ONE
block = 0
[../]
[./v]
order = FIRST
family = NEDELEC_ONE
block = 1
[../]
[]
[Kernels]
[./curl_u_plus_u]
type = VectorFEWave
variable = u
x_forcing_func = 1
y_forcing_func = 1
z_forcing_func = 1
block = 0
[../]
[./curl_v_plus_v]
type = VectorFEWave
variable = v
block = 1
[../]
[]
[InterfaceKernels]
[./parallel]
type = VectorPenaltyInterfaceDiffusion
variable = u
neighbor_var = v
boundary = master0_interface
penalty = 1e6
[../]
[]
[BCs]
# Natural condition of VectorFEWave weak form is curl(u) = 0, curl(v) = 0
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
[]
[Outputs]
exodus = true
print_linear_residuals = true
[]
modules/peridynamics/test/tests/jacobian_check/2D_mechanics_FNOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
full_jacobian = true
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = NONORDINARY_STATE
stabilization = FORCE
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.0
[../]
[./strain]
type = ComputeForceStabilizedSmallStrainNOSPD
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
modules/tensor_mechanics/test/tests/shell/static/plate_bending2.i
# Shell element verification test from Abaqus verification manual 1.3.13
# A 40 m x 20 m x 1 m plate that has E = 1000 Pa and Poisson's ratio = 0.3
# is subjected to the following boundary/loading conditions. A single shell
# element is used to model the plate.
# disp_z = 0 at vertices A (0, 0), B (40, 0) and D (20, 0).
# disp_x and disp_y are zero at all four vertices.
# F_z = -2.0 N at vertex C (40, 20).
# M_x = 20.0 Nm at vertices A and B (bottom boundary)
# M_x = -20.0 Nm at vertices C and D (top boundary)
# M_y = 10.0 Nm at vertices B and C (right boundary)
# M_y = -10.0 Nm at vertices A and D (left boundary)
# The disp_z at vertex C is -12.54 m using S4 elements in Abaqus.
# The solution obtained using Moose is -12.519 m with a relative error
# of 0.16%.
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 1
ny = 1
xmin = 0.0
xmax = 40.0
ymin = 0.0
ymax = 20.0
[../]
[./c_node]
type = ExtraNodesetGenerator
input = gmg
new_boundary = 100
coord = '40.0 20.0'
[../]
[]
[Variables]
[./disp_x]
order = FIRST
family = LAGRANGE
[../]
[./disp_y]
order = FIRST
family = LAGRANGE
[../]
[./disp_z]
order = FIRST
family = LAGRANGE
[../]
[./rot_x]
order = FIRST
family = LAGRANGE
[../]
[./rot_y]
order = FIRST
family = LAGRANGE
[../]
[]
[BCs]
[./simply_support_x]
type = DirichletBC
variable = disp_x
boundary = 'right top bottom left'
value = 0.0
[../]
[./simply_support_y]
type = DirichletBC
variable = disp_y
boundary = 'right top bottom left'
value = 0.0
[../]
[./simply_support_z]
type = DirichletBC
variable = disp_z
boundary = 'bottom left'
value = 0.0
[../]
[]
[NodalKernels]
[./force_C]
type = ConstantRate
variable = disp_z
boundary = 100
rate = -2.0
[../]
[./Mx_AB]
type = ConstantRate
variable = rot_x
boundary = bottom
rate = 20.0
[../]
[./Mx_CD]
type = ConstantRate
variable = rot_x
boundary = top
rate = -20.0
[../]
[./My_BC]
type = ConstantRate
variable = rot_y
boundary = right
rate = 10.0
[../]
[./My_AD]
type = ConstantRate
variable = rot_y
boundary = left
rate = -10.0
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
line_search = 'none'
#nl_max_its = 2
nl_rel_tol = 1e-10
nl_abs_tol = 6e-6
dt = 1.0
dtmin = 1.0
end_time = 3
[]
[Kernels]
[./solid_disp_x]
type = ADStressDivergenceShell
block = '0'
component = 0
variable = disp_x
through_thickness_order = SECOND
[../]
[./solid_disp_y]
type = ADStressDivergenceShell
block = '0'
component = 1
variable = disp_y
through_thickness_order = SECOND
[../]
[./solid_disp_z]
type = ADStressDivergenceShell
block = '0'
component = 2
variable = disp_z
through_thickness_order = SECOND
[../]
[./solid_rot_x]
type = ADStressDivergenceShell
block = '0'
component = 3
variable = rot_x
through_thickness_order = SECOND
[../]
[./solid_rot_y]
type = ADStressDivergenceShell
block = '0'
component = 4
variable = rot_y
through_thickness_order = SECOND
[../]
[]
[Materials]
[./elasticity]
type = ADComputeIsotropicElasticityTensorShell
youngs_modulus = 1e3
poissons_ratio = 0.3
block = 0
through_thickness_order = SECOND
[../]
[./strain]
type = ADComputeIncrementalShellStrain
block = '0'
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y'
thickness = 1.0
through_thickness_order = SECOND
[../]
[./stress]
type = ADComputeShellStress
block = 0
through_thickness_order = SECOND
[../]
[]
[Postprocessors]
[./disp_z2]
type = PointValue
point = '40.0 20.0 0.0'
variable = disp_z
[../]
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/mortar_tm/2drz/ad_frictionless_first/finite.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'finite'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
use_automatic_differentiation = true
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
[../]
[./plank]
use_automatic_differentiation = true
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = block_right
value = 0
[../]
[./right_y]
type = ADFunctionDirichletBC
variable = disp_y
preset = false
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ADComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[./swell]
type = ADComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/tensor_mechanics/test/tests/thermal_expansion_function/dilatation.i
# This test checks the thermal expansion calculated via an dilatation function.
# The coefficient is selected so as to result in a 1e-4 strain in the x-axis, and to cross over
# from positive to negative strain.
[Mesh]
[./gen]
type = GeneratedMeshGenerator
dim = 3
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[AuxVariables]
[./temp]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
add_variables = true
eigenstrain_names = eigenstrain
generate_output = 'strain_xx strain_yy strain_zz'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = back
value = 0.0
[../]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
function = '1 + t'
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./thermal_expansion_strain]
type = ComputeDilatationThermalExpansionFunctionEigenstrain
dilatation_function = cte_dilatation
stress_free_temperature = 1.5
temperature = temp
eigenstrain_name = eigenstrain
[../]
[]
[Functions]
[./cte_dilatation]
type = PiecewiseLinear
x = '1 2'
y = '-1e-4 1e-4'
[../]
[]
[Postprocessors]
[./disp_x_max]
type = SideAverageValue
variable = disp_x
boundary = right
[../]
[./temp_avg]
type = ElementAverageValue
variable = temp
[../]
[]
[Executioner]
type = Transient
end_time = 1.0
dt = 0.1
[]
[Outputs]
csv = true
[]
test/tests/meshgenerators/bounding_box_nodeset_generator/boundingbox_nodeset_inside.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
parallel_type = replicated
[]
[./nodeset]
type = BoundingBoxNodeSetGenerator
input = gmg
new_boundary = middle_node
top_right = '1.1 1.1 0'
bottom_left = '0.49 0.49 0'
[]
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/plane_stress/weak_planestress_NOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
out_of_plane_strain = strain_zz
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 8
ny = 8
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./strain_zz]
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1003
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1003
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 1001
value = 0.001
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = NONORDINARY_STATE
[../]
[]
[Kernels]
[./strain_zz]
type = WeakPlaneStressNOSPD
variable = strain_zz
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2.1e8
poissons_ratio = 0.3
[../]
[./strain]
type = ComputePlaneSmallStrainNOSPD
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
nl_rel_tol = 1e-12
start_time = 0
end_time = 1
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
[Outputs]
file_base = weak_planestress_NOSPD
exodus = true
[]
modules/peridynamics/test/tests/generalized_plane_strain/out_of_plane_pressure_OSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
scalar_out_of_plane_strain = scalar_strain_zz
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./scalar_strain_zz]
order = FIRST
family = SCALAR
[../]
[]
[AuxVariables]
[./stress_zz]
order = FIRST
family = LAGRANGE
[../]
[]
[Modules]
[./Peridynamics/Mechanics]
[./Master]
[./all]
formulation = ORDINARY_STATE
[../]
[../]
[./GeneralizedPlaneStrain]
[./all]
formulation = ORDINARY_STATE
out_of_plane_stress_variable = stress_zz
out_of_plane_pressure = pressure_function
factor = 1e5
[../]
[../]
[../]
[]
[AuxKernels]
[./stress_zz]
type = NodalRankTwoPD
variable = stress_zz
poissons_ratio = 0.3
youngs_modulus = 1e6
rank_two_tensor = stress
output_type = component
index_i = 2
index_j = 2
[../]
[]
[Postprocessors]
[./react_z]
type = NodalVariableIntegralPD
variable = stress_zz
[../]
[]
[Functions]
[./pressure_function]
type = PiecewiseLinear
x = '0 1'
y = '0 1'
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
boundary = 1003
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = 1000
variable = disp_y
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialOSPD
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0.0
end_time = 1.0
[]
[Outputs]
exodus = true
file_base = out_of_plane_pressure_OSPD
[]
test/tests/meshgenerators/final_generator/final_multi_trees.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
xmax = 1
ymax = 1
[]
[./subdomain_lower]
type = SubdomainBoundingBoxGenerator
input = gmg
bottom_left = '0.2 0.2 0'
block_id = 1
top_right = '0.4 0.4 0'
[]
# Independent Tree of Generators
[./gmg2]
type = GeneratedMeshGenerator
dim = 2
nx = 5
ny = 5
xmax = 1
ymax = 1
[]
[./subdomain_upper]
type = SubdomainBoundingBoxGenerator
input = gmg2
bottom_left = '0.6 0.6 0'
block_id = 1
top_right = '0.8 0.8 0'
[]
[]
test/tests/meshgenerators/block_deletion_generator/block_deletion_test5.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
xmin = 0
xmax = 4
ymin = 0
ymax = 4
[]
[./SubdomainBoundingBox1]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '0 0 0'
top_right = '1 2 1'
[../]
[./SubdomainBoundingBox2]
type = SubdomainBoundingBoxGenerator
input = SubdomainBoundingBox1
block_id = 1
bottom_left = '1 1 0'
top_right = '3 3 1'
[../]
[./ed0]
type = BlockDeletionGenerator
block_id = 1
input = SubdomainBoundingBox2
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = bottom
value = 1
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 10
dt = 10
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/inclined_bc/inclined_bc_2d.i
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 8
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 2.0
elem_type = QUAD4
[]
[rotate]
type = TransformGenerator
transform = ROTATE
vector_value = '0 0 -60'
input = generated_mesh
[]
[]
[Modules/TensorMechanics/Master/All]
strain = FINITE
add_variables = true
[]
[BCs]
[./Pressure]
[./top]
boundary = top
function = '-1000*t'
[../]
[../]
[./InclinedNoDisplacementBC]
[./right]
boundary = right
penalty = 1.0e8
displacements = 'disp_x disp_y'
[../]
[./bottom]
boundary = bottom
penalty = 1.0e8
displacements = 'disp_x disp_y'
[../]
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
# controls for linear iterations
l_max_its = 10
l_tol = 1e-4
# controls for nonlinear iterations
nl_max_its = 100
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
# time control
start_time = 0.0
dt = 1
end_time = 5
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/gravity/grav01d.i
# Test illustrating that PorousFlow allows block-restricted relative permeabilities and capillarities
# and automatically adds appropriate Joiners.
# Physically, this test is checking that gravity head is established
# for 1phase, vanGenuchten, constant fluid-bulk, constant viscosity, constant permeability, Corey relative perm
# For better agreement with the analytical solution (ana_pp), just increase nx
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
nx = 100
xmin = -1
xmax = 0
[]
[./define_block1]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '-1 -1 -1'
top_right = '-0.5 1 1'
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pp]
[./InitialCondition]
type = RandomIC
min = -1
max = 1
[../]
[../]
[]
[Kernels]
[./dot]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pp
[../]
[./flux0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = pp
gravity = '-1 0 0'
[../]
[]
[Functions]
[./ana_pp]
type = ParsedFunction
vars = 'g B p0 rho0'
vals = '1 2 -1 1'
value = '-B*log(exp(-p0/B)+g*rho0*x/B)' # expected pp at base
[../]
[]
[BCs]
[./z]
type = DirichletBC
variable = pp
boundary = right
value = -1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pp'
number_fluid_phases = 1
number_fluid_components = 1
[../]
[./pc_0]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1
[../]
[./pc_1]
type = PorousFlowCapillaryPressureVG
m = 0.6
alpha = 2
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
bulk_modulus = 2
density0 = 1
viscosity = 1
thermal_expansion = 0
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./ppss_0]
type = PorousFlow1PhaseP
block = 0
porepressure = pp
capillary_pressure = pc_0
[../]
[./ppss_1]
type = PorousFlow1PhaseP
block = 1
porepressure = pp
capillary_pressure = pc_1
[../]
[./massfrac]
type = PorousFlowMassFraction
[../]
[./simple_fluid]
type = PorousFlowSingleComponentFluid
fp = simple_fluid
phase = 0
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1 0 0 0 2 0 0 0 3'
[../]
[./relperm_0]
type = PorousFlowRelativePermeabilityCorey
block = 0
n = 1
phase = 0
[../]
[./relperm_1]
type = PorousFlowRelativePermeabilityCorey
block = 1
n = 2
phase = 0
[../]
[]
[Postprocessors]
[./pp_base]
type = PointValue
variable = pp
point = '-1 0 0'
[../]
[./pp_analytical]
type = FunctionValuePostprocessor
function = ana_pp
point = '-1 0 0'
[../]
[]
[Preconditioning]
active = andy
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
dt = 1E6
end_time = 1E6
[]
[Outputs]
execute_on = 'timestep_end'
file_base = grav01d
csv = true
[]
modules/peridynamics/test/tests/jacobian_check/2D_thermomechanics_smallstrain_NOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
temperature = temp
full_jacobian = true
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./temp]
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = NONORDINARY_STATE
eigenstrain_names = thermal
[../]
[]
[Kernels]
[./heat]
type = HeatConductionBPD
variable = temp
[../]
[]
[Materials]
[./linelast]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.0
[../]
[./strain]
type = ComputePlaneSmallStrainNOSPD
eigenstrain_names = thermal
[../]
[./thermal_strain]
type = ComputeThermalExpansionEigenstrain
thermal_expansion_coeff = 1e-5
stress_free_temperature = 0.5
eigenstrain_name = thermal
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./thermal]
type = ThermalConstantHorizonMaterialBPD
thermal_conductivity = 1.0
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
modules/heat_conduction/test/tests/heat_conduction/min_gap/min_gap.i
[Mesh]
type = MeshGeneratorMesh
displacements = 'disp_x disp_y'
[./left_gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 3
xmin = -3
xmax = 0
ymin = -5
ymax = 5
[../]
[./right_gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 3
xmin = 3
xmax = 6
ymin = -5
ymax = 5
[../]
[./left_and_right]
type = MeshCollectionGenerator
inputs = 'left_gen right_gen'
[../]
[./leftleft]
type = SideSetsAroundSubdomainGenerator
block = 0
new_boundary = leftleft
normal = '-1 0 0'
input = left_and_right
[../]
[./leftright]
type = SideSetsAroundSubdomainGenerator
block = 0
new_boundary = leftright
normal = '1 0 0'
input = leftleft
[../]
[./right]
type = SubdomainBoundingBoxGenerator
top_right = '6 5 0'
bottom_left = '3 -5 0'
block_id = 1
input = leftright
[../]
[./rightleft]
type = SideSetsAroundSubdomainGenerator
block = 1
new_boundary = rightleft
normal = '-1 0 0'
input = right
[../]
[./rightright]
type = SideSetsAroundSubdomainGenerator
block = 1
new_boundary = rightright
normal = '1 0 0'
input = rightleft
[../]
[]
[Variables]
[./temp]
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./disp_y]
[../]
[./gap_conductance]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Functions]
[./disp_x]
type = ParsedFunction
value = -3+t
[../]
[./left_temp]
type = ParsedFunction
value = 1000+t
[../]
[]
[Kernels]
[./hc]
type = HeatConduction
variable = temp
[../]
[]
[AuxKernels]
[./disp_x]
type = FunctionAux
block = 1
variable = disp_x
function = disp_x
execute_on = 'INITIAL TIMESTEP_END'
[../]
[./gap_conductivity]
type = MaterialRealAux
boundary = leftright
property = gap_conductance
variable = gap_conductance
execute_on = 'INITIAL TIMESTEP_END'
[../]
[]
[BCs]
[./left]
type = FunctionDirichletBC
variable = temp
boundary = leftleft
function = left_temp
[../]
[./right]
type = DirichletBC
variable = temp
boundary = rightright
value = 400
[../]
[]
[ThermalContact]
[./left_to_right]
slave = leftright
quadrature = true
master = rightleft
variable = temp
min_gap = 1
min_gap_order = 1
type = GapHeatTransfer
[../]
[]
[Materials]
[./hcm]
type = HeatConductionMaterial
block = '0 1'
specific_heat = 1
thermal_conductivity = 1
use_displaced_mesh = true
[../]
[]
[Postprocessors]
[./gap_conductance]
type = PointValue
point = '0 0 0'
variable = gap_conductance
[../]
[]
[Executioner]
type = Transient
dt = 0.25
end_time = 3.0
solve_type = 'PJFNK'
[]
[Outputs]
csv = true
execute_on = 'TIMESTEP_END'
[]
test/tests/materials/get_material_property_names/get_material_property_any_block_id.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[./add_subdomain]
input = gen
type = SubdomainBoundingBoxGenerator
top_right = '1 1 0'
bottom_left = '0 0.5 0'
block_id = 100
block_name = 'top'
[../]
[]
[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
[../]
[]
[Materials]
[./block]
type = GenericConstantMaterial
prop_names = block_prop
block = ANY_BLOCK_ID
prop_values = 12345
[../]
[]
[UserObjects]
[./get_material_block_names_test]
type = GetMaterialPropertyBoundaryBlockNamesTest
expected_names = 'ANY_BLOCK_ID'
property_name = 'block_prop'
test_type = 'block'
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/setup_interface_count/element.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[./right_side]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 0.5 0'
block_id = 1
[../]
[]
[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 = 10
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Postprocessors]
[./initial] # 1 per simulation
type = ElementSetupInterfaceCount
count_type = 'initial'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./timestep] # once per timestep
type = ElementSetupInterfaceCount
count_type = 'timestep'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./subdomain] # 2 on initial and 4 for each timestep
type = ElementSetupInterfaceCount
count_type = 'subdomain'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./initialize] # 1 for initial and 2 for each timestep
type = ElementSetupInterfaceCount
count_type = 'initialize'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./finalize] # 1 for initial and 2 for each timestep
type = ElementSetupInterfaceCount
count_type = 'finalize'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./execute] # 4 for initial and 8 for each timestep
type = ElementSetupInterfaceCount
count_type = 'execute'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./threadjoin] # 1 for initial and 2 for each timestep
type = ElementSetupInterfaceCount
count_type = 'threadjoin'
execute_on = 'initial timestep_begin timestep_end'
[../]
[]
[Outputs]
csv = true
[]
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
[../]
[]
test/tests/meshgenerators/block_deletion_generator/block_deletion_test1.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
xmin = 0
xmax = 4
ymin = 0
ymax = 4
[]
[./SubdomainBoundingBox]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '0 0 0'
top_right = '3 3 3'
[../]
[./ed0]
type = BlockDeletionGenerator
input = SubdomainBoundingBox
block_id = 1
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = bottom
value = 1
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 10
dt = 10
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/fluidstate/waterncg.i
# Tests correct calculation of properties in PorousFlowWaterNCG.
# This test is run three times, with the initial condition of z (the total mass
# fraction of NCG in all phases) varied to give either a single phase liquid, a
# single phase gas, or two phases.
[Mesh]
[./mesh]
type = GeneratedMeshGenerator
dim = 2
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pgas]
initial_condition = 1e6
[../]
[./z]
initial_condition = 0.005
[../]
[]
[AuxVariables]
[./pressure_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./pressure_water]
order = CONSTANT
family = MONOMIAL
[../]
[./saturation_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./saturation_water]
order = CONSTANT
family = MONOMIAL
[../]
[./density_water]
order = CONSTANT
family = MONOMIAL
[../]
[./density_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./viscosity_water]
order = CONSTANT
family = MONOMIAL
[../]
[./viscosity_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./enthalpy_water]
order = CONSTANT
family = MONOMIAL
[../]
[./enthalpy_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./internal_energy_water]
order = CONSTANT
family = MONOMIAL
[../]
[./internal_energy_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./x0_water]
order = CONSTANT
family = MONOMIAL
[../]
[./x0_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./x1_water]
order = CONSTANT
family = MONOMIAL
[../]
[./x1_gas]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./pressure_water]
type = PorousFlowPropertyAux
variable = pressure_water
property = pressure
phase = 0
execute_on = timestep_end
[../]
[./pressure_gas]
type = PorousFlowPropertyAux
variable = pressure_gas
property = pressure
phase = 1
execute_on = timestep_end
[../]
[./saturation_water]
type = PorousFlowPropertyAux
variable = saturation_water
property = saturation
phase = 0
execute_on = timestep_end
[../]
[./saturation_gas]
type = PorousFlowPropertyAux
variable = saturation_gas
property = saturation
phase = 1
execute_on = timestep_end
[../]
[./density_water]
type = PorousFlowPropertyAux
variable = density_water
property = density
phase = 0
execute_on = timestep_end
[../]
[./density_gas]
type = PorousFlowPropertyAux
variable = density_gas
property = density
phase = 1
execute_on = timestep_end
[../]
[./viscosity_water]
type = PorousFlowPropertyAux
variable = viscosity_water
property = viscosity
phase = 0
execute_on = timestep_end
[../]
[./viscosity_gas]
type = PorousFlowPropertyAux
variable = viscosity_gas
property = viscosity
phase = 1
execute_on = timestep_end
[../]
[./enthalpy_water]
type = PorousFlowPropertyAux
variable = enthalpy_water
property = enthalpy
phase = 0
execute_on = timestep_end
[../]
[./enthalpy_gas]
type = PorousFlowPropertyAux
variable = enthalpy_gas
property = enthalpy
phase = 1
execute_on = timestep_end
[../]
[./internal_energy_water]
type = PorousFlowPropertyAux
variable = internal_energy_water
property = internal_energy
phase = 0
execute_on = timestep_end
[../]
[./internal_energy_gas]
type = PorousFlowPropertyAux
variable = internal_energy_gas
property = internal_energy
phase = 1
execute_on = timestep_end
[../]
[./x1_water]
type = PorousFlowPropertyAux
variable = x1_water
property = mass_fraction
phase = 0
fluid_component = 1
execute_on = timestep_end
[../]
[./x1_gas]
type = PorousFlowPropertyAux
variable = x1_gas
property = mass_fraction
phase = 1
fluid_component = 1
execute_on = timestep_end
[../]
[./x0_water]
type = PorousFlowPropertyAux
variable = x0_water
property = mass_fraction
phase = 0
fluid_component = 0
execute_on = timestep_end
[../]
[./x0_gas]
type = PorousFlowPropertyAux
variable = x0_gas
property = mass_fraction
phase = 1
fluid_component = 0
execute_on = timestep_end
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
variable = pgas
fluid_component = 0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
variable = z
fluid_component = 1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pgas z'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[./fs]
type = PorousFlowWaterNCG
water_fp = water
gas_fp = co2
capillary_pressure = pc
[../]
[]
[Modules]
[./FluidProperties]
[./co2]
type = CO2FluidProperties
[../]
[./water]
type = Water97FluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = 50
[../]
[./waterncg]
type = PorousFlowFluidState
gas_porepressure = pgas
z = z
temperature_unit = Celsius
capillary_pressure = pc
fluid_state = fs
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-12 0 0 0 1e-12 0 0 0 1e-12'
[../]
[./relperm0]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[./relperm1]
type = PorousFlowRelativePermeabilityCorey
n = 3
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
dt = 1
end_time = 1
nl_abs_tol = 1e-12
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Postprocessors]
[./density_water]
type = ElementIntegralVariablePostprocessor
variable = density_water
[../]
[./density_gas]
type = ElementIntegralVariablePostprocessor
variable = density_gas
[../]
[./viscosity_water]
type = ElementIntegralVariablePostprocessor
variable = viscosity_water
[../]
[./viscosity_gas]
type = ElementIntegralVariablePostprocessor
variable = viscosity_gas
[../]
[./enthalpy_water]
type = ElementIntegralVariablePostprocessor
variable = enthalpy_water
[../]
[./enthalpy_gas]
type = ElementIntegralVariablePostprocessor
variable = enthalpy_gas
[../]
[./internal_energy_water]
type = ElementIntegralVariablePostprocessor
variable = internal_energy_water
[../]
[./internal_energy_gas]
type = ElementIntegralVariablePostprocessor
variable = internal_energy_gas
[../]
[./x1_water]
type = ElementIntegralVariablePostprocessor
variable = x1_water
[../]
[./x0_water]
type = ElementIntegralVariablePostprocessor
variable = x0_water
[../]
[./x1_gas]
type = ElementIntegralVariablePostprocessor
variable = x1_gas
[../]
[./x0_gas]
type = ElementIntegralVariablePostprocessor
variable = x0_gas
[../]
[./sg]
type = ElementIntegralVariablePostprocessor
variable = saturation_gas
[../]
[./sw]
type = ElementIntegralVariablePostprocessor
variable = saturation_water
[../]
[./pwater]
type = ElementIntegralVariablePostprocessor
variable = pressure_water
[../]
[./pgas]
type = ElementIntegralVariablePostprocessor
variable = pressure_gas
[../]
[./x0mass]
type = PorousFlowFluidMass
fluid_component = 0
phase = '0 1'
[../]
[./x1mass]
type = PorousFlowFluidMass
fluid_component = 1
phase = '0 1'
[../]
[]
[Outputs]
exodus = true
file_base = waterncg_liquid
[]
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/navier_stokes/test/tests/ins/mms/supg/supg_adv_dominated_mms.i
mu=1.5e-2
rho=2.5
[GlobalParams]
gravity = '0 0 0'
supg = true
convective_term = true
integrate_p_by_parts = false
transient_term = true
laplace = true
u = vel_x
v = vel_y
p = p
alpha = 1e0
order = SECOND
family = LAGRANGE
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1.0
ymin = 0
ymax = 1.0
elem_type = QUAD9
nx = 4
ny = 4
[]
[./corner_node]
type = ExtraNodesetGenerator
new_boundary = 'pinned_node'
nodes = '0'
input = gen
[../]
[]
[Variables]
[./vel_x]
[../]
[./vel_y]
[../]
[./p]
order = FIRST
[../]
[]
[Kernels]
# mass
[./mass]
type = INSMass
variable = p
[../]
[./x_time]
type = INSMomentumTimeDerivative
variable = vel_x
[../]
[./y_time]
type = INSMomentumTimeDerivative
variable = vel_y
[../]
# x-momentum, space
[./x_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_x
component = 0
forcing_func = vel_x_source_func
[../]
# y-momentum, space
[./y_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_y
component = 1
forcing_func = vel_y_source_func
[../]
[./p_source]
type = BodyForce
function = p_source_func
variable = p
[../]
[]
[BCs]
[./vel_x]
type = FunctionDirichletBC
boundary = 'left right top bottom'
function = vel_x_func
variable = vel_x
[../]
[./vel_y]
type = FunctionDirichletBC
boundary = 'left right top bottom'
function = vel_y_func
variable = vel_y
[../]
[./p]
type = FunctionDirichletBC
boundary = 'left right top bottom'
function = p_func
variable = p
[../]
[]
[Functions]
[./vel_x_source_func]
type = ParsedFunction
value = '-${mu}*(-0.028*pi^2*x^2*sin(0.2*pi*x*y) - 0.028*pi^2*y^2*sin(0.2*pi*x*y) - 0.1*pi^2*sin(0.5*pi*x) - 0.4*pi^2*sin(pi*y)) + ${rho}*(0.14*pi*x*cos(0.2*pi*x*y) + 0.4*pi*cos(pi*y))*(0.6*sin(0.8*pi*x) + 0.3*sin(0.3*pi*y) + 0.2*sin(0.3*pi*x*y) + 0.3) + ${rho}*(0.14*pi*y*cos(0.2*pi*x*y) + 0.2*pi*cos(0.5*pi*x))*(0.4*sin(0.5*pi*x) + 0.4*sin(pi*y) + 0.7*sin(0.2*pi*x*y) + 0.5) + 0.1*pi*y*cos(0.2*pi*x*y) + 0.25*pi*cos(0.5*pi*x)'
[../]
[./vel_y_source_func]
type = ParsedFunction
value = '-${mu}*(-0.018*pi^2*x^2*sin(0.3*pi*x*y) - 0.018*pi^2*y^2*sin(0.3*pi*x*y) - 0.384*pi^2*sin(0.8*pi*x) - 0.027*pi^2*sin(0.3*pi*y)) + ${rho}*(0.06*pi*x*cos(0.3*pi*x*y) + 0.09*pi*cos(0.3*pi*y))*(0.6*sin(0.8*pi*x) + 0.3*sin(0.3*pi*y) + 0.2*sin(0.3*pi*x*y) + 0.3) + ${rho}*(0.06*pi*y*cos(0.3*pi*x*y) + 0.48*pi*cos(0.8*pi*x))*(0.4*sin(0.5*pi*x) + 0.4*sin(pi*y) + 0.7*sin(0.2*pi*x*y) + 0.5) + 0.1*pi*x*cos(0.2*pi*x*y) + 0.3*pi*cos(0.3*pi*y)'
[../]
[./p_source_func]
type = ParsedFunction
value = '-0.06*pi*x*cos(0.3*pi*x*y) - 0.14*pi*y*cos(0.2*pi*x*y) - 0.2*pi*cos(0.5*pi*x) - 0.09*pi*cos(0.3*pi*y)'
[../]
[./vel_x_func]
type = ParsedFunction
value = '0.4*sin(0.5*pi*x) + 0.4*sin(pi*y) + 0.7*sin(0.2*pi*x*y) + 0.5'
[../]
[./vel_y_func]
type = ParsedFunction
value = '0.6*sin(0.8*pi*x) + 0.3*sin(0.3*pi*y) + 0.2*sin(0.3*pi*x*y) + 0.3'
[../]
[./p_func]
type = ParsedFunction
value = '0.5*sin(0.5*pi*x) + 1.0*sin(0.3*pi*y) + 0.5*sin(0.2*pi*x*y) + 0.5'
[../]
[./vxx_func]
type = ParsedFunction
value = '0.14*pi*y*cos(0.2*pi*x*y) + 0.2*pi*cos(0.5*pi*x)'
[../]
[]
[Materials]
[./const]
type = GenericConstantMaterial
block = 0
prop_names = 'rho mu'
prop_values = '${rho} ${mu}'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
solve_type = 'NEWTON'
[../]
[]
[Executioner]
type = Transient
num_steps = 10
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = 'none'
nl_rel_tol = 1e-8
nl_abs_tol = 1e-14
nl_max_its = 10
l_tol = 1e-6
l_max_its = 10
[./TimeStepper]
dt = .05
type = IterationAdaptiveDT
cutback_factor = 0.4
growth_factor = 1.2
optimal_iterations = 20
[../]
[]
[Outputs]
execute_on = 'final'
[./exodus]
type = Exodus
[../]
[./csv]
type = CSV
[../]
[]
[Postprocessors]
[./L2vel_x]
type = ElementL2Error
variable = vel_x
function = vel_x_func
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[./L2vel_y]
variable = vel_y
function = vel_y_func
type = ElementL2Error
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[./L2p]
variable = p
function = p_func
type = ElementL2Error
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[./L2vxx]
variable = vxx
function = vxx_func
type = ElementL2Error
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[]
[AuxVariables]
[./vxx]
family = MONOMIAL
order = FIRST
[../]
[]
[AuxKernels]
[./vxx]
type = VariableGradientComponent
component = x
variable = vxx
gradient_variable = vel_x
[../]
[]
modules/porous_flow/examples/tutorial/11_2D.i
# Two-phase borehole injection problem in RZ coordinates
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
xmin = 1.0
xmax = 10
bias_x = 1.4
ny = 3
ymin = -6
ymax = 6
[]
[./aquifer]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 -2 0'
top_right = '10 2 0'
[../]
[./injection_area]
type = ParsedGenerateSideset
combinatorial_geometry = 'x<1.0001'
included_subdomain_ids = 1
new_sideset_name = 'injection_area'
input = 'aquifer'
[../]
[./rename]
type = RenameBlockGenerator
old_block_id = '0 1'
new_block_name = 'caps aquifer'
input = 'injection_area'
[../]
[]
[Problem]
coord_type = RZ
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pwater pgas T disp_r'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
alpha = 1E-6
m = 0.6
[../]
[]
[GlobalParams]
displacements = 'disp_r disp_z'
gravity = '0 0 0'
biot_coefficient = 1.0
PorousFlowDictator = dictator
[]
[Variables]
[./pwater]
initial_condition = 20E6
[../]
[./pgas]
initial_condition = 20.1E6
[../]
[./T]
initial_condition = 330
scaling = 1E-5
[../]
[./disp_r]
scaling = 1E-5
[../]
[]
[Kernels]
[./mass_water_dot]
type = PorousFlowMassTimeDerivative
fluid_component = 0
use_displaced_mesh = false
variable = pwater
[../]
[./flux_water]
type = PorousFlowAdvectiveFlux
fluid_component = 0
use_displaced_mesh = false
variable = pwater
[../]
[./vol_strain_rate_water]
type = PorousFlowMassVolumetricExpansion
fluid_component = 0
use_displaced_mesh = false
variable = pwater
[../]
[./mass_co2_dot]
type = PorousFlowMassTimeDerivative
fluid_component = 1
use_displaced_mesh = false
variable = pgas
[../]
[./flux_co2]
type = PorousFlowAdvectiveFlux
fluid_component = 1
use_displaced_mesh = false
variable = pgas
[../]
[./vol_strain_rate_co2]
type = PorousFlowMassVolumetricExpansion
fluid_component = 1
use_displaced_mesh = false
variable = pgas
[../]
[./energy_dot]
type = PorousFlowEnergyTimeDerivative
use_displaced_mesh = false
variable = T
[../]
[./advection]
type = PorousFlowHeatAdvection
use_displaced_mesh = false
variable = T
[../]
[./conduction]
type = PorousFlowHeatConduction
use_displaced_mesh = false
variable = T
[../]
[./vol_strain_rate_heat]
type = PorousFlowHeatVolumetricExpansion
use_displaced_mesh = false
variable = T
[../]
[./grad_stress_r]
type = StressDivergenceRZTensors
temperature = T
variable = disp_r
thermal_eigenstrain_name = thermal_contribution
use_displaced_mesh = false
component = 0
[../]
[./poro_r]
type = PorousFlowEffectiveStressCoupling
variable = disp_r
use_displaced_mesh = false
component = 0
[../]
[]
[AuxVariables]
[./disp_z]
[../]
[./effective_fluid_pressure]
family = MONOMIAL
order = CONSTANT
[../]
[./mass_frac_phase0_species0]
initial_condition = 1 # all water in phase=0
[../]
[./mass_frac_phase1_species0]
initial_condition = 0 # no water in phase=1
[../]
[./sgas]
family = MONOMIAL
order = CONSTANT
[../]
[./swater]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_rr]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_tt]
family = MONOMIAL
order = CONSTANT
[../]
[./stress_zz]
family = MONOMIAL
order = CONSTANT
[../]
[./porosity]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./effective_fluid_pressure]
type = ParsedAux
args = 'pwater pgas swater sgas'
function = 'pwater * swater + pgas * sgas'
variable = effective_fluid_pressure
[../]
[./swater]
type = PorousFlowPropertyAux
variable = swater
property = saturation
phase = 0
execute_on = timestep_end
[../]
[./sgas]
type = PorousFlowPropertyAux
variable = sgas
property = saturation
phase = 1
execute_on = timestep_end
[../]
[./stress_rr_aux]
type = RankTwoAux
variable = stress_rr
rank_two_tensor = stress
index_i = 0
index_j = 0
[../]
[./stress_tt]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_tt
index_i = 2
index_j = 2
[../]
[./stress_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 1
index_j = 1
[../]
[./porosity]
type = PorousFlowPropertyAux
variable = porosity
property = porosity
execute_on = timestep_end
[../]
[]
[BCs]
[./pinned_top_bottom_r]
type = DirichletBC
variable = disp_r
value = 0
boundary = 'top bottom'
[../]
[./cavity_pressure_r]
type = Pressure
boundary = injection_area
variable = disp_r
component = 0
postprocessor = constrained_effective_fluid_pressure_at_wellbore
use_displaced_mesh = false
[../]
[./cold_co2]
type = DirichletBC
boundary = injection_area
variable = T
value = 290 # injection temperature
use_displaced_mesh = false
[../]
[./constant_co2_injection]
type = PorousFlowSink
boundary = injection_area
variable = pgas
fluid_phase = 1
flux_function = -1E-4
use_displaced_mesh = false
[../]
[./outer_water_removal]
type = PorousFlowPiecewiseLinearSink
boundary = right
variable = pwater
fluid_phase = 0
pt_vals = '0 1E9'
multipliers = '0 1E8'
PT_shift = 20E6
use_mobility = true
use_relperm = true
use_displaced_mesh = false
[../]
[./outer_co2_removal]
type = PorousFlowPiecewiseLinearSink
boundary = right
variable = pgas
fluid_phase = 1
pt_vals = '0 1E9'
multipliers = '0 1E8'
PT_shift = 20.1E6
use_mobility = true
use_relperm = true
use_displaced_mesh = false
[../]
[]
[Modules]
[./FluidProperties]
[./true_water]
type = Water97FluidProperties
[../]
[./tabulated_water]
type = TabulatedFluidProperties
fp = true_water
temperature_min = 275
pressure_max = 1E8
fluid_property_file = water97_tabulated_11.csv
[../]
[./true_co2]
type = CO2FluidProperties
[../]
[./tabulated_co2]
type = TabulatedFluidProperties
fp = true_co2
temperature_min = 275
pressure_max = 1E8
fluid_property_file = co2_tabulated_11.csv
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = T
[../]
[./saturation_calculator]
type = PorousFlow2PhasePP
phase0_porepressure = pwater
phase1_porepressure = pgas
capillary_pressure = pc
[../]
[./massfrac]
type = PorousFlowMassFraction
mass_fraction_vars = 'mass_frac_phase0_species0 mass_frac_phase1_species0'
[../]
[./water]
type = PorousFlowSingleComponentFluid
fp = tabulated_water
phase = 0
[../]
[./co2]
type = PorousFlowSingleComponentFluid
fp = tabulated_co2
phase = 1
[../]
[./relperm_water]
type = PorousFlowRelativePermeabilityCorey
n = 4
s_res = 0.1
sum_s_res = 0.2
phase = 0
[../]
[./relperm_co2]
type = PorousFlowRelativePermeabilityBC
nw_phase = true
lambda = 2
s_res = 0.1
sum_s_res = 0.2
phase = 1
[../]
[./porosity]
type = PorousFlowPorosity
fluid = true
mechanical = true
thermal = true
porosity_zero = 0.1
reference_temperature = 330
reference_porepressure = 20E6
thermal_expansion_coeff = 15E-6 # volumetric
solid_bulk = 8E9 # unimportant since biot = 1
[../]
[./permeability_aquifer]
type = PorousFlowPermeabilityKozenyCarman
block = aquifer
poroperm_function = kozeny_carman_phi0
phi0 = 0.1
n = 2
m = 2
k0 = 1E-12
[../]
[./permeability_caps]
type = PorousFlowPermeabilityKozenyCarman
block = caps
poroperm_function = kozeny_carman_phi0
phi0 = 0.1
n = 2
m = 2
k0 = 1E-15
k_anisotropy = '1 0 0 0 1 0 0 0 0.1'
[../]
[./rock_thermal_conductivity]
type = PorousFlowThermalConductivityIdeal
dry_thermal_conductivity = '2 0 0 0 2 0 0 0 2'
[../]
[./rock_internal_energy]
type = PorousFlowMatrixInternalEnergy
specific_heat_capacity = 1100
density = 2300
[../]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 5E9
poissons_ratio = 0.0
[../]
[./strain]
type = ComputeAxisymmetricRZSmallStrain
eigenstrain_names = 'thermal_contribution initial_stress'
[../]
[./thermal_contribution]
type = ComputeThermalExpansionEigenstrain
temperature = T
thermal_expansion_coeff = 5E-6 # this is the linear thermal expansion coefficient
eigenstrain_name = thermal_contribution
stress_free_temperature = 330
[../]
[./initial_strain]
type = ComputeEigenstrainFromInitialStress
initial_stress = '20E6 0 0 0 20E6 0 0 0 20E6'
eigenstrain_name = initial_stress
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./effective_fluid_pressure]
type = PorousFlowEffectiveFluidPressure
[../]
[./volumetric_strain]
type = PorousFlowVolumetricStrain
[../]
[]
[Postprocessors]
[./effective_fluid_pressure_at_wellbore]
type = PointValue
variable = effective_fluid_pressure
point = '1 0 0'
execute_on = timestep_begin
use_displaced_mesh = false
[../]
[./constrained_effective_fluid_pressure_at_wellbore]
type = FunctionValuePostprocessor
function = constrain_effective_fluid_pressure
execute_on = timestep_begin
[../]
[]
[Functions]
[./constrain_effective_fluid_pressure]
type = ParsedFunction
vars = effective_fluid_pressure_at_wellbore
vals = effective_fluid_pressure_at_wellbore
value = 'max(effective_fluid_pressure_at_wellbore, 20E6)'
[../]
[]
[Preconditioning]
active = basic
[./basic]
type = SMP
full = true
petsc_options = '-ksp_diagonal_scale -ksp_diagonal_scale_fix'
petsc_options_iname = '-pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = ' asm lu NONZERO 2'
[../]
[./preferred_but_might_not_be_installed]
type = SMP
full = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = ' lu mumps'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 1E3
[./TimeStepper]
type = IterationAdaptiveDT
dt = 1E3
growth_factor = 1.2
optimal_iterations = 10
[../]
nl_abs_tol = 1E-7
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/generalized_plane_strain/planestrain_prescribed_OSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
scalar_out_of_plane_strain = scalar_strain_zz
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./temp]
[../]
[./scalar_strain_zz]
order = FIRST
family = SCALAR
[../]
[./strain_zz]
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = ORDINARY_STATE
[../]
[]
[AuxKernels]
[./tempfuncaux]
type = FunctionAux
variable = temp
function = tempfunc
use_displaced_mesh = false
[../]
[./strain_zz]
type = NodalRankTwoPD
variable = strain_zz
rank_two_tensor = total_strain
output_type = component
index_i = 2
index_j = 2
[../]
[]
[AuxScalarKernels]
[./scalar_strain_zz]
type = FunctionScalarAux
variable = scalar_strain_zz
function = scalar_strain_zz_func
[../]
[]
[Functions]
[./tempfunc]
type = ParsedFunction
value = '(1 - x) * t'
[../]
[./scalar_strain_zz_func]
type = PiecewiseLinear
xy_data = '0 0
1 7.901e-5
2 1.103021e-2'
[../]
[]
[BCs]
[./bottom_x]
type = DirichletBC
boundary = 1000
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = 1000
variable = disp_y
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialOSPD
temperature = temp
thermal_expansion_coeff = 0.02
stress_free_temperature = 0.5
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0.0
end_time = 2.0
[]
[Outputs]
exodus = true
file_base = planestrain_prescribed_OSPD
[]
test/tests/materials/get_material_property_names/get_material_property_any_boundary_id.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[./add_subdomain]
input = gen
type = SubdomainBoundingBoxGenerator
top_right = '1 1 0'
bottom_left = '0 0.5 0'
block_id = 100
block_name = 'top'
[../]
[]
[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
[../]
[]
[Materials]
[./boundary]
type = GenericConstantMaterial
prop_names = boundary_prop
boundary = ANY_BOUNDARY_ID
prop_values = 54321
[../]
[]
[UserObjects]
[./get_material_boundary_names_test]
type = GetMaterialPropertyBoundaryBlockNamesTest
expected_names = 'ANY_BOUNDARY_ID'
property_name = 'boundary_prop'
test_type = 'boundary'
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/auxkernels/planestrain_thermomechanics_stretch_NOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
temperature = temp
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 8
ny = 8
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./temp]
order = FIRST
family = LAGRANGE
[../]
[./total_stretch]
order = CONSTANT
family = MONOMIAL
[../]
[./mechanical_stretch]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = NONORDINARY_STATE
eigenstrain_names = thermal_strain
[../]
[]
[AuxKernels]
[./tempfuncaux]
type = FunctionAux
variable = temp
function = tempfunc
use_displaced_mesh = false
[../]
[./total_stretch]
type = MaterialRealAux
variable = total_stretch
property = total_stretch
[../]
[./mechanical_stretch]
type = MaterialRealAux
variable = mechanical_stretch
property = mechanical_stretch
[../]
[]
[Functions]
[./tempfunc]
type = ParsedFunction
value = 'x*x+y*y'
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
boundary = 1003
preset = false
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = 1000
preset = false
variable = disp_y
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./strain]
type = ComputePlaneSmallStrainNOSPD
eigenstrain_names = thermal_strain
plane_strain = true
[../]
[./thermal_strain]
type = ComputeThermalExpansionEigenstrain
thermal_expansion_coeff = 0.0002
stress_free_temperature = 0.0
eigenstrain_name = thermal_strain
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
l_tol = 1e-8
nl_rel_tol = 1e-10
start_time = 0.0
end_time = 1.0
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
[Outputs]
exodus = true
file_base = planestrain_thermomechanics_stretch_NOSPD
[]
test/tests/transfers/multiapp_conservative_transfer/master_power_density.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmax = 1
ymax = 1
nx = 10
ny = 10
[]
[block1]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0.5 0 0'
top_right = '1 1 0'
[]
[]
[Variables]
[power_density]
[]
[]
[Functions]
[pwr_func]
type = ParsedFunction
value = '1e3*x*(1-x)+5e2'
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = power_density
[]
[coupledforce]
type = BodyForce
variable = power_density
function = pwr_func
[]
[]
[BCs]
[left]
type = DirichletBC
variable = power_density
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = power_density
boundary = right
value = 1e3
[]
[]
[AuxVariables]
[from_sub]
[]
[]
[Postprocessors]
[pwr0]
type = ElementIntegralVariablePostprocessor
block = 0
variable = power_density
execute_on = 'transfer nonlinear TIMESTEP_END'
[]
[pwr1]
type = ElementIntegralVariablePostprocessor
block = 1
variable = power_density
execute_on = 'transfer nonlinear TIMESTEP_END'
[]
[from_sub0]
type = ElementIntegralVariablePostprocessor
block = 0
variable = from_sub
execute_on = 'transfer nonlinear TIMESTEP_END'
[]
[from_sub1]
type = ElementIntegralVariablePostprocessor
block = 1
variable = from_sub
execute_on = 'transfer nonlinear TIMESTEP_END'
[]
[]
[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_power_density.i
positions = '0 0 0 0.5 0 0'
execute_on = timestep_end
[]
[]
[Transfers]
[to_sub]
type = MultiAppMeshFunctionTransfer
direction = to_multiapp
source_variable = power_density
variable = from_master
multi_app = sub
execute_on = timestep_end
# The following inputs specify what postprocessors should be conserved
# N pps are specified on the master side, where N is the number of subapps
# 1 pp is specified on the subapp side
from_postprocessors_to_be_preserved = 'pwr0 pwr1'
to_postprocessors_to_be_preserved = 'from_master_pp'
[]
[from_sub]
type = MultiAppMeshFunctionTransfer
direction = from_multiapp
source_variable = sink
variable = from_sub
multi_app = sub
execute_on = timestep_end
# The following inputs specify what postprocessors should be conserved
# N pps are specified on the master side, where N is the number of subapps
# 1 pp is specified on the subapp side
to_postprocessors_to_be_preserved = 'from_sub0 from_sub1'
from_postprocessors_to_be_preserved = 'sink'
[]
[]
[Outputs]
exodus = true
[]
test/tests/materials/discrete/recompute_warning.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 1
[]
[./left_domain]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '0.5 1 0'
block_id = 10
[../]
[]
[Variables]
[./u]
initial_condition = 2
[../]
[]
[Kernels]
[./diff]
type = MatDiffusionTest
variable = u
prop_name = 'p'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 2
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 3
[../]
[]
[Materials]
[./recompute_props]
type = GenericConstantMaterial
prop_names = 'f f_prime'
prop_values = '22 24'
block = 0
compute = true # the default, but should trigger a warning because newton is calling getMaterial on this
[../]
[./newton]
type = NewtonMaterial
block = 0
outputs = all
f_name = 'f'
f_prime_name = 'f_prime'
p_name = 'p'
material = recompute_props
max_iterations = 0
[../]
[./left]
type = GenericConstantMaterial
prop_names = 'f f_prime p'
prop_values = '1 0.5 1.2345'
block = 10
outputs = all
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[]
modules/peridynamics/test/tests/jacobian_check/2D_thermomechanics_OSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
temperature = temp
full_jacobian = true
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./temp]
initial_condition = 0.5
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = ORDINARY_STATE
[../]
[]
[Kernels]
[./heat]
type = HeatConductionBPD
variable = temp
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.0
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialOSPD
thermal_expansion_coeff = 0.02
stress_free_temperature = 0.5
[../]
[./thermal]
type = ThermalConstantHorizonMaterialBPD
thermal_conductivity = 1.0
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[]
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/tensor_mechanics/test/tests/notched_plastic_block/cmc_planar.i
# Uses an unsmoothed version of capped-Mohr-Coulomb (via ComputeMultiPlasticityStress with TensorMechanicsPlasticTensileMulti and TensorMechanicsPlasticMohrCoulombMulti) to simulate the following problem.
# A cubical block is notched around its equator.
# All of its outer surfaces have roller BCs, but the notched region is free to move as needed
# The block is initialised with a high hydrostatic tensile stress
# Without the notch, the BCs do not allow contraction of the block, and this stress configuration is admissible
# With the notch, however, the interior parts of the block are free to move in order to relieve stress, and this causes plastic failure
# The top surface is then pulled upwards (the bottom is fixed because of the roller BCs)
# This causes more failure
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 9
ny = 9
nz = 9
xmin = 0
xmax = 0.1
ymin = 0
ymax = 0.1
zmin = 0
zmax = 0.1
[]
[block_to_remove_xmin]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 -0.01 0.045'
top_right = '0.01 0.11 0.055'
location = INSIDE
block_id = 1
input = generated_mesh
[]
[block_to_remove_xmax]
type = SubdomainBoundingBoxGenerator
bottom_left = '0.09 -0.01 0.045'
top_right = '0.11 0.11 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_xmin
[]
[block_to_remove_ymin]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 -0.01 0.045'
top_right = '0.11 0.01 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_xmax
[]
[block_to_remove_ymax]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 0.09 0.045'
top_right = '0.11 0.11 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_ymin
[]
[remove_block]
type = BlockDeletionGenerator
block_id = 1
input = block_to_remove_ymax
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
incremental = true
generate_output = 'max_principal_stress mid_principal_stress min_principal_stress stress_zz'
eigenstrain_names = ini_stress
[../]
[]
[Postprocessors]
[./uz]
type = PointValue
point = '0 0 0.1'
use_displaced_mesh = false
variable = disp_z
[../]
[./s_zz]
type = ElementAverageValue
use_displaced_mesh = false
variable = stress_zz
[../]
[./num_res]
type = NumResidualEvaluations
[../]
[./nr_its]
type = ElementAverageValue
variable = num_iters
[../]
[./max_nr_its]
type = ElementExtremeValue
variable = num_iters
[../]
[./runtime]
type = PerfGraphData
data_type = TOTAL
section_name = 'Root'
[../]
[]
[BCs]
# back=zmin, front=zmax, bottom=ymin, top=ymax, left=xmin, right=xmax
[./xmin_xzero]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./xmax_xzero]
type = DirichletBC
variable = disp_x
boundary = right
value = 0.0
[../]
[./ymin_yzero]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./ymax_yzero]
type = DirichletBC
variable = disp_y
boundary = top
value = 0.0
[../]
[./zmin_zzero]
type = DirichletBC
variable = disp_z
boundary = back
value = '0'
[../]
[./zmax_disp]
type = FunctionDirichletBC
variable = disp_z
boundary = front
function = '1E-6*max(t,0)'
[../]
[]
[AuxVariables]
[./mc_int]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain]
order = CONSTANT
family = MONOMIAL
[../]
[./num_iters]
order = CONSTANT
family = MONOMIAL
[../]
[./yield_fcn]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./mc_int_auxk]
type = MaterialStdVectorAux
index = 0
property = plastic_internal_parameter
variable = mc_int
[../]
[./plastic_strain_aux]
type = MaterialRankTwoTensorAux
i = 2
j = 2
property = plastic_strain
variable = plastic_strain
[../]
[./num_iters_auxk] # cannot use plastic_NR_iterations directly as this is zero, since no NR iterations are actually used, since we use a custom algorithm to do the return
type = ParsedAux
args = plastic_strain
function = 'if(plastic_strain>0,1,0)'
variable = num_iters
[../]
[./yield_fcn_auxk]
type = MaterialStdVectorAux
index = 0
property = plastic_yield_function
variable = yield_fcn
[../]
[]
[UserObjects]
[./ts]
type = TensorMechanicsHardeningConstant
value = 3E6
[../]
[./tensile]
type = TensorMechanicsPlasticTensileMulti
tensile_strength = ts
yield_function_tolerance = 1
internal_constraint_tolerance = 1.0E-6
#shift = 1
use_custom_returnMap = false
use_custom_cto = false
[../]
[./mc_coh]
type = TensorMechanicsHardeningConstant
value = 5E6
[../]
[./mc_phi]
type = TensorMechanicsHardeningConstant
value = 35
convert_to_radians = true
[../]
[./mc_psi]
type = TensorMechanicsHardeningConstant
value = 10
convert_to_radians = true
[../]
[./mc]
type = TensorMechanicsPlasticMohrCoulombMulti
cohesion = mc_coh
friction_angle = mc_phi
dilation_angle = mc_psi
yield_function_tolerance = 1E-5
internal_constraint_tolerance = 1E-11
use_custom_returnMap = false
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 16E9
poissons_ratio = 0.25
[../]
[./mc]
type = ComputeMultiPlasticityStress
ep_plastic_tolerance = 1E-6
plastic_models = 'tensile mc'
max_NR_iterations = 50
specialIC = rock
deactivation_scheme = safe_to_dumb
debug_fspb = crash
[../]
[./strain_from_initial_stress]
type = ComputeEigenstrainFromInitialStress
initial_stress = '2.5E6 0 0 0 2.5E6 0 0 0 2.5E6'
eigenstrain_name = ini_stress
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
start_time = -1
end_time = 10
dt = 1
solve_type = NEWTON
type = Transient
l_tol = 1E-2
nl_abs_tol = 1E-5
nl_rel_tol = 1E-7
l_max_its = 200
nl_max_its = 400
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
petsc_options_value = ' asm 2 lu gmres 200'
[]
[Outputs]
file_base = cmc_planar
perf_graph = true
exodus = false
csv = true
[]
modules/tensor_mechanics/test/tests/notched_plastic_block/cmc_smooth.i
# Uses a multi-smoothed version of capped-Mohr-Coulomb (via CappedMohrCoulombStressUpdate and ComputeMultipleInelasticStress) to simulate the following problem.
# A cubical block is notched around its equator.
# All of its outer surfaces have roller BCs, but the notched region is free to move as needed
# The block is initialised with a high hydrostatic tensile stress
# Without the notch, the BCs do not allow contraction of the block, and this stress configuration is admissible
# With the notch, however, the interior parts of the block are free to move in order to relieve stress, and this causes plastic failure
# The top surface is then pulled upwards (the bottom is fixed because of the roller BCs)
# This causes more failure
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 9
ny = 9
nz = 9
xmin = 0
xmax = 0.1
ymin = 0
ymax = 0.1
zmin = 0
zmax = 0.1
[]
[block_to_remove_xmin]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 -0.01 0.045'
top_right = '0.01 0.11 0.055'
location = INSIDE
block_id = 1
input = generated_mesh
[]
[block_to_remove_xmax]
type = SubdomainBoundingBoxGenerator
bottom_left = '0.09 -0.01 0.045'
top_right = '0.11 0.11 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_xmin
[]
[block_to_remove_ymin]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 -0.01 0.045'
top_right = '0.11 0.01 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_xmax
[]
[block_to_remove_ymax]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 0.09 0.045'
top_right = '0.11 0.11 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_ymin
[]
[remove_block]
type = BlockDeletionGenerator
block_id = 1
input = block_to_remove_ymax
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
incremental = true
generate_output = 'max_principal_stress mid_principal_stress min_principal_stress stress_zz'
eigenstrain_names = ini_stress
[../]
[]
[Postprocessors]
[./uz]
type = PointValue
point = '0 0 0.1'
use_displaced_mesh = false
variable = disp_z
[../]
[./s_zz]
type = ElementAverageValue
use_displaced_mesh = false
variable = stress_zz
[../]
[./num_res]
type = NumResidualEvaluations
[../]
[./nr_its] # num_iters is the average number of NR iterations encountered per element in this timestep
type = ElementAverageValue
variable = num_iters
[../]
[./max_nr_its] # max_num_iters is the maximum number of NR iterations encountered in the element during the whole simulation
type = ElementExtremeValue
variable = max_num_iters
[../]
[./runtime]
type = PerfGraphData
data_type = TOTAL
section_name = 'Root'
[../]
[]
[BCs]
# back=zmin, front=zmax, bottom=ymin, top=ymax, left=xmin, right=xmax
[./xmin_xzero]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./xmax_xzero]
type = DirichletBC
variable = disp_x
boundary = right
value = 0.0
[../]
[./ymin_yzero]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./ymax_yzero]
type = DirichletBC
variable = disp_y
boundary = top
value = 0.0
[../]
[./zmin_zzero]
type = DirichletBC
variable = disp_z
boundary = back
value = '0'
[../]
[./zmax_disp]
type = FunctionDirichletBC
variable = disp_z
boundary = front
function = '1E-6*max(t,0)'
[../]
[]
[AuxVariables]
[./mc_int]
order = CONSTANT
family = MONOMIAL
[../]
[./num_iters]
order = CONSTANT
family = MONOMIAL
[../]
[./max_num_iters]
order = CONSTANT
family = MONOMIAL
[../]
[./yield_fcn]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./mc_int_auxk]
type = MaterialStdVectorAux
index = 0
property = plastic_internal_parameter
variable = mc_int
[../]
[./num_iters_auxk]
type = MaterialRealAux
property = plastic_NR_iterations
variable = num_iters
[../]
[./max_num_iters_auxk]
type = MaterialRealAux
property = max_plastic_NR_iterations
variable = max_num_iters
[../]
[./yield_fcn_auxk]
type = MaterialStdVectorAux
index = 0
property = plastic_yield_function
variable = yield_fcn
[../]
[]
[UserObjects]
[./ts]
type = TensorMechanicsHardeningConstant
value = 3E6
[../]
[./cs]
type = TensorMechanicsHardeningConstant
value = 1E16
[../]
[./mc_coh]
type = TensorMechanicsHardeningConstant
value = 5E6
[../]
[./mc_phi]
type = TensorMechanicsHardeningConstant
value = 35
convert_to_radians = true
[../]
[./mc_psi]
type = TensorMechanicsHardeningConstant
value = 10
convert_to_radians = true
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 16E9
poissons_ratio = 0.25
[../]
[./mc]
type = CappedMohrCoulombStressUpdate
tensile_strength = ts
compressive_strength = cs
cohesion = mc_coh
friction_angle = mc_phi
dilation_angle = mc_psi
smoothing_tol = 0.2E6
yield_function_tol = 1E-5
perfect_guess = false # this is so we can observe some Newton-Raphson iterations, for comparison with other models, and it is not optimal in any real-life simulations
[../]
[./stress]
type = ComputeMultipleInelasticStress
inelastic_models = mc
perform_finite_strain_rotations = false
[../]
[./strain_from_initial_stress]
type = ComputeEigenstrainFromInitialStress
initial_stress = '2.5E6 0 0 0 2.5E6 0 0 0 2.5E6'
eigenstrain_name = ini_stress
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
start_time = -1
end_time = 10
dt = 1
solve_type = NEWTON
type = Transient
l_tol = 1E-2
nl_abs_tol = 1E-5
nl_rel_tol = 1E-7
l_max_its = 200
nl_max_its = 400
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
petsc_options_value = ' asm 2 lu gmres 200'
[]
[Outputs]
file_base = cmc_smooth
perf_graph = true
exodus = false
csv = true
[]
test/tests/meshgenerators/block_deletion_generator/block_deletion_test4.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 4
ny = 4
nz = 1
xmin = 0
xmax = 4
ymin = 0
ymax = 4
zmin = 0
zmax = 1
[]
[./SubdomainBoundingBox]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '1 1 0'
top_right = '3 3 1'
[../]
[./ed0]
type = BlockDeletionGenerator
block_id = 1
input = SubdomainBoundingBox
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = bottom
value = 1
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 10
dt = 10
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/simple_tests/2D_finite_strain_NOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 8
ny = 8
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1003
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1003
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = 1001
function = '0.01*t'
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = NONORDINARY_STATE
strain = FINITE
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2.1e8
poissons_ratio = 0.3
[../]
[./strain]
type = ComputeFiniteStrainNOSPD
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0
end_time = 1
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
[Outputs]
file_base = 2D_finite_strain_NOSPD
exodus = true
[]
test/tests/interfacekernels/1d_interface/mixed_shapes.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
nx = 10
xmax = 2
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '1.0 0 0'
block_id = 1
top_right = '2.0 1.0 0'
[../]
[./interface]
input = subdomain1
type = SideSetsBetweenSubdomainsGenerator
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[./interface_again]
input = interface
type = SideSetsBetweenSubdomainsGenerator
master_block = '1'
paired_block = '0'
new_boundary = 'master1_interface'
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = '0'
[../]
[./v]
order = FIRST
family = MONOMIAL
block = '1'
[../]
[]
[Kernels]
[./diff_u]
type = CoeffParamDiffusion
variable = u
D = 4
block = 0
[../]
[./diff_v]
type = CoeffParamDiffusion
variable = v
D = 2
block = 1
[../]
[./body_u]
type = BodyForce
variable = u
block = 0
function = 'x^3+x^2+x+1'
[../]
[./body_v]
type = BodyForce
variable = v
block = 1
function = 'x^3+x^2+x+1'
[../]
[]
[DGKernels]
[./dg_diff_v]
type = DGDiffusion
variable = v
block = 1
diff = 2
sigma = 6
epsilon = -1
[../]
[]
[InterfaceKernels]
[./interface]
type = OneSideDiffusion
variable = u
neighbor_var = v
boundary = master0_interface
D = 4
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 'left'
value = 1
[../]
# [./right]
# type = DirichletBC
# variable = v
# boundary = 'right'
# value = 0
# [../]
[./right]
type = DGFunctionDiffusionDirichletBC
variable = v
boundary = 'right'
function = 0
epsilon = -1
sigma = 6
[../]
[./middle]
type = NeumannBC
variable = u
boundary = 'master0_interface'
value = '.5'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
print_linear_residuals = true
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/meshgenerators/parsed_generate_sideset/parsed_generate_sideset.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 3
ny = 3
nz = 3
xmax = 3
ymax = 3
zmax = 3
[]
[./subdomains]
type = ParsedSubdomainMeshGenerator
input = gmg
combinatorial_geometry = 'x < 1 & y > 1 & y < 2'
block_id = 1
[]
[./sideset]
type = ParsedGenerateSideset
input = subdomains
combinatorial_geometry = 'z < 1'
included_subdomain_ids = '1'
normal = '1 0 0'
new_sideset_name = interior
[]
[]
[Outputs]
exodus = true
[]
modules/navier_stokes/test/tests/ins/lid_driven/ad_lid_driven.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1.0
ymin = 0
ymax = 1.0
nx = 16
ny = 16
elem_type = QUAD9
[]
[./corner_node]
type = ExtraNodesetGenerator
new_boundary = 'pinned_node'
nodes = '0'
input = gen
[../]
[]
[AuxVariables]
[vel_x]
order = SECOND
[]
[vel_y]
order = SECOND
[]
[]
[AuxKernels]
[vel_x]
type = VectorVariableComponentAux
variable = vel_x
vector_variable = velocity
component = 'x'
[]
[vel_y]
type = VectorVariableComponentAux
variable = vel_y
vector_variable = velocity
component = 'y'
[]
[]
[Variables]
[./velocity]
order = SECOND
family = LAGRANGE_VEC
[../]
[./T]
order = SECOND
[./InitialCondition]
type = ConstantIC
value = 1.0
[../]
[../]
[./p]
[../]
[]
[Kernels]
[./mass]
type = INSADMass
variable = p
[../]
[./momentum_time]
type = INSADMomentumTimeDerivative
variable = velocity
[../]
[./momentum_convection]
type = INSADMomentumAdvection
variable = velocity
[../]
[./momentum_viscous]
type = INSADMomentumViscous
variable = velocity
[../]
[./momentum_pressure]
type = INSADMomentumPressure
variable = velocity
p = p
integrate_p_by_parts = true
[../]
[./temperature_time]
type = ADHeatConductionTimeDerivative
variable = T
specific_heat = 'cp'
density_name = 'rho'
[../]
[./temperature_advection]
type = INSADTemperatureAdvection
variable = T
velocity = velocity
[../]
[./temperature_conduction]
type = ADHeatConduction
variable = T
thermal_conductivity = 'k'
[../]
[]
[BCs]
[./no_slip]
type = VectorFunctionDirichletBC
variable = velocity
boundary = 'bottom right left'
[../]
[./lid]
type = VectorFunctionDirichletBC
variable = velocity
boundary = 'top'
function_x = 'lid_function'
[../]
[./T_hot]
type = DirichletBC
variable = T
boundary = 'bottom'
value = 1
[../]
[./T_cold]
type = DirichletBC
variable = T
boundary = 'top'
value = 0
[../]
[./pressure_pin]
type = DirichletBC
variable = p
boundary = 'pinned_node'
value = 0
[../]
[]
[Materials]
[./const]
type = GenericConstantMaterial
prop_names = 'rho mu cp k'
prop_values = '1 1 1 .01'
[../]
[ins_mat]
type = INSADMaterial
velocity = velocity
pressure = p
transient_term = true
integrate_p_by_parts = true
[]
[]
[Functions]
[./lid_function]
# We pick a function that is exactly represented in the velocity
# space so that the Dirichlet conditions are the same regardless
# of the mesh spacing.
type = ParsedFunction
value = '4*x*(1-x)'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
solve_type = 'NEWTON'
[../]
[]
[Executioner]
type = Transient
# Run for 100+ timesteps to reach steady state.
num_steps = 5
dt = .5
dtmin = .5
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -sub_pc_factor_levels'
petsc_options_value = 'asm 2 ilu 4'
line_search = 'none'
nl_rel_tol = 1e-12
nl_abs_tol = 1e-13
nl_max_its = 6
l_tol = 1e-6
l_max_its = 500
[]
[Outputs]
file_base = lid_driven_out
exodus = true
perf_graph = true
[]
test/tests/interfacekernels/2d_interface/coupled_value_coupled_flux_with_jump_material.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
xmax = 2
ny = 2
ymax = 2
[]
[./subdomain1]
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 1 0'
block_id = 1
input = gen
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain1
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[./break_boundary]
input = interface
type = BreakBoundaryOnSubdomainGenerator
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = 0
[../]
[./v]
order = FIRST
family = LAGRANGE
block = 1
[../]
[]
[Kernels]
[./diff_u]
type = CoeffParamDiffusion
variable = u
D = 4
block = 0
[../]
[./diff_v]
type = CoeffParamDiffusion
variable = v
D = 2
block = 1
[../]
[./source_u]
type = BodyForce
variable = u
value = 1
[../]
[]
[InterfaceKernels]
[./interface]
type = PenaltyInterfaceDiffusion
variable = u
neighbor_var = v
boundary = master0_interface
penalty = 1e6
jump_prop_name = jump
[../]
[]
[Materials]
[./jump]
type = JumpInterfaceMaterial
var = u
neighbor_var = v
boundary = master0_interface
[../]
[]
[BCs]
[./u]
type = VacuumBC
variable = u
boundary = 'left_to_0 bottom_to_0 right top'
[../]
[./v]
type = VacuumBC
variable = v
boundary = 'left_to_1 bottom_to_1'
[../]
[]
[Postprocessors]
[./u_int]
type = ElementIntegralVariablePostprocessor
variable = u
block = 0
[../]
[./v_int]
type = ElementIntegralVariablePostprocessor
variable = v
block = 1
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
print_linear_residuals = true
[]
test/tests/dgkernels/dg_block_restrict/1d_dg_block_restrict.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
nx = 100
xmax = 2
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '1.0 0 0'
block_id = 1
top_right = '2.0 0 0'
[../]
[./interface]
input = subdomain1
type = SideSetsBetweenSubdomainsGenerator
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[./interface_again]
type = SideSetsBetweenSubdomainsGenerator
input = interface
master_block = '1'
paired_block = '0'
new_boundary = 'master1_interface'
[../]
[]
[Variables]
[./u]
order = FIRST
family = MONOMIAL
block = 0
[../]
[./v]
order = FIRST
family = MONOMIAL
block = 1
[../]
[]
[Kernels]
[./test_u]
type = Diffusion
variable = u
block = 0
[../]
[./adv_u]
type = ConservativeAdvection
variable = u
velocity = '1 0 0'
block = 0
[../]
[./test_v]
type = Diffusion
variable = v
block = 1
[../]
[./adv_v]
type = ConservativeAdvection
variable = v
velocity = '1 0 0'
block = 1
[../]
[]
[DGKernels]
[./dg_advection_u]
type = DGConvection
variable = u
velocity = '1 0 0'
block = 0
[../]
[./dg_diffusion_u]
type = DGDiffusion
variable = u
sigma = 0
epsilon = -1
block = 0
[../]
[./dg_advection_v]
type = DGConvection
variable = v
velocity = '1 0 0'
block = 1
[../]
[./dg_diffusion_v]
type = DGDiffusion
variable = v
sigma = 0
epsilon = -1
block = 1
[../]
[]
[BCs]
[./left]
type = InflowBC
variable = u
boundary = 'left'
inlet_conc = 2
velocity = '1 0 0'
[../]
[./master0_inteface]
type = RobinBC
variable = u
boundary = 'master0_interface'
[../]
[./master1_interface]
type = InflowBC
variable = v
boundary = 'master1_interface'
inlet_conc = 4
velocity = '1 0 0'
[../]
[./right]
type = RobinBC
variable = v
boundary = 'right'
[../]
[]
[ICs]
[./u_ic]
type = ConstantIC
variable = u
value = 0
[../]
[./v_ic]
type = ConstantIC
variable = v
value = 0
[../]
[]
[Preconditioning]
[./fdp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
nl_abs_tol = 1e-12
solve_type = NEWTON
[]
[Outputs]
exodus = true
print_linear_residuals = false
[]
[Debug]
show_var_residual_norms = true
[]
modules/tensor_mechanics/test/tests/action/two_block_new.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[]
[block1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.5 1 0'
input = generated_mesh
[]
[block2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.5 0 0'
top_right = '1 1 0'
input = block1
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules/TensorMechanics/Master]
# parameters that apply to all subblocks are specified at this level. They
# can be overwritten in the subblocks.
add_variables = true
strain = FINITE
generate_output = 'stress_xx'
[./block1]
# the `block` parameter is only valid insde a subblock.
block = 1
[../]
[./block2]
block = 2
# the `additional_generate_output` parameter is also only valid inside a
# subblock. Values specified here are appended to the `generate_output`
# parameter values.
additional_generate_output = 'strain_yy'
[../]
[]
[AuxVariables]
[./stress_theta]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_theta]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_theta]
type = RankTwoAux
rank_two_tensor = stress
index_i = 2
index_j = 2
variable = stress_theta
execute_on = timestep_end
[../]
[./strain_theta]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 2
index_j = 2
variable = strain_theta
execute_on = timestep_end
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e10
poissons_ratio = 0.345
[../]
[./_elastic_stress1]
type = ComputeFiniteStrainElasticStress
block = 1
[../]
[./_elastic_stress2]
type = ComputeFiniteStrainElasticStress
block = 2
[../]
[]
[BCs]
[./left]
type = DirichletBC
boundary = 'left'
variable = disp_x
value = 0.0
[../]
[./top]
type = DirichletBC
boundary = 'top'
variable = disp_y
value = 0.0
[../]
[./right]
type = DirichletBC
boundary = 'right'
variable = disp_x
value = 0.01
[../]
[./bottom]
type = DirichletBC
boundary = 'bottom'
variable = disp_y
value = 0.01
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[Executioner]
type = Steady
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = ' 201 hypre boomeramg 10'
line_search = 'none'
nl_rel_tol = 5e-9
nl_abs_tol = 1e-10
nl_max_its = 15
l_tol = 1e-3
l_max_its = 50
[]
[Outputs]
exodus = true
[]
test/tests/outputs/debug/show_material_props.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[./subdomains]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0.1 0.1 0'
block_id = 1
top_right = '0.9 0.9 0'
[../]
[]
[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
[../]
[]
[Materials]
[./block]
type = GenericConstantMaterial
block = '0 1'
prop_names = 'property0 property1 property2 property3 property4 property5 property6 property7 property8 property9 property10'
prop_values = '0 1 2 3 4 5 6 7 8 9 10'
[../]
[./boundary]
type = GenericConstantMaterial
prop_names = bnd_prop
boundary = top
prop_values = 12345
[../]
[./restricted]
type = GenericConstantMaterial
block = 1
prop_names = 'restricted0 restricted1'
prop_values = '10 11'
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[./debug] # This is only a test, you should turn this on via [Debug] block
type = MaterialPropertyDebugOutput
[../]
[]
modules/heat_conduction/test/tests/sideset_heat_transfer/gap_thermal_ktemp_1D.i
[Mesh]
[mesh]
type = GeneratedMeshGenerator
dim = 1
nx = 2
xmax = 2
[]
[split]
type = SubdomainBoundingBoxGenerator
input = mesh
block_id = 1
bottom_left = '1 0 0'
top_right = '2 0 0'
[]
[interface]
type = SideSetsBetweenSubdomainsGenerator
input = split
master_block = 1
paired_block = 0
new_boundary = 'interface0'
[]
uniform_refine = 4
[]
[Variables]
[T]
order = FIRST
family = MONOMIAL
[]
[]
[AuxVariables]
[Tbulk]
order = FIRST
family = LAGRANGE
initial_condition = 300 # K
[]
[]
[Kernels]
[diff]
type = MatDiffusion
variable = T
diffusivity = conductivity
[]
[source]
type = BodyForce
variable = T
value = 1.0
[]
[]
[DGKernels]
[dg_diff]
type = DGDiffusion
variable = T
epsilon = -1
sigma = 6
diff = conductivity
exclude_boundary = 'interface0'
[]
[]
[InterfaceKernels]
[gap_var]
type = SideSetHeatTransferKernel
variable = T
neighbor_var = T
boundary = 'interface0'
Tbulk_var = Tbulk
[]
[]
[Functions]
# Defining temperature dependent fucntion for conductivity across side set
[kgap]
type = ParsedFunction
value = 't / 200'
[]
[bc_func]
type = ConstantFunction
value = 300
[]
[exact]
type = ParsedFunction
value = '
A := if(x < 1, -0.5, -0.25);
B := if(x < 1, -0.293209850655001, 0.0545267662299068);
C := if(x < 1, 300.206790149345, 300.19547323377);
d := -1;
A * (x+d) * (x+d) + B * (x+d) + C'
[]
[]
[BCs]
[bc_left]
type = DGFunctionDiffusionDirichletBC
boundary = 'left'
variable = T
diff = 'conductivity'
epsilon = -1
sigma = 6
function = bc_func
[]
[bc_right]
type = DGFunctionDiffusionDirichletBC
boundary = 'right'
variable = T
diff = 'conductivity'
epsilon = -1
sigma = 6
function = bc_func
[]
[]
[Materials]
[k0]
type = GenericConstantMaterial
prop_names = 'conductivity'
prop_values = 1.0
block = 0
[]
[k1]
type = GenericConstantMaterial
prop_names = 'conductivity'
prop_values = 2.0
block = 1
[]
[gap_mat]
type = SideSetHeatTransferMaterial
boundary = 'interface0'
# Using temperature dependent function for gap conductivity
conductivity_temperature_function = kgap
# Variable to evaluate conductivity with
gap_temperature = Tbulk
gap_length = 1.0
h_master = 1
h_neighbor = 1
emissivity_master = 1
emissivity_neighbor = 1
[]
[]
[Postprocessors]
[error]
type = ElementL2Error
variable = T
function = exact
[]
[]
[Executioner]
type = Steady
nl_rel_tol = 1e-12
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/ad_finite_strain_jacobian/3d_bar.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
xmin = 0
xmax = 2
ymin = 0
ymax = 2
zmin = 0
zmax = 10
nx = 10
ny = 2
nz = 2
elem_type = HEX8
[]
[corner]
type = ExtraNodesetGenerator
new_boundary = 101
coord = '0 0 0'
input = generated_mesh
[]
[side]
type = ExtraNodesetGenerator
new_boundary = 102
coord = '2 0 0'
input = corner
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
add_variables = true
use_finite_deform_jacobian = true
volumetric_locking_correction = false
use_automatic_differentiation = true
[../]
[]
[Materials]
[./stress]
type = ADComputeFiniteStrainElasticStress
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
fill_method = symmetric9
C_ijkl = '1.684e5 0.176e5 0.176e5 1.684e5 0.176e5 1.684e5 0.754e5 0.754e5 0.754e5'
[../]
[]
[BCs]
[./fix_corner_x]
type = ADDirichletBC
variable = disp_x
boundary = 101
value = 0
[../]
[./fix_corner_y]
type = ADDirichletBC
variable = disp_y
boundary = 101
value = 0
[../]
[./fix_side_y]
type = ADDirichletBC
variable = disp_y
boundary = 102
value = 0
[../]
[./fix_z]
type = ADDirichletBC
variable = disp_z
boundary = back
value = 0
[../]
[./move_z]
type = ADFunctionDirichletBC
variable = disp_z
boundary = front
function = 't'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
nl_rel_tol = 1e-10
nl_max_its = 10
l_tol = 1e-4
l_max_its = 50
dt = 0.2
dtmin = 0.2
num_steps = 2
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/actions/basicthm_h.i
# PorousFlowBasicTHM action with coupling_type = HydroGenerator
# (no thermal or mechanical effects)
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 3
xmax = 10
ymax = 3
[]
[./aquifer]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 1 0'
top_right = '10 2 0'
[../]
[./injection_area]
type = SideSetsAroundSubdomainGenerator
block = 1
new_boundary = 'injection_area'
normal = '-1 0 0'
input = 'aquifer'
[../]
[./outflow_area]
type = SideSetsAroundSubdomainGenerator
block = 1
new_boundary = 'outflow_area'
normal = '1 0 0'
input = 'injection_area'
[../]
[./rename]
type = RenameBlockGenerator
old_block_id = '0 1'
new_block_name = 'caprock aquifer'
input = 'outflow_area'
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./porepressure]
initial_condition = 1e6
[../]
[]
[AuxVariables]
[./temperature]
initial_condition = 293
[../]
[]
[PorousFlowBasicTHM]
porepressure = porepressure
temperature = temperature
coupling_type = Hydro
gravity = '0 0 0'
fp = simple_fluid
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1.5e6
boundary = injection_area
[../]
[./constant_outflow_porepressure]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = outflow_area
pt_vals = '0 1e9'
multipliers = '0 1e9'
flux_function = 1e-6
PT_shift = 1e6
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
[../]
[../]
[]
[Materials]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./biot_modulus]
type = PorousFlowConstantBiotModulus
biot_coefficient = 0.8
solid_bulk_compliance = 2e-7
fluid_bulk_modulus = 1e7
[../]
[./permeability_aquifer]
type = PorousFlowPermeabilityConst
block = aquifer
permeability = '1e-13 0 0 0 1e-13 0 0 0 1e-13'
[../]
[./permeability_caprock]
type = PorousFlowPermeabilityConst
block = caprock
permeability = '1e-15 0 0 0 1e-15 0 0 0 1e-15'
[../]
[]
[Preconditioning]
[./basic]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 1e4
dt = 1e3
nl_abs_tol = 1e-15
nl_rel_tol = 1E-14
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/mortar_tm/2d/frictionless_first/finite_noaction.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'finite_noaction'
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[./slave]
input = block_sidesets
type = LowerDBlockFromSidesetGenerator
sidesets = 'block_left'
new_block_id = '30'
new_block_name = 'frictionless_slave_subdomain'
[../]
[./master]
input = slave
type = LowerDBlockFromSidesetGenerator
sidesets = 'plank_right'
new_block_id = '20'
new_block_name = 'frictionless_master_subdomain'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./frictionless_normal_lm]
order = ${order}
block = 'frictionless_slave_subdomain'
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
[../]
[]
[Constraints]
[./lm]
type = NormalNodalLMMechanicalContact
slave = block_left
master = plank_right
variable = frictionless_normal_lm
master_variable = disp_x
disp_y = disp_y
ncp_function_type = min
use_displaced_mesh = true
[../]
[./normal_x]
type = NormalMortarMechanicalContact
master_boundary = plank_right
slave_boundary = block_left
master_subdomain = frictionless_master_subdomain
slave_subdomain = frictionless_slave_subdomain
variable = frictionless_normal_lm
slave_variable = disp_x
component = x
use_displaced_mesh = true
compute_lm_residuals = false
[../]
[./normal_y]
type = NormalMortarMechanicalContact
master_boundary = plank_right
slave_boundary = block_left
master_subdomain = frictionless_master_subdomain
slave_subdomain = frictionless_slave_subdomain
variable = frictionless_normal_lm
slave_variable = disp_y
component = y
use_displaced_mesh = true
compute_lm_residuals = false
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/interfacekernels/1d_interface/single_variable_coupled_flux.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
nx = 10
xmax = 2
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '1.0 0 0'
block_id = 1
top_right = '2.0 1.0 0'
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain1
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[./interface_again]
type = SideSetsBetweenSubdomainsGenerator
input = interface
master_block = '1'
paired_block = '0'
new_boundary = 'master1_interface'
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff0]
type = CoeffParamDiffusion
variable = u
D = 4
block = 0
[../]
[./diff1]
type = CoeffParamDiffusion
variable = u
D = 2
block = 1
[../]
[]
[InterfaceKernels]
[./interface]
type = InterfaceDiffusion
variable = u
neighbor_var = u
boundary = master0_interface
D = 4
D_neighbor = 2
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 'left'
value = 1
[../]
[./right]
type = DirichletBC
variable = u
boundary = 'right'
value = 0
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
print_linear_residuals = true
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/meshgenerators/sideset_around_subdomain_generator/sideset_around_subdomain.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
xmax = 3
ymax = 3
zmax = 3
nx = 3
ny = 3
nz = 3
[]
[./central_block]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 2
bottom_left = '1 1 1'
top_right = '2 2 2'
[]
[./central_boundary]
type = SideSetsAroundSubdomainGenerator
input = central_block
block = 2
new_boundary = 7
[]
[]
[Outputs]
exodus = true
[]
modules/navier_stokes/test/tests/ins/lid_driven/lid_driven_chorin.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1.0
ymin = 0
ymax = 1.0
nx = 40
ny = 40
elem_type = QUAD4
[]
[./corner_node]
type = ExtraNodesetGenerator
new_boundary = 99
nodes = '0'
input = gen
[../]
[]
[Variables]
# x-velocity
[./u]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = ConstantIC
value = 0.0
[../]
[../]
# y-velocity
[./v]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = ConstantIC
value = 0.0
[../]
[../]
# x-star velocity
[./u_star]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = ConstantIC
value = 0.0
[../]
[../]
# y-star velocity
[./v_star]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = ConstantIC
value = 0.0
[../]
[../]
# Pressure
[./p]
order = FIRST
family = LAGRANGE
[./InitialCondition]
type = ConstantIC
value = 0
[../]
[../]
[]
[Kernels]
[./x_chorin_predictor]
type = INSChorinPredictor
variable = u_star
u = u
v = v
u_star = u_star
v_star = v_star
component = 0
predictor_type = 'new'
[../]
[./y_chorin_predictor]
type = INSChorinPredictor
variable = v_star
u = u
v = v
u_star = u_star
v_star = v_star
component = 1
predictor_type = 'new'
[../]
[./x_chorin_corrector]
type = INSChorinCorrector
variable = u
u_star = u_star
v_star = v_star
p = p
component = 0
[../]
[./y_chorin_corrector]
type = INSChorinCorrector
variable = v
u_star = u_star
v_star = v_star
p = p
component = 1
[../]
[./chorin_pressure_poisson]
type = INSChorinPressurePoisson
variable = p
u_star = u_star
v_star = v_star
[../]
[]
[BCs]
[./u_no_slip]
type = DirichletBC
variable = u
preset = false
boundary = 'bottom right left'
value = 0.0
[../]
[./u_lid]
type = DirichletBC
variable = u
preset = false
boundary = 'top'
value = 100.0
[../]
[./v_no_slip]
type = DirichletBC
variable = v
preset = false
boundary = 'bottom right top left'
value = 0.0
[../]
# Make u_star satsify all the same variables as the real velocity.
[./u_star_no_slip]
type = DirichletBC
variable = u_star
preset = false
boundary = 'bottom right left'
value = 0.0
[../]
[./u_star_lid]
type = DirichletBC
variable = u_star
preset = false
boundary = 'top'
value = 100.0
[../]
[./v_star_no_slip]
type = DirichletBC
variable = v_star
preset = false
boundary = 'bottom right top left'
value = 0.0
[../]
# With solid walls everywhere, we specify dp/dn=0, i.e the
# "natural BC" for pressure. Technically the problem still
# solves without pinning the pressure somewhere, but the pressure
# bounces around a lot during the solve, possibly because of
# the addition of arbitrary constants.
[./pressure_pin]
type = DirichletBC
variable = p
preset = false
boundary = '99'
value = 0
[../]
[]
[Materials]
[./const]
type = GenericConstantMaterial
block = 0
# rho = 1000 # kg/m^3
# mu = 0.798e-3 # Pa-s at 30C
# cp = 4.179e3 # J/kg-K at 30C
# k = 0.58 # W/m-K at ?C
# Dummy parameters
prop_names = 'rho mu cp k'
prop_values = '1 1 1 1'
[../]
[]
[Preconditioning]
#active = 'FDP_Newton'
#active = 'SMP_PJFNK'
active = 'SMP_Newton'
[./FDP_Newton]
type = FDP
full = true
solve_type = 'NEWTON'
#petsc_options_iname = '-mat_fd_coloring_err'
#petsc_options_value = '1.e-10'
[../]
# For some reason, nonlinear convergence with JFNK is poor, but it
# seems to be OK for SMP_Newton. This may indicate a a scaling issue
# in the JFNK case....
[./SMP_PJFNK]
type = SMP
full = true
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
[../]
[./SMP_Newton]
type = SMP
full = true
solve_type = 'NEWTON'
[../]
[]
[Executioner]
type = Transient
# Note: the explicit case with lid velocity = 100 and a 40x40 was unstable
# for dt=1.e-4, even though the restriction should be dt < dx/|u| = 1/4000 = 2.5e-4
#
dt = 1.e-3
dtmin = 1.e-6
petsc_options_iname = '-ksp_gmres_restart '
petsc_options_value = '300 '
line_search = 'none'
nl_rel_tol = 1e-5
nl_max_its = 6
l_tol = 1e-6
l_max_its = 300
start_time = 0.0
num_steps = 5
[]
[Outputs]
file_base = lid_driven_chorin_out
exodus = true
[]
modules/tensor_mechanics/test/tests/global_strain/global_strain_hydrostat.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 1
ny = 1
nz = 1
[]
[cnode]
type = ExtraNodesetGenerator
coord = '0.0 0.0 0.0'
new_boundary = 100
input = generated_mesh
[]
[]
[Variables]
[./u_x]
[../]
[./u_y]
[../]
[./u_z]
[../]
[./global_strain]
order = SIXTH
family = SCALAR
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxKernels]
[./disp_x]
type = GlobalDisplacementAux
variable = disp_x
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 1
[../]
[./disp_y]
type = GlobalDisplacementAux
variable = disp_y
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 1
[../]
[./disp_z]
type = GlobalDisplacementAux
variable = disp_z
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 2
[../]
[]
[GlobalParams]
displacements = 'u_x u_y u_z'
block = 0
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[ScalarKernels]
[./global_strain]
type = GlobalStrain
variable = global_strain
global_strain_uo = global_strain_uo
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y z'
variable = ' u_x u_y u_z'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = u_x
value = 0
[../]
[./centerfix_y]
type = DirichletBC
boundary = 100
variable = u_y
value = 0
[../]
[./centerfix_z]
type = DirichletBC
boundary = 100
variable = u_z
value = 0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeElasticityTensor
block = 0
C_ijkl = '70e9 0.33'
fill_method = symmetric_isotropic_E_nu
[../]
[./strain]
type = ComputeSmallStrain
global_strain = global_strain
[../]
[./global_strain]
type = ComputeGlobalStrain
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[UserObjects]
[./global_strain_uo]
type = GlobalStrainUserObject
applied_stress_tensor = '-5e9 -5e9 -5e9 0 0 0'
execute_on = 'Initial Linear Nonlinear'
[../]
[]
[Postprocessors]
[./l2err]
type = ScalarL2Error
variable = global_strain
function = -0.02428571 #strain = E*(1-2*nu)/sigma
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
l_max_its = 30
nl_max_its = 12
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
nl_abs_tol = 1.0e-10
start_time = 0.0
num_steps = 2
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/fluidstate/brineco2_nonisothermal.i
[Mesh]
[./mesh]
type = GeneratedMeshGenerator
dim = 2
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pgas]
initial_condition = 20e6
[../]
[./z]
initial_condition = 0.2
[../]
[./temperature]
initial_condition = 70
[../]
[]
[AuxVariables]
[./xnacl]
initial_condition = 0.1
[../]
[./pressure_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./pressure_water]
order = CONSTANT
family = MONOMIAL
[../]
[./saturation_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./saturation_water]
order = CONSTANT
family = MONOMIAL
[../]
[./density_water]
order = CONSTANT
family = MONOMIAL
[../]
[./density_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./viscosity_water]
order = CONSTANT
family = MONOMIAL
[../]
[./viscosity_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./enthalpy_water]
order = CONSTANT
family = MONOMIAL
[../]
[./enthalpy_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./internal_energy_water]
order = CONSTANT
family = MONOMIAL
[../]
[./internal_energy_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./x0_water]
order = CONSTANT
family = MONOMIAL
[../]
[./x0_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./x1_water]
order = CONSTANT
family = MONOMIAL
[../]
[./x1_gas]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./pressure_water]
type = PorousFlowPropertyAux
variable = pressure_water
property = pressure
phase = 0
execute_on = timestep_end
[../]
[./pressure_gas]
type = PorousFlowPropertyAux
variable = pressure_gas
property = pressure
phase = 1
execute_on = timestep_end
[../]
[./saturation_water]
type = PorousFlowPropertyAux
variable = saturation_water
property = saturation
phase = 0
execute_on = timestep_end
[../]
[./saturation_gas]
type = PorousFlowPropertyAux
variable = saturation_gas
property = saturation
phase = 1
execute_on = timestep_end
[../]
[./density_water]
type = PorousFlowPropertyAux
variable = density_water
property = density
phase = 0
execute_on = timestep_end
[../]
[./density_gas]
type = PorousFlowPropertyAux
variable = density_gas
property = density
phase = 1
execute_on = timestep_end
[../]
[./viscosity_water]
type = PorousFlowPropertyAux
variable = viscosity_water
property = viscosity
phase = 0
execute_on = timestep_end
[../]
[./viscosity_gas]
type = PorousFlowPropertyAux
variable = viscosity_gas
property = viscosity
phase = 1
execute_on = timestep_end
[../]
[./enthalpy_water]
type = PorousFlowPropertyAux
variable = enthalpy_water
property = enthalpy
phase = 0
execute_on = timestep_end
[../]
[./enthalpy_gas]
type = PorousFlowPropertyAux
variable = enthalpy_gas
property = enthalpy
phase = 1
execute_on = timestep_end
[../]
[./internal_energy_water]
type = PorousFlowPropertyAux
variable = internal_energy_water
property = internal_energy
phase = 0
execute_on = timestep_end
[../]
[./internal_energy_gas]
type = PorousFlowPropertyAux
variable = internal_energy_gas
property = internal_energy
phase = 1
execute_on = timestep_end
[../]
[./x1_water]
type = PorousFlowPropertyAux
variable = x1_water
property = mass_fraction
phase = 0
fluid_component = 1
execute_on = timestep_end
[../]
[./x1_gas]
type = PorousFlowPropertyAux
variable = x1_gas
property = mass_fraction
phase = 1
fluid_component = 1
execute_on = timestep_end
[../]
[./x0_water]
type = PorousFlowPropertyAux
variable = x0_water
property = mass_fraction
phase = 0
fluid_component = 0
execute_on = timestep_end
[../]
[./x0_gas]
type = PorousFlowPropertyAux
variable = x0_gas
property = mass_fraction
phase = 1
fluid_component = 0
execute_on = timestep_end
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
variable = pgas
fluid_component = 0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
variable = z
fluid_component = 1
[../]
[./heat]
type = TimeDerivative
variable = temperature
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pgas z temperature'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[./fs]
type = PorousFlowBrineCO2
brine_fp = brine
co2_fp = co2
capillary_pressure = pc
[../]
[]
[Modules]
[./FluidProperties]
[./co2]
type = CO2FluidProperties
[../]
[./brine]
type = BrineFluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./brineco2]
type = PorousFlowFluidState
gas_porepressure = pgas
z = z
temperature = temperature
temperature_unit = Celsius
xnacl = xnacl
capillary_pressure = pc
fluid_state = fs
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-12 0 0 0 1e-12 0 0 0 1e-12'
[../]
[./relperm0]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[./relperm1]
type = PorousFlowRelativePermeabilityCorey
n = 3
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
dt = 1
end_time = 1
nl_abs_tol = 1e-12
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Postprocessors]
[./density_water]
type = ElementIntegralVariablePostprocessor
variable = density_water
[../]
[./density_gas]
type = ElementIntegralVariablePostprocessor
variable = density_gas
[../]
[./viscosity_water]
type = ElementIntegralVariablePostprocessor
variable = viscosity_water
[../]
[./viscosity_gas]
type = ElementIntegralVariablePostprocessor
variable = viscosity_gas
[../]
[./enthalpy_water]
type = ElementIntegralVariablePostprocessor
variable = enthalpy_water
[../]
[./enthalpy_gas]
type = ElementIntegralVariablePostprocessor
variable = enthalpy_gas
[../]
[./internal_energy_water]
type = ElementIntegralVariablePostprocessor
variable = internal_energy_water
[../]
[./internal_energy_gas]
type = ElementIntegralVariablePostprocessor
variable = internal_energy_gas
[../]
[./x1_water]
type = ElementIntegralVariablePostprocessor
variable = x1_water
[../]
[./x0_water]
type = ElementIntegralVariablePostprocessor
variable = x0_water
[../]
[./x1_gas]
type = ElementIntegralVariablePostprocessor
variable = x1_gas
[../]
[./x0_gas]
type = ElementIntegralVariablePostprocessor
variable = x0_gas
[../]
[./sg]
type = ElementIntegralVariablePostprocessor
variable = saturation_gas
[../]
[./sw]
type = ElementIntegralVariablePostprocessor
variable = saturation_water
[../]
[./pwater]
type = ElementIntegralVariablePostprocessor
variable = pressure_water
[../]
[./pgas]
type = ElementIntegralVariablePostprocessor
variable = pressure_gas
[../]
[./x0mass]
type = PorousFlowFluidMass
fluid_component = 0
phase = '0 1'
[../]
[./x1mass]
type = PorousFlowFluidMass
fluid_component = 1
phase = '0 1'
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
test/tests/meshgenerators/fancy_extruder_generator/gen_extrude.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 6
ny = 6
nz = 0
zmin = 0
zmax = 0
elem_type = QUAD4
[]
[./extrude]
type = FancyExtruderGenerator
input = gmg
heights = '1 2 3'
num_layers = '1 2 3'
direction = '0 0 1'
bottom_sideset = '4'
top_sideset = '5'
subdomain_swaps = '0 1;
0 2;
0 3'
[]
[]
modules/peridynamics/test/tests/jacobian_check/2D_mechanics_OSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
full_jacobian = true
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = ORDINARY_STATE
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.0
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialOSPD
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[]
modules/combined/examples/periodic_strain/global_strain_pfm.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 50
ny = 50
xmin = -0.5
xmax = 0.5
ymin = -0.5
ymax = 0.5
[]
[./cnode]
input = gen
type = ExtraNodesetGenerator
coord = '0.0 0.0'
new_boundary = 100
[../]
[]
[Variables]
[./u_x]
[../]
[./u_y]
[../]
[./global_strain]
order = THIRD
family = SCALAR
[../]
[./c]
[./InitialCondition]
type = FunctionIC
function = 'sin(2*x*pi)*sin(2*y*pi)*0.05+0.6'
[../]
[../]
[./w]
[../]
[]
[AuxVariables]
[./local_energy]
order = CONSTANT
family = MONOMIAL
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[./s00]
order = CONSTANT
family = MONOMIAL
[../]
[./s01]
order = CONSTANT
family = MONOMIAL
[../]
[./s10]
order = CONSTANT
family = MONOMIAL
[../]
[./s11]
order = CONSTANT
family = MONOMIAL
[../]
[./e00]
order = CONSTANT
family = MONOMIAL
[../]
[./e01]
order = CONSTANT
family = MONOMIAL
[../]
[./e10]
order = CONSTANT
family = MONOMIAL
[../]
[./e11]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./disp_x]
type = GlobalDisplacementAux
variable = disp_x
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 0
[../]
[./disp_y]
type = GlobalDisplacementAux
variable = disp_y
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 1
[../]
[./local_free_energy]
type = TotalFreeEnergy
execute_on = 'initial LINEAR'
variable = local_energy
interfacial_vars = 'c'
kappa_names = 'kappa_c'
[../]
[./s00]
type = RankTwoAux
variable = s00
rank_two_tensor = stress
index_i = 0
index_j = 0
[../]
[./s01]
type = RankTwoAux
variable = s01
rank_two_tensor = stress
index_i = 0
index_j = 1
[../]
[./s10]
type = RankTwoAux
variable = s10
rank_two_tensor = stress
index_i = 1
index_j = 0
[../]
[./s11]
type = RankTwoAux
variable = s11
rank_two_tensor = stress
index_i = 1
index_j = 1
[../]
[./e00]
type = RankTwoAux
variable = e00
rank_two_tensor = total_strain
index_i = 0
index_j = 0
[../]
[./e01]
type = RankTwoAux
variable = e01
rank_two_tensor = total_strain
index_i = 0
index_j = 1
[../]
[./e10]
type = RankTwoAux
variable = e10
rank_two_tensor = total_strain
index_i = 1
index_j = 0
[../]
[./e11]
type = RankTwoAux
variable = e11
rank_two_tensor = total_strain
index_i = 1
index_j = 1
[../]
[]
[GlobalParams]
derivative_order = 2
enable_jit = true
displacements = 'u_x u_y'
block = 0
[]
[Kernels]
[./TensorMechanics]
[../]
# Cahn-Hilliard kernels
[./c_dot]
type = CoupledTimeDerivative
variable = w
v = c
block = 0
[../]
[./c_res]
type = SplitCHParsed
variable = c
f_name = F
kappa_name = kappa_c
w = w
block = 0
[../]
[./w_res]
type = SplitCHWRes
variable = w
mob_name = M
block = 0
[../]
[]
[ScalarKernels]
[./global_strain]
type = GlobalStrain
variable = global_strain
global_strain_uo = global_strain_uo
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y'
variable = 'c w u_x u_y'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = u_x
value = 0
[../]
[./centerfix_y]
type = DirichletBC
boundary = 100
variable = u_y
value = 0
[../]
[]
[Materials]
[./consts]
type = GenericConstantMaterial
prop_names = 'M kappa_c'
prop_values = '0.2 0.01 '
[../]
[./shear1]
type = GenericConstantRankTwoTensor
tensor_values = '0 0 0 0 0 0.5'
tensor_name = shear1
[../]
[./shear2]
type = GenericConstantRankTwoTensor
tensor_values = '0 0 0 0 0 -0.5'
tensor_name = shear2
[../]
[./expand3]
type = GenericConstantRankTwoTensor
tensor_values = '1 1 0 0 0 0'
tensor_name = expand3
[../]
[./weight1]
type = DerivativeParsedMaterial
function = '0.3*c^2'
f_name = weight1
args = c
[../]
[./weight2]
type = DerivativeParsedMaterial
function = '0.3*(1-c)^2'
f_name = weight2
args = c
[../]
[./weight3]
type = DerivativeParsedMaterial
function = '4*(0.5-c)^2'
f_name = weight3
args = c
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '1 1'
fill_method = symmetric_isotropic
[../]
[./strain]
type = ComputeSmallStrain
global_strain = global_strain
eigenstrain_names = eigenstrain
[../]
[./eigenstrain]
type = CompositeEigenstrain
tensors = 'shear1 shear2 expand3'
weights = 'weight1 weight2 weight3'
args = c
eigenstrain_name = eigenstrain
[../]
[./global_strain]
type = ComputeGlobalStrain
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
# chemical free energies
[./chemical_free_energy]
type = DerivativeParsedMaterial
f_name = Fc
function = '4*c^2*(1-c)^2'
args = 'c'
outputs = exodus
output_properties = Fc
[../]
# elastic free energies
[./elastic_free_energy]
type = ElasticEnergyMaterial
f_name = Fe
args = 'c'
outputs = exodus
output_properties = Fe
[../]
# free energy (chemical + elastic)
[./free_energy]
type = DerivativeSumMaterial
block = 0
f_name = F
sum_materials = 'Fc Fe'
args = 'c'
[../]
[]
[UserObjects]
[./global_strain_uo]
type = GlobalStrainUserObject
execute_on = 'Initial Linear Nonlinear'
[../]
[]
[Postprocessors]
[./total_free_energy]
type = ElementIntegralVariablePostprocessor
execute_on = 'initial TIMESTEP_END'
variable = local_energy
[../]
[./total_solute]
type = ElementIntegralVariablePostprocessor
execute_on = 'initial TIMESTEP_END'
variable = c
[../]
[./min]
type = ElementExtremeValue
execute_on = 'initial TIMESTEP_END'
value_type = min
variable = c
[../]
[./max]
type = ElementExtremeValue
execute_on = 'initial TIMESTEP_END'
value_type = max
variable = c
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
l_max_its = 30
nl_max_its = 12
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
nl_abs_tol = 1.0e-10
start_time = 0.0
end_time = 2.0
[./TimeStepper]
type = IterationAdaptiveDT
dt = 0.01
growth_factor = 1.5
cutback_factor = 0.8
optimal_iterations = 9
iteration_window = 2
[../]
[]
[Outputs]
execute_on = 'timestep_end'
print_linear_residuals = false
exodus = true
[./table]
type = CSV
delimiter = ' '
[../]
[]
modules/navier_stokes/test/tests/ins/lid_driven/ad_lid_driven_stabilized.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1.0
ymin = 0
ymax = 1.0
nx = 64
ny = 64
[]
[./corner_node]
type = ExtraNodesetGenerator
new_boundary = 'pinned_node'
nodes = '0'
input = gen
[../]
[]
[AuxVariables]
[vel_x]
[]
[vel_y]
[]
[]
[AuxKernels]
[vel_x]
type = VectorVariableComponentAux
variable = vel_x
vector_variable = velocity
component = 'x'
[]
[vel_y]
type = VectorVariableComponentAux
variable = vel_y
vector_variable = velocity
component = 'y'
[]
[]
[Variables]
[./velocity]
family = LAGRANGE_VEC
[../]
[./p]
[../]
[]
[ICs]
[velocity]
type = VectorConstantIC
x_value = 1e-15
y_value = 1e-15
variable = velocity
[]
[]
[Kernels]
[./mass]
type = INSADMass
variable = p
[../]
[./mass_pspg]
type = INSADMassPSPG
variable = p
[../]
[./momentum_convection]
type = INSADMomentumAdvection
variable = velocity
[../]
[./momentum_viscous]
type = INSADMomentumViscous
variable = velocity
[../]
[./momentum_pressure]
type = INSADMomentumPressure
variable = velocity
p = p
integrate_p_by_parts = true
[../]
[./momentum_supg]
type = INSADMomentumSUPG
variable = velocity
velocity = velocity
[../]
[]
[BCs]
[./no_slip]
type = VectorFunctionDirichletBC
variable = velocity
boundary = 'bottom right left'
[../]
[./lid]
type = VectorFunctionDirichletBC
variable = velocity
boundary = 'top'
function_x = 'lid_function'
[../]
[./pressure_pin]
type = DirichletBC
variable = p
boundary = 'pinned_node'
value = 0
[../]
[]
[Materials]
[./const]
type = GenericConstantMaterial
prop_names = 'rho mu'
prop_values = '1 1'
[../]
[ins_mat]
type = INSADTauMaterial
velocity = velocity
pressure = p
transient_term = false
integrate_p_by_parts = true
alpha = .1
[]
[]
[Functions]
[./lid_function]
# We pick a function that is exactly represented in the velocity
# space so that the Dirichlet conditions are the same regardless
# of the mesh spacing.
type = ParsedFunction
value = '4*x*(1-x)'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
solve_type = 'NEWTON'
[../]
[]
[Executioner]
type = Steady
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
nl_rel_tol = 1e-12
nl_abs_tol = 1e-13
nl_max_its = 6
l_tol = 1e-6
l_max_its = 500
[]
[Outputs]
exodus = true
file_base = lid_driven_stabilized_out
[dofmap]
type = DOFMap
execute_on = 'initial'
[]
[]
[Postprocessors]
[lin]
type = NumLinearIterations
[]
[nl]
type = NumNonlinearIterations
[]
[lin_tot]
type = CumulativeValuePostprocessor
postprocessor = 'lin'
[]
[nl_tot]
type = CumulativeValuePostprocessor
postprocessor = 'nl'
[]
[]
modules/combined/test/tests/mortar_tm/2drz/frictionless_first/small.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'small'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./corner]
type = ExtraNodesetGenerator
input = block_rename
coord = '0 -10.0'
new_boundary = point
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = corner
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
[../]
[./plank]
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = block_right
value = 0
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeLinearElasticStress
block = 'plank block'
[../]
[./swell]
type = ComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/meshgenerators/rename_block_generator/rename_block2.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 2
ny = 2
nz = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
zmin = -1
zmax = 1
[]
[./sbb1]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '-1 -1 -1'
top_right = '0 0 0'
[]
[./sbb2]
type = SubdomainBoundingBoxGenerator
input = sbb1
block_id = 2
bottom_left = '0 -1 -1'
top_right = '1 0 0'
[]
[./sbb3]
type = SubdomainBoundingBoxGenerator
input = sbb2
block_id = 3
bottom_left = '-1 0 -1'
top_right = '0 1 0'
[]
[./sbb4]
type = SubdomainBoundingBoxGenerator
input = sbb3
block_id = 4
bottom_left = '0 0 -1'
top_right = '1 1 0'
[]
[./sbb5]
type = SubdomainBoundingBoxGenerator
input = sbb4
block_id = 5
bottom_left = '-1 -1 0'
top_right = '0 0 1'
[]
[./sbb6]
type = SubdomainBoundingBoxGenerator
input = sbb5
block_id = 6
bottom_left = '0 -1 0'
top_right = '1 0 1'
[]
[./sbb7]
type = SubdomainBoundingBoxGenerator
input = sbb6
block_id = 7
bottom_left = '-1 0 0'
top_right = '0 1 1'
[]
[./sbb8]
type = SubdomainBoundingBoxGenerator
input = sbb7
block_id = 8
bottom_left = '0 0 0'
top_right = '1 1 1'
[]
[./re0]
type = RenameBlockGenerator
input = sbb8
old_block_id = '12345 1 2 3 4'
new_block_name = 'nill one two three four'
[]
[./re1]
type = RenameBlockGenerator
old_block_id = '12345 1 2'
new_block_name = 'nill one_and_two one_and_two'
input = re0
[]
[./does_nothing_there_is_no_block_2_now]
type = RenameBlockGenerator
old_block_id = 2
new_block_id = 9
input = re1
[]
[./re2]
type = RenameBlockGenerator
old_block_id = '1 2 3 4 5 8'
new_block_id = '1 12345 4 4 4 7' # note this makes block_id=4 have name "three", since the first occurance of new_block_id=4 has name "three"
input = does_nothing_there_is_no_block_2_now
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 0
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/jacobian_check/2D_mechanics_smallstrain_NOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
full_jacobian = true
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = NONORDINARY_STATE
[../]
[]
[Materials]
[./elastic_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.0
[../]
[./strain]
type = ComputePlaneSmallStrainNOSPD
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
test/tests/postprocessors/interface_value/interface_average_variable_value_postprocessor.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 6
xmax = 3
ny = 9
ymax = 3
elem_type = QUAD4
[]
[./subdomain_id]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '2 1 0'
block_id = 1
[../]
[./interface]
input = subdomain_id
type = SideSetsBetweenSubdomainsGenerator
master_block = '0'
paired_block = '1'
new_boundary = 'interface'
[../]
[]
[Functions]
[./fn_exact]
type = ParsedFunction
value = 'x*x+y*y'
[../]
[./ffn]
type = ParsedFunction
value = -4
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = FIRST
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = ffn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = fn_exact
[../]
[]
[Materials]
[./stateful1]
type = StatefulMaterial
block = 0
initial_diffusivity = 5
[../]
[./stateful2]
type = StatefulMaterial
block = 1
initial_diffusivity = 2
[../]
[]
[AuxKernels]
[./diffusivity_1]
type = MaterialRealAux
property = diffusivity
variable = diffusivity_1
[]
[./diffusivity_2]
type = MaterialRealAux
property = diffusivity
variable = diffusivity_2
[]
[]
[AuxVariables]
[./diffusivity_1]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_2]
family = MONOMIAL
order = CONSTANT
[]
[]
[Postprocessors]
[./diffusivity_average]
type = InterfaceAverageVariableValuePostprocessor
interface_value_type = average
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[./diffusivity_jump_master_slave]
type = InterfaceAverageVariableValuePostprocessor
interface_value_type = jump_master_minus_slave
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[./diffusivity_jump_slave_master]
type = InterfaceAverageVariableValuePostprocessor
interface_value_type = jump_slave_minus_master
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[./diffusivity_jump_abs]
type = InterfaceAverageVariableValuePostprocessor
interface_value_type = jump_abs
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[./diffusivity_master]
type = InterfaceAverageVariableValuePostprocessor
interface_value_type = master
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[./diffusivity_slave]
type = InterfaceAverageVariableValuePostprocessor
interface_value_type = slave
variable = diffusivity_1
neighbor_variable = diffusivity_2
execute_on = TIMESTEP_END
boundary = 'interface'
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
[]
test/tests/variables/second_derivative/interface_kernels.i
# This is testing a scenario where volumetric system (like kernels) asks for second derivatives
# and the formulation includes a system using neighbor elements (like DGKernels or
# InterfaceKernels)
# If the latter did not request the second derivatives MOOSE should not be computing those.
# The PDEs solved are quite contrived, the Biharmonic kernel is there just to trigger the
# computation of second derivatives.
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
xmax = 2
ymax = 2
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 2 0'
block_id = 1
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain1
master_block = '0'
paired_block = '1'
new_boundary = 'middle'
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = 0
[../]
[./v]
order = FIRST
family = LAGRANGE
block = 1
[../]
[]
[Kernels]
[./diff_u]
type = Diffusion
variable = u
[../]
[./diff_v]
type = Diffusion
variable = v
[../]
[./bh]
type = Biharmonic
variable = u
[../]
[]
[InterfaceKernels]
[./interface]
type = InterfaceDiffusion
variable = u
neighbor_var = v
boundary = middle
D = 4
D_neighbor = 2
[../]
[]
[BCs]
[./u]
type = DirichletBC
variable = u
value = 1
boundary = 'right middle'
[../]
[./v]
type = DirichletBC
variable = v
value = 2
boundary = 'left middle'
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
[]
modules/phase_field/examples/interfacekernels/interface_gradient.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 50
ny = 50
[]
[./box1]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.51 1 0'
[../]
[./box2]
input = box1
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.49 0 0'
top_right = '1 1 0'
[../]
[./iface]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
input = box2
[../]
[./rotate]
type = TransformGenerator
transform = ROTATE
vector_value = '5 0 0'
input = iface
[../]
[]
[GlobalParams]
order = FIRST
family = LAGRANGE
[]
[Variables]
[./u]
block = 1
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.4)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./v]
block = 2
initial_condition = 0.8
[../]
[]
[Kernels]
[./u_diff]
type = Diffusion
variable = u
block = 1
[../]
[./u_dt]
type = TimeDerivative
variable = u
block = 1
[../]
[./v_diff]
type = Diffusion
variable = v
block = 2
[../]
[./v_dt]
type = TimeDerivative
variable = v
block = 2
[../]
[]
[InterfaceKernels]
[./flux_continuity]
type = InterfaceDiffusionFluxMatch
variable = u
boundary = 10
neighbor_var = v
[../]
[./diffusion_surface_term]
type = InterfaceDiffusionBoundaryTerm
boundary = 10
variable = u
neighbor_var = v
[../]
[]
[Executioner]
type = Transient
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
dt = 0.001
num_steps = 20
[]
[Outputs]
[./out]
type = Exodus
use_problem_dimension = false
[../]
print_linear_residuals = false
[]
modules/rdg/test/tests/advection_1d/block_restrictable.i
############################################################
[GlobalParams]
order = CONSTANT
family = MONOMIAL
u = u
slope_limiting = lslope
implicit = false
[]
############################################################
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
xmin = 0
xmax = 1
nx = 100
[]
[./subdomain1]
type = SubdomainBoundingBoxGenerator
bottom_left = '0.5 0 0'
block_id = 1
top_right = '1.0 1.0 0'
input = gen
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
input = subdomain1
[../]
[./interface_again]
type = SideSetsBetweenSubdomainsGenerator
master_block = '1'
paired_block = '0'
new_boundary = 'master1_interface'
input = interface
[../]
[]
############################################################
[Functions]
[./ic_u]
type = PiecewiseConstant
axis = x
direction = right
xy_data = '0.1 0.5
0.4 1.0
0.5 0.5'
[../]
[]
############################################################
[UserObjects]
[./lslope]
type = AEFVSlopeLimitingOneD
execute_on = 'linear'
scheme = 'superbee' #none | minmod | mc | superbee
block = 0
[../]
[./internal_side_flux]
type = AEFVUpwindInternalSideFlux
execute_on = 'linear'
[../]
[./free_outflow_bc]
type = AEFVFreeOutflowBoundaryFlux
execute_on = 'linear'
[../]
[]
############################################################
[Variables]
[./u]
block = 0
[../]
[./v]
block = 1
family = LAGRANGE
order = FIRST
[../]
[]
############################################################
[ICs]
[./u_ic]
type = FunctionIC
variable = 'u'
function = ic_u
[../]
[]
############################################################
[Kernels]
[./time_u]
implicit = true
type = TimeDerivative
variable = u
block = 0
[../]
[./diff_v]
implicit = true
type = Diffusion
variable = v
block = 1
[../]
[./time_v]
implicit = true
type = TimeDerivative
variable = v
block = 1
[../]
[]
############################################################
[DGKernels]
[./concentration]
type = AEFVKernel
variable = u
component = 'concentration'
flux = internal_side_flux
block = 0
[../]
[]
############################################################
[BCs]
[./concentration]
type = AEFVBC
boundary = 'left master0_interface'
variable = u
component = 'concentration'
flux = free_outflow_bc
[../]
[./v_left]
type = DirichletBC
boundary = 'master1_interface'
variable = v
value = 1
[../]
[./v_right]
type = DirichletBC
boundary = 'right'
variable = v
value = 0
[../]
[]
############################################################
[Materials]
[./aefv]
type = AEFVMaterial
block = 0
[../]
[./dummy_1]
type = GenericConstantMaterial
block = 1
prop_names = ''
prop_values = ''
[../]
[]
############################################################
[Executioner]
type = Transient
[./TimeIntegrator]
type = ExplicitMidpoint
[../]
solve_type = 'LINEAR'
l_tol = 1e-4
nl_rel_tol = 1e-20
nl_abs_tol = 1e-8
nl_max_its = 60
start_time = 0.0
num_steps = 4 # 4 | 400 for complete run
dt = 5e-4
dtmin = 1e-6
[]
[Outputs]
[./out]
type = Exodus
interval = 2
[../]
perf_graph = true
[]
test/tests/meshgenerators/sidesets_bounding_box_generator/multiple_boundary_ids_3d.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 10
ny = 10
nz = 10
#parallel_type = replicated
[]
[./createNewSidesetOne]
type = SideSetsFromBoundingBoxGenerator
input = gmg
boundary_id_old = 'left bottom front'
boundary_id_new = 10
bottom_left = '-0.1 -0.1 -0.1'
top_right = '0.1 0.2 0.3'
block_id = 0
[]
[./createNewSidesetTwo]
type = SideSetsFromBoundingBoxGenerator
input = createNewSidesetOne
boundary_id_old = 'right top back'
boundary_id_new = 11
bottom_left = '0.6 0.7 0.8'
top_right = '1.1 1.1 1.1'
block_id = 0
[]
[./createNewSidesetThree]
type = SideSetsFromBoundingBoxGenerator
input = createNewSidesetTwo
boundary_id_old = 'left top back'
boundary_id_new = 12
bottom_left = '-0.1 0.9 0.9'
top_right = '0.1 1.1 1.1'
block_id = 0
[]
[./createNewSidesetFour]
type = SideSetsFromBoundingBoxGenerator
input = createNewSidesetThree
boundary_id_old = 'front'
boundary_id_new = 13
bottom_left = '0.4 0.4 0.9'
top_right = '0.6 0.6 1.1'
block_id = 0
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./firstBC]
type = DirichletBC
variable = u
boundary = 10
value = 1
[../]
[./secondBC]
type = DirichletBC
variable = u
boundary = 11
value = 0
[../]
[./thirdBC]
type = DirichletBC
variable = u
boundary = 12
value = 0
[../]
[./fourthBC]
type = DirichletBC
variable = u
boundary = 13
value = 0.5
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/bcs/function_dirichlet_bc/test.i
###########################################################
# This is a test of Boundary Condition System. The
# FunctionDirichletBC is used to contribute the residuals
# to the boundary term operators in the weak form.
#
# @Requirement F3.40
###########################################################
[Mesh]
[./square]
type = GeneratedMeshGenerator
dim = 2
nx = 32
ny = 32
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./ff_1]
type = ParsedFunction
value = alpha*alpha*pi
vars = 'alpha'
vals = '16'
[../]
[./ff_2]
type = ParsedFunction
value = pi*sin(alpha*pi*x)
vars = 'alpha'
vals = '16'
[../]
[./forcing_func]
type = CompositeFunction
functions = 'ff_1 ff_2'
[../]
[./bc_func]
type = ParsedFunction
value = sin(alpha*pi*x)
vars = 'alpha'
vals = '16'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./forcing]
type = BodyForce
variable = u
function = forcing_func
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = 'left right'
function = bc_func
[../]
[]
[Executioner]
type = Steady
nl_rel_tol = 1e-12
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
test/tests/meshgenerators/meta_data_store/mesh_meta_data_store.i
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 12
ny = 10
xmin = 4
xmax = 7
[]
[]
[Variables]
[./u]
[../]
[]
[AutoLineSamplerTest]
# Add a line sampler on the variable right at the nodes based on the GeneratedMeshGenerator
variable = u
mesh_generator = 'gmg'
[]
[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 = 1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
csv = true
[]
test/tests/bcs/function_neumann_bc/test.i
[Mesh]
[./square]
type = GeneratedMeshGenerator
dim = 2
nx = 32
ny = 32
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./exact_func]
type = ParsedFunction
value = x*x
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./forcing]
type = BodyForce
variable = u
value = 2
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = FunctionNeumannBC
function = exact_func
variable = u
boundary = right
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
execute_on = 'timestep_end'
file_base = neumannbc_out
exodus = 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/phase_field/test/tests/misc/interface_flux.i
#
# This test demonstrates an InterfaceKernel (InterfaceDiffusionFlux) that can
# replace a pair of integrated DiffusionFluxBC boundary conditions.
#
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 10
ymax = 0.5
[]
[./box1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.51 1 0'
input = gen
[../]
[./box2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.49 0 0'
top_right = '1 1 0'
input = box1
[../]
[./iface_u]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
input = box2
[../]
[]
[Variables]
[./u2]
block = 1
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.4)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[./v2]
block = 2
[./InitialCondition]
type = FunctionIC
function = 'r:=sqrt((x-0.7)^2+(y-0.5)^2);if(r<0.05,5,1)'
[../]
[../]
[]
[Kernels]
[./u2_diff]
type = Diffusion
variable = u2
block = 1
[../]
[./u2_dt]
type = TimeDerivative
variable = u2
block = 1
[../]
[./v2_diff]
type = Diffusion
variable = v2
block = 2
[../]
[./v2_dt]
type = TimeDerivative
variable = v2
block = 2
[../]
[]
[InterfaceKernels]
[./iface]
type = InterfaceDiffusionBoundaryTerm
boundary = 10
variable = u2
neighbor_var = v2
[../]
[]
[Executioner]
type = Transient
dt = 0.002
num_steps = 6
[]
[Outputs]
exodus = true
print_linear_residuals = false
[]
modules/porous_flow/test/tests/fluidstate/waterncg_nonisothermal.i
[Mesh]
[./mesh]
type = GeneratedMeshGenerator
dim = 2
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
[]
[Variables]
[./pgas]
initial_condition = 1e6
[../]
[./z]
initial_condition = 0.25
[../]
[./temperature]
initial_condition = 70
[../]
[]
[AuxVariables]
[./pressure_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./pressure_water]
order = CONSTANT
family = MONOMIAL
[../]
[./saturation_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./saturation_water]
order = CONSTANT
family = MONOMIAL
[../]
[./density_water]
order = CONSTANT
family = MONOMIAL
[../]
[./density_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./viscosity_water]
order = CONSTANT
family = MONOMIAL
[../]
[./viscosity_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./enthalpy_water]
order = CONSTANT
family = MONOMIAL
[../]
[./enthalpy_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./internal_energy_water]
order = CONSTANT
family = MONOMIAL
[../]
[./internal_energy_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./x0_water]
order = CONSTANT
family = MONOMIAL
[../]
[./x0_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./x1_water]
order = CONSTANT
family = MONOMIAL
[../]
[./x1_gas]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./pressure_water]
type = PorousFlowPropertyAux
variable = pressure_water
property = pressure
phase = 0
execute_on = timestep_end
[../]
[./pressure_gas]
type = PorousFlowPropertyAux
variable = pressure_gas
property = pressure
phase = 1
execute_on = timestep_end
[../]
[./saturation_water]
type = PorousFlowPropertyAux
variable = saturation_water
property = saturation
phase = 0
execute_on = timestep_end
[../]
[./saturation_gas]
type = PorousFlowPropertyAux
variable = saturation_gas
property = saturation
phase = 1
execute_on = timestep_end
[../]
[./density_water]
type = PorousFlowPropertyAux
variable = density_water
property = density
phase = 0
execute_on = timestep_end
[../]
[./density_gas]
type = PorousFlowPropertyAux
variable = density_gas
property = density
phase = 1
execute_on = timestep_end
[../]
[./viscosity_water]
type = PorousFlowPropertyAux
variable = viscosity_water
property = viscosity
phase = 0
execute_on = timestep_end
[../]
[./viscosity_gas]
type = PorousFlowPropertyAux
variable = viscosity_gas
property = viscosity
phase = 1
execute_on = timestep_end
[../]
[./enthalpy_water]
type = PorousFlowPropertyAux
variable = enthalpy_water
property = enthalpy
phase = 0
execute_on = timestep_end
[../]
[./enthalpy_gas]
type = PorousFlowPropertyAux
variable = enthalpy_gas
property = enthalpy
phase = 1
execute_on = timestep_end
[../]
[./internal_energy_water]
type = PorousFlowPropertyAux
variable = internal_energy_water
property = internal_energy
phase = 0
execute_on = timestep_end
[../]
[./internal_energy_gas]
type = PorousFlowPropertyAux
variable = internal_energy_gas
property = internal_energy
phase = 1
execute_on = timestep_end
[../]
[./x1_water]
type = PorousFlowPropertyAux
variable = x1_water
property = mass_fraction
phase = 0
fluid_component = 1
execute_on = timestep_end
[../]
[./x1_gas]
type = PorousFlowPropertyAux
variable = x1_gas
property = mass_fraction
phase = 1
fluid_component = 1
execute_on = timestep_end
[../]
[./x0_water]
type = PorousFlowPropertyAux
variable = x0_water
property = mass_fraction
phase = 0
fluid_component = 0
execute_on = timestep_end
[../]
[./x0_gas]
type = PorousFlowPropertyAux
variable = x0_gas
property = mass_fraction
phase = 1
fluid_component = 0
execute_on = timestep_end
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
variable = pgas
fluid_component = 0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
variable = z
fluid_component = 1
[../]
[./heat]
type = TimeDerivative
variable = temperature
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pgas z '
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[./fs]
type = PorousFlowWaterNCG
water_fp = water
gas_fp = co2
capillary_pressure = pc
[../]
[]
[Modules]
[./FluidProperties]
[./co2]
type = CO2FluidProperties
[../]
[./water]
type = Water97FluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temperature
[../]
[./waterncg]
type = PorousFlowFluidState
gas_porepressure = pgas
z = z
temperature = temperature
temperature_unit = Celsius
capillary_pressure = pc
fluid_state = fs
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-12 0 0 0 1e-12 0 0 0 1e-12'
[../]
[./relperm0]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[./relperm1]
type = PorousFlowRelativePermeabilityCorey
n = 3
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
dt = 1
end_time = 1
nl_abs_tol = 1e-12
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Postprocessors]
[./density_water]
type = ElementIntegralVariablePostprocessor
variable = density_water
[../]
[./density_gas]
type = ElementIntegralVariablePostprocessor
variable = density_gas
[../]
[./viscosity_water]
type = ElementIntegralVariablePostprocessor
variable = viscosity_water
[../]
[./viscosity_gas]
type = ElementIntegralVariablePostprocessor
variable = viscosity_gas
[../]
[./enthalpy_water]
type = ElementIntegralVariablePostprocessor
variable = enthalpy_water
[../]
[./enthalpy_gas]
type = ElementIntegralVariablePostprocessor
variable = enthalpy_gas
[../]
[./internal_energy_water]
type = ElementIntegralVariablePostprocessor
variable = internal_energy_water
[../]
[./internal_energy_gas]
type = ElementIntegralVariablePostprocessor
variable = internal_energy_gas
[../]
[./x0_water]
type = ElementIntegralVariablePostprocessor
variable = x0_water
[../]
[./x1_gas]
type = ElementIntegralVariablePostprocessor
variable = x1_gas
[../]
[./x0_gas]
type = ElementIntegralVariablePostprocessor
variable = x0_gas
[../]
[./sg]
type = ElementIntegralVariablePostprocessor
variable = saturation_gas
[../]
[./sw]
type = ElementIntegralVariablePostprocessor
variable = saturation_water
[../]
[./pwater]
type = ElementIntegralVariablePostprocessor
variable = pressure_water
[../]
[./pgas]
type = ElementIntegralVariablePostprocessor
variable = pressure_gas
[../]
[./x0mass]
type = PorousFlowFluidMass
fluid_component = 0
phase = '0 1'
[../]
[./x1mass]
type = PorousFlowFluidMass
fluid_component = 1
phase = '0 1'
[../]
[]
[Outputs]
csv = true
execute_on = timestep_end
[]
modules/peridynamics/test/tests/mesh/2D_center_crack.i
# Test for generated mesh with predefined center crack geometry
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
cracks_start = '0.25 0.5 0'
cracks_end = '0.75 0.5 0'
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 100
ny = 100
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
# This input file is intended to be run with the "--mesh-only" option so
# no other sections are required
modules/combined/test/tests/phase_field_fracture/crack2d_aniso.i
#This input uses PhaseField-Nonconserved Action to add phase field fracture bulk rate kernels
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 40
ny = 20
ymax = 0.5
[]
[./noncrack]
type = BoundingBoxNodeSetGenerator
new_boundary = noncrack
bottom_left = '0.5 0 0'
top_right = '1 0 0'
input = gen
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules]
[./TensorMechanics]
[./Master]
[./All]
add_variables = true
strain = SMALL
additional_generate_output = 'strain_yy stress_yy'
planar_formulation = PLANE_STRAIN
[../]
[../]
[../]
[./PhaseField]
[./Nonconserved]
[./c]
free_energy = F
kappa = kappa_op
mobility = L
[../]
[../]
[../]
[]
[Kernels]
[./solid_x]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_x
component = 0
c = c
[../]
[./solid_y]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_y
component = 1
c = c
[../]
[./off_disp]
type = AllenCahnElasticEnergyOffDiag
variable = c
displacements = 'disp_x disp_y'
mob_name = L
[../]
[]
[BCs]
[./ydisp]
type = FunctionDirichletBC
variable = disp_y
boundary = top
function = 't'
[../]
[./yfix]
type = DirichletBC
variable = disp_y
boundary = noncrack
value = 0
[../]
[./xfix]
type = DirichletBC
variable = disp_x
boundary = right
value = 0
[../]
[]
[Materials]
[./pfbulkmat]
type = GenericConstantMaterial
prop_names = 'gc_prop l visco'
prop_values = '1e-3 0.05 1e-6'
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '127.0 70.8 70.8 127.0 70.8 127.0 73.55 73.55 73.55'
fill_method = symmetric9
euler_angle_1 = 30
euler_angle_2 = 0
euler_angle_3 = 0
[../]
[./define_mobility]
type = ParsedMaterial
material_property_names = 'gc_prop visco'
f_name = L
function = '1.0/(gc_prop * visco)'
[../]
[./define_kappa]
type = ParsedMaterial
material_property_names = 'gc_prop l'
f_name = kappa_op
function = 'gc_prop * l'
[../]
[./damage_stress]
type = ComputeLinearElasticPFFractureStress
c = c
E_name = 'elastic_energy'
D_name = 'degradation'
F_name = 'local_fracture_energy'
decomposition_type = stress_spectral
use_current_history_variable = true
[../]
[./degradation]
type = DerivativeParsedMaterial
f_name = degradation
args = 'c'
function = '(1.0-c)^2*(1.0 - eta) + eta'
constant_names = 'eta'
constant_expressions = '1.0e-6'
derivative_order = 2
[../]
[./local_fracture_energy]
type = DerivativeParsedMaterial
f_name = local_fracture_energy
args = 'c'
material_property_names = 'gc_prop l'
function = 'c^2 * gc_prop / 2 / l'
derivative_order = 2
[../]
[./fracture_driving_energy]
type = DerivativeSumMaterial
args = c
sum_materials = 'elastic_energy local_fracture_energy'
derivative_order = 2
f_name = F
[../]
[]
[Postprocessors]
[./av_stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./av_strain_yy]
type = SideAverageValue
variable = disp_y
boundary = top
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_factor_mat_solving_package'
petsc_options_value = 'lu superlu_dist'
nl_rel_tol = 1e-8
l_tol = 1e-4
l_max_its = 100
nl_max_its = 10
dt = 5e-5
num_steps = 2
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/global_strain/global_strain_uniaxial.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 2
ny = 2
nz = 2
[]
[cnode]
type = ExtraNodesetGenerator
coord = '0.0 0.0 0.0'
new_boundary = 100
input = generated_mesh
[]
[]
[Variables]
[./u_x]
[../]
[./u_y]
[../]
[./u_z]
[../]
[./global_strain]
order = SIXTH
family = SCALAR
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./s00]
order = CONSTANT
family = MONOMIAL
[../]
[./s11]
order = CONSTANT
family = MONOMIAL
[../]
[./e00]
order = CONSTANT
family = MONOMIAL
[../]
[./e11]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./disp_x]
type = GlobalDisplacementAux
variable = disp_x
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 0
[../]
[./disp_y]
type = GlobalDisplacementAux
variable = disp_y
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 1
[../]
[./disp_z]
type = GlobalDisplacementAux
variable = disp_z
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 2
[../]
[./s00]
type = RankTwoAux
variable = s00
rank_two_tensor = stress
index_i = 0
index_j = 0
[../]
[./s11]
type = RankTwoAux
variable = s11
rank_two_tensor = stress
index_i = 1
index_j = 1
[../]
[./e00]
type = RankTwoAux
variable = e00
rank_two_tensor = total_strain
index_i = 0
index_j = 0
[../]
[./e11]
type = RankTwoAux
variable = e11
rank_two_tensor = total_strain
index_i = 1
index_j = 1
[../]
[]
[GlobalParams]
displacements = 'u_x u_y u_z'
block = 0
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[ScalarKernels]
[./global_strain]
type = GlobalStrain
variable = global_strain
global_strain_uo = global_strain_uo
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'x y z'
variable = ' u_x u_y u_z'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = u_x
value = 0
[../]
[./centerfix_y]
type = DirichletBC
boundary = 100
variable = u_y
value = 0
[../]
[./centerfix_z]
type = DirichletBC
boundary = 100
variable = u_z
value = 0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeElasticityTensor
block = 0
C_ijkl = '70e9 0.33'
fill_method = symmetric_isotropic_E_nu
[../]
[./strain]
type = ComputeSmallStrain
global_strain = global_strain
[../]
[./global_strain]
type = ComputeGlobalStrain
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[UserObjects]
[./global_strain_uo]
type = GlobalStrainUserObject
applied_stress_tensor = '5e9 0 0 0 0 0'
execute_on = 'Initial Linear Nonlinear'
[../]
[]
[Postprocessors]
[./l2err_e00]
type = ElementL2Error
variable = e00
function = 0.07142857 #strain_xx = C1111/sigma_xx
[../]
[./l2err_e11]
type = ElementL2Error
variable = e11
function = -0.07142857*0.33 #strain_yy = -nu*strain_xx
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
l_max_its = 30
nl_max_its = 12
nl_rel_tol = 1.0e-10
start_time = 0.0
num_steps = 1
[]
[Outputs]
exodus = true
[]
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/tensor_mechanics/test/tests/ad_action/two_block_no_action.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[]
[block1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.5 1 0'
input = generated_mesh
[]
[block2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.5 0 0'
top_right = '1 1 0'
input = block1
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
# [Modules/TensorMechanics/Master]
# [./block1]
# strain = FINITE
# add_variables = true
# #block = 1
# use_automatic_differentiation = true
# [../]
# [./block2]
# strain = SMALL
# add_variables = true
# block = 2
# use_automatic_differentiation = true
# [../]
# []
[Kernels]
[./disp_x]
type = ADStressDivergenceTensors
variable = disp_x
component = 0
[../]
[./disp_y]
type = ADStressDivergenceTensors
variable = disp_y
component = 1
[../]
[]
[AuxVariables]
[./stress_theta]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_theta]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_theta]
type = RankTwoAux
rank_two_tensor = stress
index_i = 2
index_j = 2
variable = stress_theta
execute_on = timestep_end
[../]
[./strain_theta]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 2
index_j = 2
variable = strain_theta
execute_on = timestep_end
[../]
[]
[Materials]
[./block_1]
type = ADComputeFiniteStrain
block = 1
[../]
[./block_2]
type = ADComputeSmallStrain
block = 2
[../]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e10
poissons_ratio = 0.345
[../]
[./_elastic_stress1]
type = ADComputeFiniteStrainElasticStress
block = 1
[../]
[./_elastic_stress2]
type = ADComputeLinearElasticStress
block = 2
[../]
[]
[BCs]
[./left]
type = DirichletBC
boundary = 'left'
variable = disp_x
value = 0.0
[../]
[./top]
type = DirichletBC
boundary = 'top'
variable = disp_y
value = 0.0
[../]
[./right]
type = DirichletBC
boundary = 'right'
variable = disp_x
value = 0.01
[../]
[./bottom]
type = DirichletBC
boundary = 'bottom'
variable = disp_y
value = 0.01
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[Preconditioning]
[./full]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = ' 201 hypre boomeramg 10'
line_search = 'none'
nl_rel_tol = 5e-9
nl_abs_tol = 1e-10
nl_max_its = 15
l_tol = 1e-3
l_max_its = 50
[]
[Outputs]
exodus = true
[]
modules/phase_field/test/tests/feature_volume_vpp_test/boundary_area_2D.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 50
ny = 50
xmin = 0
xmax = 50
ymin = 0
ymax = 50
elem_type = QUAD4
[]
[./left_side]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '24.9 50 0'
input = gen
[../]
[./right_side]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '25.1 0 0'
top_right = '50 50 0'
input = left_side
[../]
[./iface_u]
type = SideSetsBetweenSubdomainsGenerator
master_block = 1
paired_block = 2
new_boundary = 10
input = right_side
[../]
[]
[Variables]
[./c]
order = FIRST
family = LAGRANGE
[]
[]
[AuxVariables]
[./unique_regions]
family = MONOMIAL
order = CONSTANT
[../]
[]
[ICs]
[./c]
type = SpecifiedSmoothCircleIC
variable = c
invalue = 1.0
outvalue = 0.0
radii = '4 5 10'
x_positions = '25 25 25'
y_positions = '37.5 25 0'
z_positions = '0 0 0'
int_width = 2.0
[]
[]
[Postprocessors]
[./flood_count]
type = FeatureFloodCount
variable = c
# Must be turned on to build data structures necessary for FeatureVolumeVPP
compute_var_to_feature_map = true
threshold = 0.001
execute_on = INITIAL
[../]
[]
[VectorPostprocessors]
[./features]
type = FeatureVolumeVectorPostprocessor
flood_counter = flood_count
# Turn on centroid output
output_centroids = true
execute_on = INITIAL
boundary = 10
single_feature_per_element = false
[../]
[]
[Kernels]
[diff]
type = Diffusion
variable = c
[]
[]
[AuxKernels]
[./unique_regions]
type = FeatureFloodCountAux
variable = unique_regions
flood_counter = flood_count
field_display = UNIQUE_REGION
[../]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
execute_on = INITIAL
[]
modules/combined/test/tests/mortar_tm/2d/frictionless_second/small.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'small'
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = FunctionDirichletBC
variable = disp_x
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeLinearElasticStress
block = 'plank block'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/userobjects/setup_interface_count/internal_side.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[./right_side]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 0.5 0'
block_id = 1
[../]
[]
[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 = 10
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Postprocessors]
[./initial] # 1 per simulation
type = InternalSideSetupInterfaceCount
count_type = 'initial'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./timestep] # once per timestep
type = InternalSideSetupInterfaceCount
count_type = 'timestep'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./subdomain] # 1 on initial and 2 for each timestep
type = InternalSideSetupInterfaceCount
count_type = 'subdomain'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./initialize] # 1 for initial and 2 for each timestep
type = InternalSideSetupInterfaceCount
count_type = 'initialize'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./finalize] # 1 for initial and 2 for each timestep
type = InternalSideSetupInterfaceCount
count_type = 'finalize'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./execute] # 4 for initial and 8 for each timestep
type = InternalSideSetupInterfaceCount
count_type = 'execute'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./threadjoin] # 1 for initial and 2 for each timestep
type = InternalSideSetupInterfaceCount
count_type = 'threadjoin'
execute_on = 'initial timestep_begin timestep_end'
[../]
[]
[Outputs]
csv = true
[]
test/tests/meshgenerators/bounding_box_nodeset_generator/boundingbox_nodeset_outside.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
parallel_type = replicated
[]
[./nodeset]
type = BoundingBoxNodeSetGenerator
input = gmg
new_boundary = middle_node
top_right = '1.1 1.1 0'
bottom_left = '0.51 0.51 0'
location = OUTSIDE
[]
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/examples/coal_mining/cosserat_mc_wp_sticky.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 at z=0, but there is a time-dependent
# Young's modulus that simulates excavation
# - 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.
#
# 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 = 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
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 150 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*(403.003-z)'
[../]
[./ini_zz]
type = ParsedFunction
value = '-2500*10E-6*(403.003-z)'
[../]
[./excav_sideways]
type = ParsedFunction
vars = 'end_t ymin ymax minval maxval slope'
vals = '1.0 0 150.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 150.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
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]
# this is needed so as to correctly apply the initial 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
[../]
[./stress_1]
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_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 = '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-8
nl_rel_tol = 1e-8
l_max_its = 30
nl_max_its = 1000
start_time = 0.0
dt = 0.01
end_time = 1.0
[]
[Outputs]
file_base = cosserat_mc_wp_sticky
interval = 1
print_linear_residuals = false
exodus = true
csv = true
console = true
[]
modules/heat_conduction/test/tests/sideset_heat_transfer/gap_thermal_1D.i
[Mesh]
[mesh]
type = GeneratedMeshGenerator
dim = 1
nx = 2
xmax = 2
[]
[split]
type = SubdomainBoundingBoxGenerator
input = mesh
block_id = 1
bottom_left = '1 0 0'
top_right = '2 0 0'
[]
[interface]
type = SideSetsBetweenSubdomainsGenerator
input = split
master_block = 1
paired_block = 0
new_boundary = 'interface0'
[]
uniform_refine = 4
[]
[Variables]
# Defining a DFEM variable to handle gap discontinuity
[T]
order = FIRST
family = MONOMIAL
[]
[]
[AuxVariables]
# Auxvariable containing bulk temperature of gap
[Tbulk]
order = FIRST
family = LAGRANGE
initial_condition = 300 # K
[]
[]
[Kernels]
[diff]
type = MatDiffusion
variable = T
diffusivity = conductivity
[]
[source]
type = BodyForce
variable = T
value = 1.0
[]
[]
[DGKernels]
# DG kernel to represent diffusion accross element faces
[./dg_diff]
type = DGDiffusion
variable = T
epsilon = -1
sigma = 6
diff = conductivity
# Ignoring gap side set because no diffusion accross there
exclude_boundary = 'interface0'
[../]
[]
[InterfaceKernels]
active = 'gap'
# Heat transfer kernel using Tbulk as material
[gap]
type = SideSetHeatTransferKernel
variable = T
neighbor_var = T
boundary = 'interface0'
[]
# Heat transfer kernel using Tbulk as auxvariable
[gap_var]
type = SideSetHeatTransferKernel
variable = T
neighbor_var = T
boundary = 'interface0'
Tbulk_var = Tbulk
[]
[]
[Functions]
[bc_func]
type = ConstantFunction
value = 300
[]
[exact]
type = ParsedFunction
value = '
A := if(x < 1, -0.5, -0.25);
B := if(x < 1, -0.293209850655001, 0.0545267662299068);
C := if(x < 1, 300.206790149345, 300.19547323377);
d := -1;
A * (x+d) * (x+d) + B * (x+d) + C'
[]
[]
[BCs]
[bc_left]
type = DGFunctionDiffusionDirichletBC
boundary = 'left'
variable = T
diff = 'conductivity'
epsilon = -1
sigma = 6
function = bc_func
[]
[bc_right]
type = DGFunctionDiffusionDirichletBC
boundary = 'right'
variable = T
diff = 'conductivity'
epsilon = -1
sigma = 6
function = bc_func
[]
[]
[Materials]
[k0]
type = GenericConstantMaterial
prop_names = 'conductivity'
prop_values = 1.0
block = 0
[]
[k1]
type = GenericConstantMaterial
prop_names = 'conductivity'
prop_values = 2.0
block = 1
[]
[gap_mat]
type = SideSetHeatTransferMaterial
boundary = 'interface0'
conductivity = 1.5
gap_length = 1.0
h_master = 1
h_neighbor = 1
Tbulk = 300
emissivity_master = 1
emissivity_neighbor = 1
[]
[]
[Postprocessors]
[error]
type = ElementL2Error
variable = T
function = exact
[]
[]
[Executioner]
type = Steady
nl_rel_tol = 1e-12
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/global_strain/global_strain.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
xmin = -0.5
xmax = 0.5
ymin = -0.5
ymax = 0.5
[]
[cnode]
type = ExtraNodesetGenerator
coord = '0 0'
new_boundary = 100
input = generated_mesh
[]
[]
[Variables]
[./u_x]
[../]
[./u_y]
[../]
[./global_strain]
order = THIRD
family = SCALAR
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxKernels]
[./disp_x]
type = GlobalDisplacementAux
variable = disp_x
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 0
[../]
[./disp_y]
type = GlobalDisplacementAux
variable = disp_y
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 1
[../]
[]
[GlobalParams]
displacements = 'u_x u_y'
block = 0
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[ScalarKernels]
[./global_strain]
type = GlobalStrain
variable = global_strain
global_strain_uo = global_strain_uo
[../]
[]
[BCs]
[./Periodic]
[./left-right]
auto_direction = 'x y'
variable = 'u_x u_y'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = u_x
value = 0
[../]
[./centerfix_y]
type = DirichletBC
boundary = 100
variable = u_y
value = 0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeElasticityTensor
block = 0
C_ijkl = '1 1'
fill_method = symmetric_isotropic
[../]
[./strain]
type = ComputeSmallStrain
global_strain = global_strain
[../]
[./global_strain]
type = ComputeGlobalStrain
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[UserObjects]
[./global_strain_uo]
type = GlobalStrainUserObject
applied_stress_tensor = '0.1 0.2 0 0 0 -0.2'
execute_on = 'Initial Linear Nonlinear'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
l_max_its = 30
nl_max_its = 12
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
nl_abs_tol = 1.0e-10
start_time = 0.0
num_steps = 2
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/crystal_plasticity/rot-eg1.i
#
# Rotation Test
#
# This test is designed to compute a uniaxial stress and then follow that
# stress as the mesh is rotated 90 degrees.
#
# The mesh is composed of one block with a single element. The nodal
# displacements in the x and y directions are prescribed. Poisson's
# ratio is zero.
#
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 3
elem_type = HEX8
displacements = 'ux uy uz'
[]
[./side1n1]
input = gen
type = ExtraNodesetGenerator
coord = '0.0 0.0 0.0'
boundary = 6
[../]
[./side1n2]
input = side1n1
type = ExtraNodesetGenerator
coord = '1.0 0.0 0.0'
boundary = 7
[../]
[./side2n1]
input = side1n2
type = ExtraNodesetGenerator
coord = '0.0 1.0 0.0'
boundary = 8
[../]
[./side2n2]
input = side2n1
type = ExtraNodesetGenerator
coord = '1.0 1.0 0.0'
boundary = 9
[../]
[./side3n1]
input = side2n2
type = ExtraNodesetGenerator
coord = '0.0 1.0 1.0'
boundary = 10
[../]
[./side3n2]
input = side3n1
type = ExtraNodesetGenerator
coord = '1.0 1.0 1.0'
boundary = 11
[../]
[./side4n1]
input = side3n2
type = ExtraNodesetGenerator
coord = '0.0 0.0 1.0'
boundary = 12
[../]
[./side4n2]
input = side4n1
type = ExtraNodesetGenerator
coord = '1.0 0.0 1.0'
boundary = 13
[../]
[]
[Variables]
[./ux]
block = 0
[../]
[./uy]
block = 0
[../]
[./uz]
block = 0
[../]
[]
[Functions]
[./side2uxfunc]
type = ParsedFunction
value = cos(pi/2*t)-1
[../]
[./side2uyfunc]
type = ParsedFunction
value = sin(pi/2*t)
[../]
[./side3uxfunc]
type = ParsedFunction
value = cos(pi/2*t)-sin(pi/2*t)-1
[../]
[./side3uyfunc]
type = ParsedFunction
value = cos(pi/2*t)+sin(pi/2*t)-1
[../]
[./side4uxfunc]
type = ParsedFunction
value = -sin(pi/2*t)
[../]
[./side4uyfunc]
type = ParsedFunction
value = cos(pi/2*t)-1
[../]
[]
[BCs]
active = 'bcside1 bcside2ux bcside2uy bcside4ux bcside4uy bcside3uy bcside3ux bcx'
[./bcside1]
type = DirichletBC
variable = 'uy uz'
boundary = '6 7'
value = 0
[../]
[./bcside2ux]
type = FunctionDirichletBC
variable = uy
boundary = '8 9'
function = side2uxfunc
[../]
[./bcside2uy]
type = FunctionDirichletBC
variable = uz
boundary = '8 9'
function = side2uyfunc
[../]
[./bcside3ux]
type = FunctionDirichletBC
variable = uy
boundary = '10 11'
function = side3uxfunc
[../]
[./bcside3uy]
type = FunctionDirichletBC
variable = uz
boundary = '10 11'
function = side3uyfunc
[../]
[./bcside4ux]
type = FunctionDirichletBC
variable = uy
boundary = '12 13'
function = side4uxfunc
[../]
[./bcside4uy]
type = FunctionDirichletBC
variable = uz
boundary = '12 13'
function = side4uyfunc
[../]
[./bot]
type = DirichletBC
variable = 'ux uy uz'
boundary = back
value = 0
[../]
[./topxz]
type = DirichletBC
variable = 'ux uz'
boundary = front
value = 0
[../]
[./topy]
type = DirichletBC
variable = uy
boundary = front
value = 1
[../]
[./bcx]
type = DirichletBC
variable = ux
boundary = '6 7 8 9 10 11 12 13'
value = 0
[../]
[]
[Materials]
[./crysp]
type = FiniteStrainCrystalPlasticity
block = 0
disp_y = uy
disp_x = ux
slip_sys_file_name = input_slip_sys.txt
disp_z = uz
flowprops = ' 1 12 0.001 0.1'
C_ijkl = '1.684e5 1.214e5 1.214e5 1.684e5 1.214e5 1.684e5 .754e5 .754e5 .754e5'
nss = 12
hprops = '1 541.5 60.8 109.8'
gprops = '1 12 60.8'
fill_method = symmetric9
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
dt = 0.01
#Preconditioned JFNK (default)
solve_type = 'PJFNK'
petsc_options_iname = -pc_hypre_type
petsc_options_value = boomerang
dtmax = 0.01
end_time = 1
dtmin = 0.01
[]
[Outputs]
file_base = rot_eg1
solution_history = true
[./exodus]
type = Exodus
use_displaced = true
[../]
[]
[TensorMechanics]
[./tensormech]
disp_z = uz
disp_y = uy
disp_x = ux
[../]
[]
test/tests/meshgenerators/sidesets_bounding_box_generator/error_no_nodes_found.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
#parallel_type = replicated
[]
[./createNewSidesetOne]
type = SideSetsFromBoundingBoxGenerator
input = gmg
boundary_id_old = 'right'
boundary_id_new = 11
bottom_left = '0.5 0.5 0'
top_right = '1.9 1.9 0'
block_id = 0
[]
[./createNewSidesetTwo]
type = SideSetsFromBoundingBoxGenerator
input = createNewSidesetOne
boundary_id_old = 'top right'
boundary_id_new = 10
bottom_left = '-0.1 -0.1 0'
top_right = '0.7 0.3 0'
block_id = 0
boundary_id_overlap = true
[]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./leftBC]
type = DirichletBC
variable = u
boundary = 10
value = 1
[../]
[./rightBC]
type = DirichletBC
variable = u
boundary = 11
value = 0
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/plane_stress/conventional_planestress_NOSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1003
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1003
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 1001
value = 0.001
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = NONORDINARY_STATE
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputePlaneStressIsotropicElasticityTensor
youngs_modulus = 2.1e8
poissons_ratio = 0.3
[../]
[./strain]
type = ComputeSmallStrainNOSPD
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0
end_time = 1
nl_rel_tol = 1e-10
[./Quadrature]
type = GAUSS_LOBATTO
order = FIRST
[../]
[]
[Outputs]
file_base = conventional_planestress_NOSPD
exodus = true
[]
test/tests/interfacekernels/1d_interface/ik_save_in_test.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
nx = 2
xmax = 2
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '1.0 0 0'
block_id = 1
top_right = '2.0 1.0 0'
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain1
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[./interface_again]
type = SideSetsBetweenSubdomainsGenerator
input = interface
master_block = '1'
paired_block = '0'
new_boundary = 'master1_interface'
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = '0'
[../]
[./v]
order = FIRST
family = LAGRANGE
block = '1'
[../]
[]
[AuxVariables]
[./master_resid]
[../]
[./slave_resid]
[../]
[./master_jac]
[../]
[./slave_jac]
[../]
[]
[Kernels]
[./diff_u]
type = CoeffParamDiffusion
variable = u
D = 4
block = 0
save_in = 'master_resid'
[../]
[./diff_v]
type = CoeffParamDiffusion
variable = v
D = 2
block = 1
save_in = 'slave_resid'
[../]
[]
[InterfaceKernels]
[./interface]
type = InterfaceDiffusion
variable = u
neighbor_var = v
boundary = master0_interface
D = 4
D_neighbor = 2
save_in_var_side = 'm s'
save_in = 'master_resid slave_resid'
diag_save_in_var_side = 'm s'
diag_save_in = 'master_jac slave_jac'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 'left'
value = 0
save_in = 'master_resid'
[../]
[./right]
type = DirichletBC
variable = v
boundary = 'right'
value = 1
save_in = 'slave_resid'
[../]
[./middle]
type = MatchedValueBC
variable = v
boundary = 'master0_interface'
v = u
save_in = 'slave_resid'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
print_linear_residuals = true
[]
[Debug]
show_var_residual_norms = true
[]
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
[../]
[]
test/tests/meshgenerators/subdomain_bounding_box_generator/oriented_subdomain_bounding_box_generator.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
xmin = -6
xmax = 4
nx = 10
ymin = -2
ymax = 10
ny = 12
zmin = -5
zmax = 7
nz = 12
[]
[./subdomains]
type = OrientedSubdomainBoundingBoxGenerator
input = gmg
center = '-1 4 1'
width = 5
length = 10
height = 4
width_direction = '2 1 0'
length_direction = '-1 2 2'
block_id = 10
[]
[]
[Problem]
type = FEProblem
solve = false
kernel_coverage_check = false
[]
[Variables]
[./u]
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
[]
[Outputs]
exodus = true
[]
test/tests/interfacekernels/1d_interface/coupled_value_coupled_flux_with_jump_material.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
nx = 10
xmax = 2
[]
[./subdomain1]
type = SubdomainBoundingBoxGenerator
bottom_left = '1.0 0 0'
block_id = 1
top_right = '2.0 1.0 0'
input = gen
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain1
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = '0'
[../]
[./v]
order = FIRST
family = LAGRANGE
block = '1'
[../]
[]
[Kernels]
[./diff_u]
type = CoeffParamDiffusion
variable = u
D = 4
block = 0
[../]
[./diff_v]
type = CoeffParamDiffusion
variable = v
D = 2
block = 1
[../]
[]
[InterfaceKernels]
[./penalty_interface]
type = PenaltyInterfaceDiffusion
variable = u
neighbor_var = v
boundary = master0_interface
penalty = 1e6
jump_prop_name = jump
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 'left'
value = 1
[../]
[./right]
type = DirichletBC
variable = v
boundary = 'right'
value = 0
[../]
[]
[Materials]
[./jump]
type = JumpInterfaceMaterial
var = u
neighbor_var = v
boundary = master0_interface
[../]
[./stateful]
type = StatefulMaterial
initial_diffusivity = 1
boundary = master0_interface
[../]
[./block0]
type = GenericConstantMaterial
block = '0'
prop_names = 'D'
prop_values = '4'
[../]
[./block1]
type = GenericConstantMaterial
block = '1'
prop_names = 'D'
prop_values = '2'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
print_linear_residuals = true
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/meshgenerators/break_boundary_on_subdomain/break_bottom_interface_on_subdomain.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 2
xmax = 2
ny = 2
ymax = 2
nz = 2
zmax = 2
[]
[./subdomain1]
type = SubdomainBoundingBoxGenerator
input = gmg
bottom_left = '0 0 0'
top_right = '1 1 1'
block_id = 1
[]
[./subdomain2]
type = SubdomainBoundingBoxGenerator
input = subdomain1
bottom_left = '1 0 0'
top_right = '2 1 1'
block_id = 2
[]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain2
master_block = '1 2'
paired_block = '0'
new_boundary = 'interface'
[]
[./break_boundary]
input = interface
type = BreakBoundaryOnSubdomainGenerator
boundaries = 'bottom interface'
[../]
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/action/no_block.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[]
[block1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.5 1 0'
input = generated_mesh
[]
[block2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.5 0 0'
top_right = '1 1 0'
input = block1
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules/TensorMechanics/Master]
# parameters that apply to all subblocks are specified at this level. But
# no subblocks are present. This should trigger a warning.
add_variables = true
strain = FINITE
generate_output = 'stress_xx'
[]
[AuxVariables]
[./stress_theta]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_theta]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_theta]
type = RankTwoAux
rank_two_tensor = stress
index_i = 2
index_j = 2
variable = stress_theta
execute_on = timestep_end
[../]
[./strain_theta]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 2
index_j = 2
variable = strain_theta
execute_on = timestep_end
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e10
poissons_ratio = 0.345
[../]
[./_elastic_stress1]
type = ComputeFiniteStrainElasticStress
block = 1
[../]
[./_elastic_stress2]
type = ComputeFiniteStrainElasticStress
block = 2
[../]
[]
[BCs]
[./left]
type = DirichletBC
boundary = 'left'
variable = disp_x
value = 0.0
[../]
[./top]
type = DirichletBC
boundary = 'top'
variable = disp_y
value = 0.0
[../]
[./right]
type = DirichletBC
boundary = 'right'
variable = disp_x
value = 0.01
[../]
[./bottom]
type = DirichletBC
boundary = 'bottom'
variable = disp_y
value = 0.01
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[Executioner]
type = Steady
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = ' 201 hypre boomeramg 10'
line_search = 'none'
nl_rel_tol = 5e-9
nl_abs_tol = 1e-10
nl_max_its = 15
l_tol = 1e-3
l_max_its = 50
[]
[Outputs]
exodus = true
[]
test/tests/transfers/multiapp_conservative_transfer/master_nearest_point.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmax = 1
ymax = 1
nx = 10
ny = 10
[]
[block1]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0.5 0 0'
top_right = '1 1 0'
[]
[]
[Variables]
[power_density]
[]
[]
[Functions]
[pwr_func]
type = ParsedFunction
value = '1e3*x*(1-x)+5e2'
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = power_density
[]
[coupledforce]
type = BodyForce
variable = power_density
function = pwr_func
[]
[]
[BCs]
[left]
type = DirichletBC
variable = power_density
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = power_density
boundary = right
value = 1e3
[]
[]
[AuxVariables]
[from_sub]
[]
[]
[VectorPostprocessors]
[from_nearest_point]
type = NearestPointIntegralVariablePostprocessor
variable = power_density
points = '0 0.5 0 1 0.5 0'
execute_on = 'transfer nonlinear TIMESTEP_END'
[]
[to_nearest_point]
type = NearestPointIntegralVariablePostprocessor
variable = from_sub
points = '0 0.5 0 1 0.5 0'
execute_on = 'transfer nonlinear TIMESTEP_END'
[]
[]
[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_nearest_point.i
positions = '0 0 0 0.5 0 0'
execute_on = timestep_end
[]
[]
[Transfers]
[to_sub]
type = MultiAppMeshFunctionTransfer
direction = to_multiapp
source_variable = power_density
variable = from_master
multi_app = sub
execute_on = timestep_end
# The following inputs specify what postprocessors should be conserved
# 1 NearestPointIntegralVariablePostprocessor is specified on the master
# side with N points, where N is the number of subapps
# 1 pp is specified on the subapp side
from_postprocessors_to_be_preserved = 'from_nearest_point'
to_postprocessors_to_be_preserved = 'from_master_pp'
[]
[from_sub]
type = MultiAppMeshFunctionTransfer
direction = from_multiapp
source_variable = sink
variable = from_sub
multi_app = sub
execute_on = timestep_end
# The following inputs specify what postprocessors should be conserved
# 1 NearestPointIntegralVariablePostprocessor is specified on the master
# with N points, where N is the number of subapps
# 1 pp is specified on the subapp side
to_postprocessors_to_be_preserved = 'to_nearest_point'
from_postprocessors_to_be_preserved = 'sink'
[]
[]
[Outputs]
csv = true
exodus = true
[]
modules/peridynamics/test/tests/jacobian_check/2D_heat_conduction_BPD.i
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./temp]
[../]
[]
[AuxVariables]
[./bond_status]
order = CONSTANT
family = MONOMIAL
initial_condition = 1
[../]
[]
[Kernels]
[./HeatConduction]
type = HeatConductionBPD
variable = temp
[../]
[]
[Materials]
[./thermal_mat]
type = ThermalConstantHorizonMaterialBPD
temperature = temp
thermal_conductivity = 1.0
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[]
test/tests/tag/tag_interface_kernels.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 3
nx = 2
xmax = 2
ny = 2
ymax = 2
nz = 2
zmax = 2
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 1 1'
block_id = 1
[../]
[./break_boundary]
input = subdomain1
type = BreakBoundaryOnSubdomainGenerator
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = break_boundary
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = 0
[../]
[./v]
order = FIRST
family = LAGRANGE
block = 1
[../]
[]
[Kernels]
[./diff_u]
type = CoeffParamDiffusion
variable = u
D = 4
block = 0
extra_matrix_tags = 'mat_tag1 mat_tag2'
extra_vector_tags = 'vec_tag1'
[../]
[./diff_v]
type = CoeffParamDiffusion
variable = v
D = 2
block = 1
extra_matrix_tags = 'mat_tag1 mat_tag2'
extra_vector_tags = 'vec_tag1'
[../]
[./source_u]
type = BodyForce
variable = u
value = 1
extra_matrix_tags = 'mat_tag1 mat_tag2'
extra_vector_tags = 'vec_tag1 vec_tag2'
[../]
[]
[InterfaceKernels]
[./interface]
type = PenaltyInterfaceDiffusion
variable = u
neighbor_var = v
boundary = master0_interface
penalty = 1e6
extra_matrix_tags = 'mat_tag1 mat_tag2'
extra_vector_tags = 'vec_tag1 vec_tag2'
[../]
[]
[BCs]
[./u]
type = VacuumBC
variable = u
boundary = 'left_to_0 bottom_to_0 back_to_0 right top front'
extra_matrix_tags = 'mat_tag1 mat_tag2'
extra_vector_tags = 'vec_tag1'
[../]
[./v]
type = VacuumBC
variable = v
boundary = 'left_to_1 bottom_to_1 back_to_1'
extra_matrix_tags = 'mat_tag1 mat_tag2'
extra_vector_tags = 'vec_tag1'
[../]
[]
[AuxVariables]
[./tag_variable1]
order = FIRST
family = LAGRANGE
block = 0
[../]
[./tag_variable2]
order = FIRST
family = LAGRANGE
block = 1
[../]
[]
[AuxKernels]
[./TagVectorAux1]
type = TagVectorAux
variable = tag_variable1
v = u
block = 0
vector_tag = vec_tag2
execute_on = timestep_end
[../]
[./TagVectorAux2]
type = TagMatrixAux
variable = tag_variable2
v = v
block = 1
matrix_tag = mat_tag2
execute_on = timestep_end
[../]
[]
[Postprocessors]
[./u_int]
type = ElementIntegralVariablePostprocessor
variable = u
block = 0
[../]
[./v_int]
type = ElementIntegralVariablePostprocessor
variable = v
block = 1
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Problem]
type = TagTestProblem
test_tag_vectors = 'nontime residual vec_tag1 vec_tag2'
test_tag_matrices = 'mat_tag1 mat_tag2'
extra_tag_matrices = 'mat_tag1 mat_tag2'
extra_tag_vectors = 'vec_tag1 vec_tag2'
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
[]
test/tests/interfacekernels/3d_interface/coupled_value_coupled_flux_with_jump_material.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 3
nx = 2
xmax = 2
ny = 2
ymax = 2
nz = 2
zmax = 2
[]
[./subdomain1]
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 1 1'
block_id = 1
input = gen
[../]
[./break_boundary]
input = subdomain1
type = BreakBoundaryOnSubdomainGenerator
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = break_boundary
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = 0
[../]
[./v]
order = FIRST
family = LAGRANGE
block = 1
[../]
[]
[Kernels]
[./diff_u]
type = CoeffParamDiffusion
variable = u
D = 4
block = 0
[../]
[./diff_v]
type = CoeffParamDiffusion
variable = v
D = 2
block = 1
[../]
[./source_u]
type = BodyForce
variable = u
value = 1
[../]
[]
[AuxVariables]
[./jump_var]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[jump_aux]
type = MaterialRealAux
boundary = master0_interface
property = jump
variable = jump_var
[]
[]
[InterfaceKernels]
[./interface]
type = PenaltyInterfaceDiffusion
variable = u
neighbor_var = v
boundary = master0_interface
penalty = 1e6
jump_prop_name = jump
[../]
[]
[Materials]
[./jump]
type = JumpInterfaceMaterial
var = u
neighbor_var = v
boundary = master0_interface
[../]
[]
[BCs]
[./u]
type = VacuumBC
variable = u
boundary = 'left_to_0 bottom_to_0 back_to_0 right top front'
[../]
[./v]
type = VacuumBC
variable = v
boundary = 'left_to_1 bottom_to_1 back_to_1'
[../]
[]
[Postprocessors]
[./u_int]
type = ElementIntegralVariablePostprocessor
variable = u
block = 0
[../]
[./v_int]
type = ElementIntegralVariablePostprocessor
variable = v
block = 1
[../]
[interface_var_jump]
type = InterfaceAverageVariableValuePostprocessor
interface_value_type = jump_abs
variable = u
neighbor_variable = v
execute_on = TIMESTEP_END
boundary = master0_interface
[]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
print_linear_residuals = true
[]
modules/combined/test/tests/phase_field_fracture/crack2d_linear_fracture_energy.i
#This input uses PhaseField-Nonconserved Action to add phase field fracture bulk rate kernels
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 10
ymax = 0.5
[]
[./noncrack]
type = BoundingBoxNodeSetGenerator
new_boundary = noncrack
bottom_left = '0.5 0 0'
top_right = '1 0 0'
input = gen
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules]
[./PhaseField]
[./Nonconserved]
[./c]
free_energy = F
kappa = kappa_op
mobility = L
[../]
[../]
[../]
[./TensorMechanics]
[./Master]
[./mech]
add_variables = true
strain = SMALL
additional_generate_output = 'stress_yy'
save_in = 'resid_x resid_y'
[../]
[../]
[../]
[]
[AuxVariables]
[./resid_x]
[../]
[./resid_y]
[../]
[]
[Kernels]
[./solid_x]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_x
component = 0
c = c
[../]
[./solid_y]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_y
component = 1
c = c
[../]
[]
[BCs]
[./ydisp]
type = FunctionDirichletBC
variable = disp_y
boundary = top
function = 't'
[../]
[./yfix]
type = DirichletBC
variable = disp_y
boundary = noncrack
value = 0
[../]
[./xfix]
type = DirichletBC
variable = disp_x
boundary = top
value = 0
[../]
[]
[Materials]
[./pfbulkmat]
type = GenericConstantMaterial
prop_names = 'gc_prop l visco'
prop_values = '1e-3 0.04 1e-4'
[../]
[./define_mobility]
type = ParsedMaterial
material_property_names = 'gc_prop visco'
f_name = L
function = '1.0/(gc_prop * visco)'
[../]
[./define_kappa]
type = ParsedMaterial
material_property_names = 'gc_prop l'
f_name = kappa_op
function = 'gc_prop * l * 3 / 4'
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '120.0 80.0'
fill_method = symmetric_isotropic
[../]
[./elastic]
type = ComputeLinearElasticPFFractureStress
c = c
E_name = 'elastic_energy'
D_name = 'degradation'
F_name = 'fracture_energy'
barrier_energy = 'barrier'
decomposition_type = strain_spectral
[../]
[./degradation]
type = DerivativeParsedMaterial
f_name = degradation
args = 'c'
function = '(1.0-c)^2*(1.0 - eta) + eta'
constant_names = 'eta'
constant_expressions = '0.0'
derivative_order = 2
[../]
[./fracture_energy]
type = DerivativeParsedMaterial
f_name = fracture_energy
args = 'c'
material_property_names = 'gc_prop l'
function = '3 * gc_prop / (8 * l) * c'
derivative_order = 2
[../]
[./fracture_driving_energy]
type = DerivativeSumMaterial
args = c
sum_materials = 'elastic_energy fracture_energy'
derivative_order = 2
f_name = F
[../]
[./barrier_energy]
type = ParsedMaterial
f_name = barrier
material_property_names = 'gc_prop l'
function = '3 * gc_prop / 16 / l'
[../]
[]
[Postprocessors]
[./resid_x]
type = NodalSum
variable = resid_x
boundary = 2
[../]
[./resid_y]
type = NodalSum
variable = resid_y
boundary = 2
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
nl_rel_tol = 1e-8
l_max_its = 10
nl_max_its = 20
dt = 1e-4
dtmin = 1e-4
num_steps = 2
[]
[Outputs]
exodus = true
[]
modules/navier_stokes/test/tests/ins/mms/supg/supg_mms_test.i
mu=1.5
rho=2.5
[GlobalParams]
gravity = '0 0 0'
supg = true
convective_term = true
integrate_p_by_parts = false
laplace = true
u = vel_x
v = vel_y
p = p
alpha = 1
order = SECOND
family = LAGRANGE
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1.0
ymin = 0
ymax = 1.0
elem_type = QUAD9
nx = 4
ny = 4
[]
[./corner_node]
type = ExtraNodesetGenerator
new_boundary = 'pinned_node'
nodes = '0'
input = gen
[../]
[]
[Variables]
[./vel_x]
[../]
[./vel_y]
[../]
[./p]
order = FIRST
[../]
[]
[Kernels]
# mass
[./mass]
type = INSMass
variable = p
[../]
# x-momentum, space
[./x_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_x
component = 0
forcing_func = vel_x_source_func
[../]
# y-momentum, space
[./y_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_y
component = 1
forcing_func = vel_y_source_func
[../]
[./p_source]
type = BodyForce
function = p_source_func
variable = p
[../]
[]
[BCs]
[./vel_x]
type = FunctionDirichletBC
preset = false
boundary = 'left right top bottom'
function = vel_x_func
variable = vel_x
[../]
[./vel_y]
type = FunctionDirichletBC
preset = false
boundary = 'left right top bottom'
function = vel_y_func
variable = vel_y
[../]
[./p]
type = FunctionDirichletBC
preset = false
boundary = 'left right top bottom'
function = p_func
variable = p
[../]
[]
[Functions]
[./vel_x_source_func]
type = ParsedFunction
value = '-${mu}*(-0.028*pi^2*x^2*sin(0.2*pi*x*y) - 0.028*pi^2*y^2*sin(0.2*pi*x*y) - 0.1*pi^2*sin(0.5*pi*x) - 0.4*pi^2*sin(pi*y)) + ${rho}*(0.14*pi*x*cos(0.2*pi*x*y) + 0.4*pi*cos(pi*y))*(0.6*sin(0.8*pi*x) + 0.3*sin(0.3*pi*y) + 0.2*sin(0.3*pi*x*y) + 0.3) + ${rho}*(0.14*pi*y*cos(0.2*pi*x*y) + 0.2*pi*cos(0.5*pi*x))*(0.4*sin(0.5*pi*x) + 0.4*sin(pi*y) + 0.7*sin(0.2*pi*x*y) + 0.5) + 0.1*pi*y*cos(0.2*pi*x*y) + 0.25*pi*cos(0.5*pi*x)'
[../]
[./vel_y_source_func]
type = ParsedFunction
value = '-${mu}*(-0.018*pi^2*x^2*sin(0.3*pi*x*y) - 0.018*pi^2*y^2*sin(0.3*pi*x*y) - 0.384*pi^2*sin(0.8*pi*x) - 0.027*pi^2*sin(0.3*pi*y)) + ${rho}*(0.06*pi*x*cos(0.3*pi*x*y) + 0.09*pi*cos(0.3*pi*y))*(0.6*sin(0.8*pi*x) + 0.3*sin(0.3*pi*y) + 0.2*sin(0.3*pi*x*y) + 0.3) + ${rho}*(0.06*pi*y*cos(0.3*pi*x*y) + 0.48*pi*cos(0.8*pi*x))*(0.4*sin(0.5*pi*x) + 0.4*sin(pi*y) + 0.7*sin(0.2*pi*x*y) + 0.5) + 0.1*pi*x*cos(0.2*pi*x*y) + 0.3*pi*cos(0.3*pi*y)'
[../]
[./p_source_func]
type = ParsedFunction
value = '-0.06*pi*x*cos(0.3*pi*x*y) - 0.14*pi*y*cos(0.2*pi*x*y) - 0.2*pi*cos(0.5*pi*x) - 0.09*pi*cos(0.3*pi*y)'
[../]
[./vel_x_func]
type = ParsedFunction
value = '0.4*sin(0.5*pi*x) + 0.4*sin(pi*y) + 0.7*sin(0.2*pi*x*y) + 0.5'
[../]
[./vel_y_func]
type = ParsedFunction
value = '0.6*sin(0.8*pi*x) + 0.3*sin(0.3*pi*y) + 0.2*sin(0.3*pi*x*y) + 0.3'
[../]
[./p_func]
type = ParsedFunction
value = '0.5*sin(0.5*pi*x) + 1.0*sin(0.3*pi*y) + 0.5*sin(0.2*pi*x*y) + 0.5'
[../]
[./vxx_func]
type = ParsedFunction
value = '0.14*pi*y*cos(0.2*pi*x*y) + 0.2*pi*cos(0.5*pi*x)'
[../]
[]
[Materials]
[./const]
type = GenericConstantMaterial
block = 0
prop_names = 'rho mu'
prop_values = '${rho} ${mu}'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
solve_type = 'NEWTON'
[../]
[]
[Executioner]
type = Steady
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -pc_factor_shift_type'
petsc_options_value = 'lu NONZERO'
line_search = 'none'
nl_rel_tol = 1e-12
nl_abs_tol = 1e-13
nl_max_its = 6
l_tol = 1e-6
l_max_its = 500
[]
[Outputs]
[./exodus]
type = Exodus
[../]
[./csv]
type = CSV
[../]
[]
[Postprocessors]
[./L2vel_x]
type = ElementL2Error
variable = vel_x
function = vel_x_func
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[./L2vel_y]
variable = vel_y
function = vel_y_func
type = ElementL2Error
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[./L2p]
variable = p
function = p_func
type = ElementL2Error
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[./L2vxx]
variable = vxx
function = vxx_func
type = ElementL2Error
outputs = 'console csv'
execute_on = 'timestep_end'
[../]
[]
[AuxVariables]
[./vxx]
family = MONOMIAL
order = FIRST
[../]
[]
[AuxKernels]
[./vxx]
type = VariableGradientComponent
component = x
variable = vxx
gradient_variable = vel_x
[../]
[]
modules/tensor_mechanics/test/tests/inclined_bc/inclined_bc_action.i
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 2
ny = 4
nz = 2
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 2.0
zmin = 0.0
zmax = 1.0
elem_type = HEX8
[]
[rotate]
type = TransformGenerator
transform = ROTATE
vector_value = '0 -20 -60'
input = generated_mesh
[]
[]
[Modules/TensorMechanics/Master/All]
strain = FINITE
add_variables = true
[]
[BCs]
[./Pressure]
[./top]
boundary = top
function = '-1000*t'
[../]
[../]
[./InclinedNoDisplacementBC]
[./right]
boundary = right
penalty = 1.0e8
displacements = 'disp_x disp_y disp_z'
[../]
[./bottom]
boundary = bottom
penalty = 1.0e8
displacements = 'disp_x disp_y disp_z'
[../]
[./back]
boundary = back
penalty = 1.0e8
displacements = 'disp_x disp_y disp_z'
[../]
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e6
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
[../]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
# 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
nl_abs_tol = 1e-12
# time control
start_time = 0.0
dt = 1
end_time = 5
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
file_base = 'inclined_bc_3d_out'
exodus = true
[]
modules/combined/test/tests/mortar_tm/2drz/ad_frictionless_second/small.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'small'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./corner]
type = ExtraNodesetGenerator
input = block_rename
coord = '0 -10.0'
new_boundary = point
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = corner
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
use_automatic_differentiation = true
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
[../]
[./plank]
use_automatic_differentiation = true
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = block_right
value = 0
[../]
[./right_y]
type = ADFunctionDirichletBC
variable = disp_y
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ADComputeLinearElasticStress
block = 'plank block'
[../]
[./swell]
type = ADComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/dgkernels/dg_block_restrict/2d_dg_diffusion_block_restrict.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmax = 2
nx = 10
ymax = 2
ny = 10
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
block_id = 1
top_right = '1 1 0'
[../]
[./interface]
input = subdomain1
type = SideSetsBetweenSubdomainsGenerator
master_block = '1'
paired_block = '0'
new_boundary = 'master1_interface'
[../]
[./boundaries]
input = interface
type = BreakBoundaryOnSubdomainGenerator
boundaries = 'left bottom'
[../]
[]
[Problem]
kernel_coverage_check = false
[]
[Variables]
[./u]
order = FIRST
family = L2_LAGRANGE
block = 1
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./source]
type = BodyForce
variable = u
[../]
[]
[DGKernels]
[./dg_diffusion]
type = DGDiffusion
variable = u
sigma = 4
epsilon = 1
[../]
[]
[BCs]
[./vacuum]
type = VacuumBC
variable = u
boundary = 'left_to_1 bottom_to_1'
[../]
[./master1_inteface]
type = VacuumBC
variable = u
boundary = 'master1_interface'
[../]
[]
[Postprocessors]
[./norm]
type = ElementL2Norm
variable = u
block = 1
[../]
[]
[Executioner]
type = Steady
nl_abs_tol = 1e-12
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/phase_field_fracture/crack2d_computeCrackedStress_smallstrain.i
#This input uses PhaseField-Nonconserved Action to add phase field fracture bulk rate kernels
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 40
ny = 20
ymax = 0.5
[]
[./noncrack]
type = BoundingBoxNodeSetGenerator
new_boundary = noncrack
bottom_left = '0.5 0 0'
top_right = '1 0 0'
input = gen
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./strain_yy]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Modules]
[./TensorMechanics]
[./Master]
[./All]
add_variables = true
strain = SMALL
planar_formulation = PLANE_STRAIN
additional_generate_output = 'stress_yy'
strain_base_name = uncracked
[../]
[../]
[../]
[./PhaseField]
[./Nonconserved]
[./c]
free_energy = E_el
kappa = kappa_op
mobility = L
[../]
[../]
[../]
[]
[Kernels]
[./solid_x]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_x
component = 0
c = c
[../]
[./solid_y]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_y
component = 1
c = c
[../]
[./off_disp]
type = AllenCahnElasticEnergyOffDiag
variable = c
displacements = 'disp_x disp_y'
mob_name = L
[../]
[]
[AuxKernels]
[./strain_yy]
type = RankTwoAux
variable = strain_yy
rank_two_tensor = uncracked_mechanical_strain
index_i = 1
index_j = 1
[../]
[]
[BCs]
[./ydisp]
type = FunctionDirichletBC
variable = disp_y
boundary = top
function = 't'
[../]
[./yfix]
type = DirichletBC
variable = disp_y
boundary = noncrack
value = 0
[../]
[./xfix]
type = DirichletBC
variable = disp_x
boundary = right
value = 0
[../]
[]
[Materials]
[./pfbulkmat]
type = GenericConstantMaterial
prop_names = 'gc_prop l visco'
prop_values = '1e-3 0.05 1e-6'
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '127.0 70.8 70.8 127.0 70.8 127.0 73.55 73.55 73.55'
fill_method = symmetric9
base_name = uncracked
euler_angle_1 = 30
euler_angle_2 = 0
euler_angle_3 = 0
[../]
[./elastic]
type = ComputeLinearElasticStress
base_name = uncracked
[../]
[./cracked_stress]
type = ComputeCrackedStress
c = c
kdamage = 1e-6
F_name = E_el
use_current_history_variable = true
uncracked_base_name = uncracked
[../]
[]
[Postprocessors]
[./av_stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./av_strain_yy]
type = SideAverageValue
variable = disp_y
boundary = top
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_factor_mat_solving_package'
petsc_options_value = 'lu superlu_dist'
nl_rel_tol = 1e-8
l_tol = 1e-4
l_max_its = 100
nl_max_its = 10
dt = 5e-5
num_steps = 2
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/ad_finite_strain_jacobian/bending_jacobian.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 2
nx = 10
ny = 2
elem_type = QUAD4
[]
[corner]
type = ExtraNodesetGenerator
new_boundary = 101
coord = '0 0'
input = generated_mesh
[]
[side]
type = ExtraNodesetGenerator
new_boundary = 102
coord = '10 0'
input = corner
[]
[mid]
type = ExtraNodesetGenerator
new_boundary = 103
coord = '5 2'
input = side
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules/TensorMechanics/Master]
[./all]
strain = FINITE
add_variables = true
use_finite_deform_jacobian = true
volumetric_locking_correction = false
use_automatic_differentiation = true
[../]
[]
[Materials]
[./stress]
type = ADComputeFiniteStrainElasticStress
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
fill_method = symmetric9
C_ijkl = '1.684e5 0.176e5 0.176e5 1.684e5 0.176e5 1.684e5 0.754e5 0.754e5 0.754e5'
[../]
[]
[BCs]
[./fix_corner_x]
type = ADDirichletBC
variable = disp_x
boundary = 101
value = 0
[../]
[./fix_corner_y]
type = ADDirichletBC
variable = disp_y
boundary = 101
value = 0
[../]
[./fix_y]
type = ADDirichletBC
variable = disp_y
boundary = 102
value = 0
[../]
[./move_y]
type = ADFunctionDirichletBC
variable = disp_y
boundary = 103
function = '-t'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
nl_rel_tol = 1e-10
nl_max_its = 10
l_tol = 1e-4
l_max_its = 50
dt = 0.1
dtmin = 0.1
num_steps = 2
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Outputs]
exodus = true
[]
test/tests/kernels/ad_transient_diffusion/ad_transient_vector_diffusion.i
[Mesh]
[./generator]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[../]
[./block1]
type = SubdomainBoundingBoxGenerator
input = generator
bottom_left = '0 0 -1'
top_right = '1 1 1'
block_id = 1
[../]
[./block2]
type = SubdomainBoundingBoxGenerator
input = block1
bottom_left = '0.33 0.33 -1'
top_right = '0.67 0.67 1'
block_id = 2
[../]
[]
[Variables]
[./u]
family = LAGRANGE_VEC
[../]
[]
[ICs]
[./u]
type = VectorConstantIC
variable = u
x_value = 1
y_value = 2
z_value = 3
block = 2
[../]
[]
[Kernels]
[./diff]
type = ADVectorDiffusion
variable = u
[../]
[./time]
type = ADVectorTimeDerivative
variable = u
[../]
[]
[Executioner]
type = Transient
num_steps = 20
dt = 0.01
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/navier_stokes/test/tests/ins/velocity_channel/velocity_inletBC_no_parts.i
# This input file tests outflow boundary conditions for the incompressible NS equations.
[GlobalParams]
gravity = '0 0 0'
integrate_p_by_parts = false
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 3.0
ymin = 0
ymax = 1.0
nx = 30
ny = 10
elem_type = QUAD9
[]
[./corner_node]
type = ExtraNodesetGenerator
new_boundary = top_right
coord = '3 1'
input = gen
[../]
[]
[Variables]
[./vel_x]
order = SECOND
family = LAGRANGE
[../]
[./vel_y]
order = SECOND
family = LAGRANGE
[../]
[./p]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./mass]
type = INSMass
variable = p
u = vel_x
v = vel_y
p = p
[../]
[./x_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_x
u = vel_x
v = vel_y
p = p
component = 0
[../]
[./y_momentum_space]
type = INSMomentumLaplaceForm
variable = vel_y
u = vel_x
v = vel_y
p = p
component = 1
[../]
[]
[BCs]
[./x_no_slip]
type = DirichletBC
variable = vel_x
boundary = 'top bottom'
value = 0.0
[../]
[./y_no_slip]
type = DirichletBC
variable = vel_y
boundary = 'left top bottom'
value = 0.0
[../]
[./x_inlet]
type = FunctionDirichletBC
variable = vel_x
boundary = 'left'
function = 'inlet_func'
[../]
[./p_corner]
# Since the pressure is not integrated by parts in this example,
# it is only specified up to a constant by the natural outflow BC.
# Therefore, we need to pin its value at a single location.
type = DirichletBC
boundary = top_right
value = 0
variable = p
[../]
[]
[Materials]
[./const]
type = GenericConstantMaterial
block = 0
prop_names = 'rho mu'
prop_values = '1 1'
[../]
[]
[Preconditioning]
[./SMP_PJFNK]
type = SMP
full = true
solve_type = NEWTON
[../]
[]
[Executioner]
type = Steady
petsc_options_iname = '-ksp_gmres_restart -pc_type -sub_pc_type -sub_pc_factor_levels'
petsc_options_value = '300 bjacobi ilu 4'
line_search = none
nl_rel_tol = 1e-12
nl_max_its = 6
l_tol = 1e-6
l_max_its = 300
[]
[Outputs]
[./out]
type = Exodus
[../]
[]
[Functions]
[./inlet_func]
type = ParsedFunction
value = '-4 * (y - 0.5)^2 + 1'
[../]
[]
test/tests/userobjects/setup_interface_count/general.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[./right_side]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0.5 0 0'
block_id = 1
top_right = '1 1 0'
[../]
[]
[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 = 10
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Postprocessors]
[./initial] # 1 per simulation
type = GeneralSetupInterfaceCount
count_type = 'initial'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./timestep] # 10, once per timestep
type = GeneralSetupInterfaceCount
count_type = 'timestep'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./subdomain] # 0, method not implemented for GeneralUserObjects
type = GeneralSetupInterfaceCount
count_type = 'subdomain'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./initialize] # 1 for initial and 2 for each timestep
type = GeneralSetupInterfaceCount
count_type = 'initialize'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./finalize] # 1 for initial and 2 for each timestep
type = GeneralSetupInterfaceCount
count_type = 'finalize'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./execute] # 1 for initial and 2 for each timestep
type = GeneralSetupInterfaceCount
count_type = 'execute'
execute_on = 'initial timestep_begin timestep_end'
[../]
[./threadjoin] # 0, not implemented
type = GeneralSetupInterfaceCount
count_type = 'threadjoin'
execute_on = 'initial timestep_begin timestep_end'
[../]
[]
[Outputs]
csv = true
[]
test/tests/meshgenerators/sidesets_bounding_box_generator/overlapping_sidesets_not_found.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 10
ny = 10
nz = 10
[]
[./createNewSidesetOne]
type = SideSetsFromBoundingBoxGenerator
input = gmg
boundary_id_old = 'bottom top'
boundary_id_new = 11
bottom_left = '-1.1 -1.1 -1.1'
top_right = '1.1 1.1 1.1'
block_id = 0
boundary_id_overlap = true
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./BCone]
type = DirichletBC
variable = u
boundary = 'left'
value = 1
[../]
[./BCtwo]
type = DirichletBC
variable = u
boundary = 11
value = 0
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/fluidstate/brineco2.i
# Tests correct calculation of properties in PorousFlowBrineCO2
[Mesh]
[./mesh]
type = GeneratedMeshGenerator
dim = 2
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
temperature = 30
[]
[Variables]
[./pgas]
initial_condition = 20e6
[../]
[./z]
initial_condition = 0.2
[../]
[]
[AuxVariables]
[./xnacl]
initial_condition = 0.1
[../]
[./pressure_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./pressure_water]
order = CONSTANT
family = MONOMIAL
[../]
[./saturation_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./saturation_water]
order = CONSTANT
family = MONOMIAL
[../]
[./density_water]
order = CONSTANT
family = MONOMIAL
[../]
[./density_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./viscosity_water]
order = CONSTANT
family = MONOMIAL
[../]
[./viscosity_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./enthalpy_water]
order = CONSTANT
family = MONOMIAL
[../]
[./enthalpy_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./internal_energy_water]
order = CONSTANT
family = MONOMIAL
[../]
[./internal_energy_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./x0_water]
order = CONSTANT
family = MONOMIAL
[../]
[./x0_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./x1_water]
order = CONSTANT
family = MONOMIAL
[../]
[./x1_gas]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./pressure_water]
type = PorousFlowPropertyAux
variable = pressure_water
property = pressure
phase = 0
execute_on = timestep_end
[../]
[./pressure_gas]
type = PorousFlowPropertyAux
variable = pressure_gas
property = pressure
phase = 1
execute_on = timestep_end
[../]
[./saturation_water]
type = PorousFlowPropertyAux
variable = saturation_water
property = saturation
phase = 0
execute_on = timestep_end
[../]
[./saturation_gas]
type = PorousFlowPropertyAux
variable = saturation_gas
property = saturation
phase = 1
execute_on = timestep_end
[../]
[./density_water]
type = PorousFlowPropertyAux
variable = density_water
property = density
phase = 0
execute_on = timestep_end
[../]
[./density_gas]
type = PorousFlowPropertyAux
variable = density_gas
property = density
phase = 1
execute_on = timestep_end
[../]
[./viscosity_water]
type = PorousFlowPropertyAux
variable = viscosity_water
property = viscosity
phase = 0
execute_on = timestep_end
[../]
[./viscosity_gas]
type = PorousFlowPropertyAux
variable = viscosity_gas
property = viscosity
phase = 1
execute_on = timestep_end
[../]
[./enthalpy_water]
type = PorousFlowPropertyAux
variable = enthalpy_water
property = enthalpy
phase = 0
execute_on = timestep_end
[../]
[./enthalpy_gas]
type = PorousFlowPropertyAux
variable = enthalpy_gas
property = enthalpy
phase = 1
execute_on = timestep_end
[../]
[./internal_energy_water]
type = PorousFlowPropertyAux
variable = internal_energy_water
property = internal_energy
phase = 0
execute_on = timestep_end
[../]
[./internal_energy_gas]
type = PorousFlowPropertyAux
variable = internal_energy_gas
property = internal_energy
phase = 1
execute_on = timestep_end
[../]
[./x1_water]
type = PorousFlowPropertyAux
variable = x1_water
property = mass_fraction
phase = 0
fluid_component = 1
execute_on = timestep_end
[../]
[./x1_gas]
type = PorousFlowPropertyAux
variable = x1_gas
property = mass_fraction
phase = 1
fluid_component = 1
execute_on = timestep_end
[../]
[./x0_water]
type = PorousFlowPropertyAux
variable = x0_water
property = mass_fraction
phase = 0
fluid_component = 0
execute_on = timestep_end
[../]
[./x0_gas]
type = PorousFlowPropertyAux
variable = x0_gas
property = mass_fraction
phase = 1
fluid_component = 0
execute_on = timestep_end
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
variable = pgas
fluid_component = 0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
variable = z
fluid_component = 1
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pgas z'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[./fs]
type = PorousFlowBrineCO2
brine_fp = brine
co2_fp = co2
capillary_pressure = pc
[../]
[]
[Modules]
[./FluidProperties]
[./co2]
type = CO2FluidProperties
[../]
[./brine]
type = BrineFluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
[../]
[./brineco2]
type = PorousFlowFluidState
gas_porepressure = pgas
z = z
temperature_unit = Celsius
xnacl = xnacl
capillary_pressure = pc
fluid_state = fs
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-12 0 0 0 1e-12 0 0 0 1e-12'
[../]
[./relperm0]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[./relperm1]
type = PorousFlowRelativePermeabilityCorey
n = 3
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
dt = 1
end_time = 1
nl_abs_tol = 1e-12
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Postprocessors]
[./density_water]
type = ElementIntegralVariablePostprocessor
variable = density_water
[../]
[./density_gas]
type = ElementIntegralVariablePostprocessor
variable = density_gas
[../]
[./viscosity_water]
type = ElementIntegralVariablePostprocessor
variable = viscosity_water
[../]
[./viscosity_gas]
type = ElementIntegralVariablePostprocessor
variable = viscosity_gas
[../]
[./enthalpy_water]
type = ElementIntegralVariablePostprocessor
variable = enthalpy_water
[../]
[./enthalpy_gas]
type = ElementIntegralVariablePostprocessor
variable = enthalpy_gas
[../]
[./internal_energy_water]
type = ElementIntegralVariablePostprocessor
variable = internal_energy_water
[../]
[./internal_energy_gas]
type = ElementIntegralVariablePostprocessor
variable = internal_energy_gas
[../]
[./x1_water]
type = ElementIntegralVariablePostprocessor
variable = x1_water
[../]
[./x0_water]
type = ElementIntegralVariablePostprocessor
variable = x0_water
[../]
[./x1_gas]
type = ElementIntegralVariablePostprocessor
variable = x1_gas
[../]
[./x0_gas]
type = ElementIntegralVariablePostprocessor
variable = x0_gas
[../]
[./sg]
type = ElementIntegralVariablePostprocessor
variable = saturation_gas
[../]
[./sw]
type = ElementIntegralVariablePostprocessor
variable = saturation_water
[../]
[./pwater]
type = ElementIntegralVariablePostprocessor
variable = pressure_water
[../]
[./pgas]
type = ElementIntegralVariablePostprocessor
variable = pressure_gas
[../]
[./x0mass]
type = PorousFlowFluidMass
fluid_component = 0
phase = '0 1'
[../]
[./x1mass]
type = PorousFlowFluidMass
fluid_component = 1
phase = '0 1'
[../]
[]
[Outputs]
csv = true
file_base = brineco2
execute_on = 'TIMESTEP_END'
perf_graph = false
[]
test/tests/kernels/array_kernels/array_save_in.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[]
[subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0.5 0.5 0'
top_right = '1 1 0'
block_id = 1
[]
[]
[Variables]
[u]
order = FIRST
family = L2_LAGRANGE
components = 2
[]
[]
[AuxVariables]
[u_diff_save_in]
order = FIRST
family = L2_LAGRANGE
components = 2
[]
[u_vacuum_save_in]
order = FIRST
family = L2_LAGRANGE
components = 2
[]
[u_dg_save_in]
order = FIRST
family = L2_LAGRANGE
components = 2
[]
[u_diff_diag_save_in]
order = FIRST
family = L2_LAGRANGE
components = 2
[]
[u_vacuum_diag_save_in]
order = FIRST
family = L2_LAGRANGE
components = 2
[]
[u_dg_diag_save_in]
order = FIRST
family = L2_LAGRANGE
components = 2
[]
[]
[Kernels]
[diff]
type = ArrayDiffusion
variable = u
diffusion_coefficient = dc
save_in = u_diff_save_in
diag_save_in = u_diff_diag_save_in
[]
[reaction]
type = ArrayReaction
variable = u
reaction_coefficient = rc
[]
[]
[DGKernels]
[dgdiff]
type = ArrayDGDiffusion
variable = u
diff = dc
save_in = u_dg_save_in
diag_save_in = u_dg_diag_save_in
[]
[]
[BCs]
[left]
type = ArrayVacuumBC
variable = u
boundary = 1
save_in = u_vacuum_save_in
diag_save_in = u_vacuum_diag_save_in
[]
[right]
type = ArrayPenaltyDirichletBC
variable = u
boundary = 2
value = '1 2'
penalty = 4
[]
[]
[Materials]
[dc0]
type = GenericConstantArray
block = 0
prop_name = dc
prop_value = '1 1'
[]
[dc1]
type = GenericConstantArray
block = 1
prop_name = dc
prop_value = '2 1'
[]
[rc]
type = GenericConstant2DArray
block = '0 1'
prop_name = rc
prop_value = '1 0; -0.1 1'
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Postprocessors]
[intu0]
type = ElementIntegralArrayVariablePostprocessor
variable = u
component = 0
[]
[intu1]
type = ElementIntegralArrayVariablePostprocessor
variable = u
component = 1
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
[]
[Outputs]
exodus = true
[]
test/tests/markers/block_restricted/marker_block.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
xmax = 5
ymax = 5
[]
[./lower_block]
input = gen
type = SubdomainBoundingBoxGenerator
top_right = '5 3 0'
bottom_left = '0 0 0'
block_id = 0
[../]
[./upper_block]
input = lower_block
type = SubdomainBoundingBoxGenerator
top_right = '5 5 0'
bottom_left = '0 3 0'
block_id = 1
[../]
[]
[Adaptivity]
initial_steps = 2
initial_marker = marker
[./Markers]
[./marker]
type = UniformMarker
block = 0
mark = REFINE
[../]
[../]
[]
[Variables]
[./u]
initial_condition = 0
[../]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/jacobian/waterncg_twophase_nonisothermal.i
# Tests correct calculation of properties derivatives in PorousFlowWaterNCG
# for nonisothermal two phase conditions
[Mesh]
[./mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[Variables]
[./pgas]
[../]
[./z]
[../]
[./temperature]
[../]
[]
[ICs]
[./pgas]
type = RandomIC
min = 1e5
max = 5e5
variable = pgas
[../]
[./z]
type = RandomIC
min = 0.01
max = 0.06
variable = z
[../]
[./temperature]
type = RandomIC
min = 20
max = 80
variable = temperature
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
variable = pgas
fluid_component = 0
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
variable = z
fluid_component = 1
[../]
[./adv0]
type = PorousFlowAdvectiveFlux
variable = pgas
fluid_component = 0
[../]
[./adv1]
type = PorousFlowAdvectiveFlux
variable = z
fluid_component = 1
[../]
[./energy]
type = PorousFlowEnergyTimeDerivative
variable = temperature
[../]
[./heat]
type = PorousFlowHeatAdvection
variable = temperature
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pgas z temperature'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureVG
m = 0.5
alpha = 1e1
pc_max = 1e4
[../]
[./fs]
type = PorousFlowWaterNCG
water_fp = water
gas_fp = co2
capillary_pressure = pc
[../]
[]
[Modules]
[./FluidProperties]
[./co2]
type = CO2FluidProperties
[../]
[./water]
type = Water97FluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temperature
[../]
[./waterncg]
type = PorousFlowFluidState
gas_porepressure = pgas
z = z
temperature = temperature
temperature_unit = Celsius
capillary_pressure = pc
fluid_state = fs
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-12 0 0 0 1e-12 0 0 0 1e-12'
[../]
[./relperm0]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
[../]
[./relperm1]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 1
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.1
[../]
[./rock_heat]
type = PorousFlowMatrixInternalEnergy
specific_heat_capacity = 1000
density = 2500
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
dt = 1
end_time = 1
nl_abs_tol = 1e-12
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[AuxVariables]
[./sgas]
family = MONOMIAL
order = CONSTANT
[../]
[]
[AuxKernels]
[./sgas]
type = PorousFlowPropertyAux
property = saturation
phase = 1
variable = sgas
[../]
[]
[Postprocessors]
[./sgas_min]
type = ElementExtremeValue
variable = sgas
value_type = min
[../]
[./sgas_max]
type = ElementExtremeValue
variable = sgas
value_type = max
[../]
[]
test/tests/meshgenerators/centroid_partitioner/centroid_partitioner_mg.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 100
xmin = 0.0
xmax = 1.0
ymin = 0.0
ymax = 10.0
# The centroid partitioner orders elements based on
# the position of their centroids
partitioner = centroid
# This will order the elements based on the y value of
# their centroid. Perfect for meshes predominantly in
# one direction
centroid_partitioner_direction = y
# The centroid partitioner behaves differently depending on
# whether you are using Serial or DistributedMesh, so to get
# repeatable results, we restrict this test to using ReplicatedMesh.
parallel_type = replicated
[]
[]
[Variables]
active = 'u'
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./proc_id]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
active = 'diff'
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./proc_id]
type = ProcessorIDAux
variable = proc_id
[../]
[]
[BCs]
active = 'left right'
[./left]
type = DirichletBC
variable = u
boundary = 3
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = 1
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
[]
[Outputs]
file_base = out
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[]
test/tests/meshgenerators/subdomain_bounding_box_generator/subdomain_bounding_box_generator_outside.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
xmax = 1
ymax = 1
#uniform_refine = 2
[]
[./subdomains]
type = SubdomainBoundingBoxGenerator
input = gmg
bottom_left = '0.1 0.1 0'
block_id = 1
top_right = '0.9 0.9 0'
location = OUTSIDE
[]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = MatCoefDiffusion
variable = u
conductivity = 'k'
block = '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
[../]
[]
[Materials]
[./outside]
type = GenericConstantMaterial
block = 0
prop_names = 'k'
prop_values = 1
[../]
[./inside]
type = GenericConstantMaterial
block = 1
prop_names = 'k'
prop_values = 0.1
[../]
[]
[Executioner]
type = Transient
num_steps = 5
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/porous_flow/examples/tidal/atm_tides_open_hole.i
# A 100m x 10m "slab" of height 100m is subjected to cyclic pressure at its top
# Assumptions:
# the boundaries are impermeable, except the top boundary
# only vertical displacement is allowed
# the atmospheric pressure sets the total stress at the top of the model
# at the slab left-hand side there is a borehole that taps into the base of the slab.
[Mesh]
[./the_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 10
ny = 1
nz = 10
xmin = 0
xmax = 100
ymin = -5
ymax = 5
zmin = -100
zmax = 0
[../]
[./bh_back]
type = ExtraNodesetGenerator
coord = '0 -5 -100'
input = the_mesh
new_boundary = 11
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
PorousFlowDictator = dictator
block = 0
biot_coefficient = 0.6
multiply_by_density = false
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./porepressure]
scaling = 1E11
[../]
[]
[ICs]
[./porepressure]
type = FunctionIC
variable = porepressure
function = '-10000*z' # this is only approximately correct
[../]
[]
[Functions]
[./ini_stress_zz]
type = ParsedFunction
value = '(25000 - 0.6*10000)*z' # remember this is effective stress
[../]
[./cyclic_porepressure]
type = ParsedFunction
value = 'if(t>0,5000 * sin(2 * pi * t / 3600.0 / 24.0),0)'
[../]
[./cyclic_porepressure_at_depth]
type = ParsedFunction
value = '-10000*z + if(t>0,5000 * sin(2 * pi * t / 3600.0 / 24.0),0)'
[../]
[./neg_cyclic_porepressure]
type = ParsedFunction
value = '-if(t>0,5000 * sin(2 * pi * t / 3600.0 / 24.0),0)'
[../]
[]
[BCs]
# zmin is called 'back'
# zmax is called 'front'
# ymin is called 'bottom'
# ymax is called 'top'
# xmin is called 'left'
# xmax is called 'right'
[./no_x_disp]
type = DirichletBC
variable = disp_x
value = 0
boundary = 'bottom top' # because of 1-element meshing, this fixes u_x=0 everywhere
[../]
[./no_y_disp]
type = DirichletBC
variable = disp_y
value = 0
boundary = 'bottom top' # because of 1-element meshing, this fixes u_y=0 everywhere
[../]
[./no_z_disp_at_bottom]
type = DirichletBC
variable = disp_z
value = 0
boundary = back
[../]
[./pp]
type = FunctionDirichletBC
variable = porepressure
function = cyclic_porepressure
boundary = front
[../]
[./pp_downhole]
type = FunctionDirichletBC
variable = porepressure
function = cyclic_porepressure_at_depth
boundary = 11
[../]
[./total_stress_at_top]
type = FunctionNeumannBC
variable = disp_z
function = neg_cyclic_porepressure
boundary = front
[../]
[]
[Modules]
[./FluidProperties]
[./the_simple_fluid]
type = SimpleFluidProperties
thermal_expansion = 0.0
bulk_modulus = 2E9
viscosity = 1E-3
density0 = 1000.0
[../]
[../]
[]
[PorousFlowBasicTHM]
coupling_type = HydroMechanical
displacements = 'disp_x disp_y disp_z'
porepressure = porepressure
gravity = '0 0 -10'
fp = the_simple_fluid
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
bulk_modulus = 10.0E9 # drained bulk modulus
poissons_ratio = 0.25
[../]
[./strain]
type = ComputeSmallStrain
eigenstrain_names = ini_stress
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./ini_stress]
type = ComputeEigenstrainFromInitialStress
initial_stress = '0 0 0 0 0 0 0 0 ini_stress_zz'
eigenstrain_name = ini_stress
[../]
[./porosity]
type = PorousFlowPorosityConst # only the initial value of this is ever used
porosity = 0.1
[../]
[./biot_modulus]
type = PorousFlowConstantBiotModulus
solid_bulk_compliance = 1E-10
fluid_bulk_modulus = 2E9
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1E-14 0 0 0 1E-14 0 0 0 1E-14'
[../]
[./density]
type = GenericConstantMaterial
prop_names = density
prop_values = 2500.0
[../]
[]
[Postprocessors]
[./p0_0]
type = PointValue
outputs = csv
point = '0 0 0'
variable = porepressure
[../]
[./p100_0]
type = PointValue
outputs = csv
point = '100 0 0'
variable = porepressure
[../]
[./p0_100]
type = PointValue
outputs = csv
point = '0 0 -100'
variable = porepressure
[../]
[./p100_100]
type = PointValue
outputs = csv
point = '100 0 -100'
variable = porepressure
[../]
[./uz0]
type = PointValue
outputs = csv
point = '0 0 0'
variable = disp_z
[../]
[./uz100]
type = PointValue
outputs = csv
point = '100 0 0'
variable = disp_z
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
start_time = -3600
dt = 3600
end_time = 172800
nl_rel_tol = 1E-10
nl_abs_tol = 1E-5
[]
[Outputs]
print_linear_residuals = false
csv = true
[]
modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_abbo.i
# Uses an Abbo et al smoothed version of Mohr-Coulomb (via TensorMechanicsPlasticMohrCoulomb and ComputeMultiPlasticityStress) to simulate the following problem.
# A cubical block is notched around its equator.
# All of its outer surfaces have roller BCs, but the notched region is free to move as needed
# The block is initialised with a high hydrostatic tensile stress
# Without the notch, the BCs do not allow contraction of the block, and this stress configuration is admissible
# With the notch, however, the interior parts of the block are free to move in order to relieve stress, and this causes plastic failure
# The top surface is then pulled upwards (the bottom is fixed because of the roller BCs)
# This causes more failure
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 9
ny = 9
nz = 9
xmin = 0
xmax = 0.1
ymin = 0
ymax = 0.1
zmin = 0
zmax = 0.1
[]
[block_to_remove_xmin]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 -0.01 0.045'
top_right = '0.01 0.11 0.055'
location = INSIDE
block_id = 1
input = generated_mesh
[]
[block_to_remove_xmax]
type = SubdomainBoundingBoxGenerator
bottom_left = '0.09 -0.01 0.045'
top_right = '0.11 0.11 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_xmin
[]
[block_to_remove_ymin]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 -0.01 0.045'
top_right = '0.11 0.01 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_xmax
[]
[block_to_remove_ymax]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 0.09 0.045'
top_right = '0.11 0.11 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_ymin
[]
[remove_block]
type = BlockDeletionGenerator
block_id = 1
input = block_to_remove_ymax
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
incremental = true
generate_output = 'max_principal_stress mid_principal_stress min_principal_stress stress_zz'
eigenstrain_names = ini_stress
[../]
[]
[Postprocessors]
[./uz]
type = PointValue
point = '0 0 0.1'
use_displaced_mesh = false
variable = disp_z
[../]
[./s_zz]
type = ElementAverageValue
use_displaced_mesh = false
variable = stress_zz
[../]
[./num_res]
type = NumResidualEvaluations
[../]
[./nr_its] # num_iters is the average number of NR iterations encountered per element in this timestep
type = ElementAverageValue
variable = num_iters
[../]
[./max_nr_its] # num_iters is the average number of NR iterations encountered in the element in this timestep, so we must get max(max_nr_its) to obtain the max number of iterations
type = ElementExtremeValue
variable = num_iters
[../]
[./runtime]
type = PerfGraphData
data_type = TOTAL
section_name = 'Root'
[../]
[]
[BCs]
# back=zmin, front=zmax, bottom=ymin, top=ymax, left=xmin, right=xmax
[./xmin_xzero]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./xmax_xzero]
type = DirichletBC
variable = disp_x
boundary = right
value = 0.0
[../]
[./ymin_yzero]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./ymax_yzero]
type = DirichletBC
variable = disp_y
boundary = top
value = 0.0
[../]
[./zmin_zzero]
type = DirichletBC
variable = disp_z
boundary = back
value = '0'
[../]
[./zmax_disp]
type = FunctionDirichletBC
variable = disp_z
boundary = front
function = '1E-6*max(t,0)'
[../]
[]
[AuxVariables]
[./mc_int]
order = CONSTANT
family = MONOMIAL
[../]
[./num_iters]
order = CONSTANT
family = MONOMIAL
[../]
[./yield_fcn]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./mc_int_auxk]
type = MaterialStdVectorAux
index = 0
property = plastic_internal_parameter
variable = mc_int
[../]
[./num_iters_auxk]
type = MaterialRealAux
property = plastic_NR_iterations
variable = num_iters
[../]
[./yield_fcn_auxk]
type = MaterialStdVectorAux
index = 0
property = plastic_yield_function
variable = yield_fcn
[../]
[]
[UserObjects]
[./mc_coh]
type = TensorMechanicsHardeningConstant
value = 5E6
[../]
[./mc_phi]
type = TensorMechanicsHardeningConstant
value = 35
convert_to_radians = true
[../]
[./mc_psi]
type = TensorMechanicsHardeningConstant
value = 10
convert_to_radians = true
[../]
[./mc]
type = TensorMechanicsPlasticMohrCoulomb
cohesion = mc_coh
friction_angle = mc_phi
dilation_angle = mc_psi
mc_tip_smoother = 0.02E6
mc_edge_smoother = 29
yield_function_tolerance = 1E-5
internal_constraint_tolerance = 1E-11
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 16E9
poissons_ratio = 0.25
[../]
[./mc]
type = ComputeMultiPlasticityStress
ep_plastic_tolerance = 1E-11
plastic_models = mc
max_NR_iterations = 1000
debug_fspb = crash
[../]
[./strain_from_initial_stress]
type = ComputeEigenstrainFromInitialStress
initial_stress = '6E6 0 0 0 6E6 0 0 0 6E6'
eigenstrain_name = ini_stress
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
start_time = -1
end_time = 10
dt = 1
solve_type = NEWTON
type = Transient
l_tol = 1E-2
nl_abs_tol = 1E-5
nl_rel_tol = 1E-7
l_max_its = 200
nl_max_its = 400
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
petsc_options_value = ' asm 2 lu gmres 200'
[]
[Outputs]
file_base = biaxial_abbo
perf_graph = true
exodus = false
csv = true
[]
test/tests/userobjects/layered_average/block_restricted.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
nx = 10
ny = 10
dim = 2
[]
[middle]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
top_right = '0.6 0.6 0'
bottom_left = '0.4 0.4 0'
[]
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[master_app_var]
order = CONSTANT
family = MONOMIAL
block = '1'
[]
[]
[AuxKernels]
[layered_aux]
type = SpatialUserObjectAux
variable = master_app_var
execute_on = 'timestep_end'
user_object = master_uo
block = '1'
[]
[]
[UserObjects]
[master_uo]
type = LayeredAverage
direction = x
variable = 'u'
block = '1'
# Note: 'bounds' or 'num_layers' are provided as CLI args
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = 'left'
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = 'right'
value = 100
[]
[]
[Executioner]
type = Transient
nl_abs_tol = 1e-10
nl_rel_tol = 1e-10
petsc_options_iname = '-pc_type -pc_hypre_type'
num_steps = 1
petsc_options_value = 'hypre boomeramg'
l_tol = 1e-8
[]
[Postprocessors]
[u_avg]
type = ElementAverageValue
variable = 'u'
execute_on = 'initial timestep_end'
[]
[final_avg]
type = ElementAverageValue
variable = 'master_app_var'
execute_on = 'initial timestep_end'
block = '1'
[]
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/internal_side_user_object/internal_side_user_object_two_materials.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = -1
ymin = -1
xmax = 1
ymax = 1
nx = 2
ny = 2
elem_type = QUAD4
[]
[./subdomain_id]
input = gen
type = ElementSubdomainIDGenerator
subdomain_ids = '0 1
1 1'
[../]
[]
[Functions]
[./fn_exact]
type = ParsedFunction
value = 'x*x+y*y'
[../]
[./ffn]
type = ParsedFunction
value = -4
[../]
[]
[UserObjects]
[./isuo]
type = InsideUserObject
variable = u
diffusivity = diffusivity
execute_on = 'initial timestep_end'
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = FIRST
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = ffn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = fn_exact
[../]
[]
[Materials]
[./stateful1]
type = StatefulMaterial
block = 0
initial_diffusivity = 1
[../]
[./stateful2]
type = StatefulMaterial
block = 1
initial_diffusivity = 2
[../]
[]
[Postprocessors]
[./value]
type = InsideValuePPS
user_object = isuo
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
modules/porous_flow/examples/tutorial/00_2D.i
# Creates the mesh for the remainder of the tutorial
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
xmin = 1.0
xmax = 10
bias_x = 1.4
ny = 3
ymin = -6
ymax = 6
[]
[./aquifer]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 -2 0'
top_right = '10 2 0'
input = gen
[../]
[./injection_area]
type = ParsedGenerateSideset
combinatorial_geometry = 'x<1.0001'
included_subdomain_ids = 1
new_sideset_name = 'injection_area'
input = 'aquifer'
[../]
[./rename]
type = RenameBlockGenerator
old_block_id = '0 1'
new_block_name = 'caps aquifer'
input = 'injection_area'
[../]
[]
[Variables]
[./dummy_var]
[../]
[]
[Kernels]
[./dummy_diffusion]
type = Diffusion
variable = dummy_var
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
file_base = 2D_mesh
exodus = true
[]
modules/tensor_mechanics/test/tests/plane_stress/weak_plane_stress_finite_tension_pull.i
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
out_of_plane_strain = strain_zz
[]
[Problem]
extra_tag_vectors = 'ref'
[]
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 1
ny = 1
[]
[]
[Variables]
[disp_x]
[]
[disp_y]
[]
[strain_zz]
[]
[]
[AuxVariables]
[react_x]
[]
[]
[Postprocessors]
[react_x]
type = NodalSum
variable = 'react_x'
boundary = 'right'
[]
[stress_xx]
type = ElementalVariableValue
variable = 'stress_xx'
elementid = 0
[]
[strain_zz]
type = ElementalVariableValue
variable = 'strain_zz'
elementid = 0
[]
[]
[Modules/TensorMechanics/Master]
[plane_stress]
strain = FINITE
planar_formulation = WEAK_PLANE_STRESS
extra_vector_tags = 'ref'
generate_output = 'stress_xx stress_xy stress_yy stress_zz strain_xx strain_xy strain_yy'
[]
[]
[AuxKernels]
[react_x]
type = TagVectorAux
vector_tag = 'ref'
v = 'disp_x'
variable = 'react_x'
[]
[]
[BCs]
[leftx]
type = DirichletBC
boundary = left
variable = disp_x
value = 0.0
[]
[bottomy]
type = DirichletBC
boundary = bottom
variable = disp_y
value = 0.0
[]
[rightx]
type = FunctionDirichletBC
boundary = right
variable = disp_x
function = 't'
[]
[]
[Materials]
[elasticity_tensor]
type = ComputeIsotropicElasticityTensor
poissons_ratio = 0.3
youngs_modulus = 1e6
[]
[stress]
type = ComputeFiniteStrainElasticStress
[]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
nl_rel_tol = 1e-12
nl_abs_tol = 1e-10
# time control
start_time = 0.0
dt = 0.01
dtmin = 0.01
end_time = 0.2
[]
[Outputs]
csv = true
[]
modules/tensor_mechanics/test/tests/global_strain/global_strain_direction.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
xmin = -0.5
xmax = 0.5
ymin = -0.5
ymax = 0.5
[]
[cnode]
type = ExtraNodesetGenerator
coord = '0 0'
new_boundary = 100
input = generated_mesh
[]
[]
[Variables]
[./u_x]
[../]
[./u_y]
[../]
[./global_strain]
order = THIRD
family = SCALAR
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxKernels]
[./disp_x]
type = GlobalDisplacementAux
variable = disp_x
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 0
[../]
[./disp_y]
type = GlobalDisplacementAux
variable = disp_y
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 1
[../]
[]
[GlobalParams]
displacements = 'u_x u_y'
block = 0
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[ScalarKernels]
[./global_strain]
type = GlobalStrain
variable = global_strain
global_strain_uo = global_strain_uo
[../]
[]
[BCs]
[./Periodic]
[./left-right]
auto_direction = 'x'
variable = 'u_x u_y'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = u_x
value = 0
[../]
[./fix_y]
type = DirichletBC
boundary = bottom
variable = u_y
value = 0
[../]
[./appl_y]
type = DirichletBC
boundary = top
variable = u_y
value = -0.1
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeElasticityTensor
block = 0
C_ijkl = '1 1'
fill_method = symmetric_isotropic
[../]
[./strain]
type = ComputeSmallStrain
global_strain = global_strain
[../]
[./global_strain]
type = ComputeGlobalStrain
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[UserObjects]
[./global_strain_uo]
type = GlobalStrainUserObject
execute_on = 'Initial Linear Nonlinear'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
l_max_its = 30
nl_max_its = 12
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
nl_abs_tol = 1.0e-10
start_time = 0.0
num_steps = 2
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/simple_tests/2D_regularD_constH_BPD.i
# Test for bond-based peridynamic formulation
# for regular grid from generated mesh with const bond constants
# Square plate with Dirichlet boundary conditions applied
# at the left, top and bottom edges
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1003
value = 0.0
[../]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = 1002
value = 0.0
[../]
[./bottom_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1000
function = '-0.001*t'
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = BOND
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.33
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialBPD
[../]
[]
[Functions]
[./disp_x_anal]
type = PiecewiseLinear
axis = x
x = '0 1'
y = '0 -0.00033'
[../]
[./disp_y_anal]
type = PiecewiseLinear
axis = y
x = '0 1'
y = '-0.001 0'
[../]
[]
[Postprocessors]
[./anal_disp_L2]
type = NodalFunctionsL2NormPD
functions = 'disp_x_anal disp_y_anal'
[../]
[./disp_diff_L2]
type = NodalDisplacementDifferenceL2NormPD
analytic_functions = 'disp_x_anal disp_y_anal'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0
end_time = 1
[]
[Outputs]
file_base = 2D_regularD_constH_BPD
exodus = true
[]
modules/tensor_mechanics/test/tests/capped_weak_plane/pull_and_shear.i
# Dynamic problem with plasticity.
# A column of material (not subject to gravity) has the z-displacement
# of its sides fixed, but the centre of its bottom side is pulled
# downwards. This causes failure in the bottom elements.
#
# The problem utilises damping in the following way.
# The DynamicStressDivergenceTensors forms the residual
# integral grad(stress) + zeta*grad(stress-dot)
# = V/L * elasticity * (du/dx + zeta * dv/dx)
# where V is the elemental volume, and L is the length-scale,
# and u is the displacement, and v is the velocity.
# The InertialForce forms the residual
# integral density * (accel + eta * velocity)
# = V * density * (a + eta * v)
# where a is the acceleration.
# So, a damped oscillator description with both these
# kernels looks like
# 0 = V * (density * a + density * eta * v + elasticity * zeta * v / L^2 + elasticity / L^2 * u)
# Critical damping is when the coefficient of v is
# 2 * sqrt(density * elasticity / L^2)
# In the case at hand, density=1E4, elasticity~1E10 (Young is 16GPa),
# L~1 to 10 (in the horizontal or vertical direction), so this coefficient ~ 1E7 to 1E6.
# Choosing eta = 1E3 and zeta = 1E-2 gives approximate critical damping.
# If zeta is high then steady-state is achieved very quickly.
#
# In the case of plasticity, the effective stiffness of the elements
# is significantly less. Therefore, the above parameters give
# overdamping.
#
# This simulation is a nice example of the irreversable and non-uniqueness
# of simulations involving plasticity. The result depends on the damping
# parameters and the time stepping.
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 10
ny = 1
nz = 5
bias_z = 1.5
xmin = -10
xmax = 10
ymin = -10
ymax = 10
zmin = -100
zmax = 0
[]
[bottomz_middle]
type = BoundingBoxNodeSetGenerator
new_boundary = bottomz_middle
bottom_left = '-1 -1500 -105'
top_right = '1 1500 -95'
input = generated_mesh
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
beta = 0.25 # Newmark time integration
gamma = 0.5 # Newmark time integration
eta = 1E3 #0.3E4 # higher values mean more damping via density
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[Kernels]
[./DynamicTensorMechanics] # zeta*K*vel + K * disp
zeta = 1E-2 # higher values mean more damping via stiffness
alpha = 0 # better nonlinear convergence than for alpha>0
[../]
[./inertia_x] # M*accel + eta*M*vel
type = InertialForce
use_displaced_mesh = false
variable = disp_x
velocity = vel_x
acceleration = accel_x
[../]
[./inertia_y]
type = InertialForce
use_displaced_mesh = false
variable = disp_y
velocity = vel_y
acceleration = accel_y
[../]
[./inertia_z]
type = InertialForce
use_displaced_mesh = false
variable = disp_z
velocity = vel_z
acceleration = accel_z
[../]
[]
[BCs]
[./no_x2]
type = DirichletBC
variable = disp_x
boundary = right
value = 0.0
[../]
[./no_x1]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./no_y1]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./no_y2]
type = DirichletBC
variable = disp_y
boundary = top
value = 0.0
[../]
[./z_fixed_sides_xmin]
type = DirichletBC
variable = disp_z
boundary = left
value = 0
[../]
[./z_fixed_sides_xmax]
type = DirichletBC
variable = disp_z
boundary = right
value = 0
[../]
[./bottomz]
type = FunctionDirichletBC
variable = disp_z
boundary = bottomz_middle
function = max(-10*t,-10)
[../]
[]
[AuxVariables]
[./accel_x]
[../]
[./vel_x]
[../]
[./accel_y]
[../]
[./vel_y]
[../]
[./accel_z]
[../]
[./vel_z]
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./f_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./f_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./f_compressive]
order = CONSTANT
family = MONOMIAL
[../]
[./intnl_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./intnl_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./iter]
order = CONSTANT
family = MONOMIAL
[../]
[./ls]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./accel_x] # Calculates and stores acceleration at the end of time step
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
execute_on = timestep_end
[../]
[./vel_x] # Calculates and stores velocity at the end of the time step
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
execute_on = timestep_end
[../]
[./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_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_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
[../]
[./strainp_xx]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_xx
index_i = 0
index_j = 0
[../]
[./strainp_xy]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_xy
index_i = 0
index_j = 1
[../]
[./strainp_xz]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_xz
index_i = 0
index_j = 2
[../]
[./strainp_yy]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_yy
index_i = 1
index_j = 1
[../]
[./strainp_yz]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_yz
index_i = 1
index_j = 2
[../]
[./strainp_zz]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_zz
index_i = 2
index_j = 2
[../]
[./straint_xx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_xx
index_i = 0
index_j = 0
[../]
[./straint_xy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_xy
index_i = 0
index_j = 1
[../]
[./straint_xz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_xz
index_i = 0
index_j = 2
[../]
[./straint_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_yy
index_i = 1
index_j = 1
[../]
[./straint_yz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_yz
index_i = 1
index_j = 2
[../]
[./straint_zz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_zz
index_i = 2
index_j = 2
[../]
[./f_shear]
type = MaterialStdVectorAux
property = plastic_yield_function
index = 0
variable = f_shear
[../]
[./f_tensile]
type = MaterialStdVectorAux
property = plastic_yield_function
index = 1
variable = f_tensile
[../]
[./f_compressive]
type = MaterialStdVectorAux
property = plastic_yield_function
index = 2
variable = f_compressive
[../]
[./intnl_shear]
type = MaterialStdVectorAux
property = plastic_internal_parameter
index = 0
variable = intnl_shear
[../]
[./intnl_tensile]
type = MaterialStdVectorAux
property = plastic_internal_parameter
index = 1
variable = intnl_tensile
[../]
[./iter]
type = MaterialRealAux
property = plastic_NR_iterations
variable = iter
[../]
[./ls]
type = MaterialRealAux
property = plastic_linesearch_needed
variable = ls
[../]
[]
[UserObjects]
[./coh]
type = TensorMechanicsHardeningConstant
value = 1E6
[../]
[./tanphi]
type = TensorMechanicsHardeningConstant
value = 0.5
[../]
[./tanpsi]
type = TensorMechanicsHardeningConstant
value = 0.166666666667
[../]
[./t_strength]
type = TensorMechanicsHardeningConstant
value = 0
[../]
[./c_strength]
type = TensorMechanicsHardeningConstant
value = 1E80
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeElasticityTensor
fill_method = symmetric_isotropic
C_ijkl = '6.4E9 6.4E9' # young 16MPa, Poisson 0.25
[../]
[./strain]
type = ComputeIncrementalSmallStrain
[../]
[./admissible]
type = ComputeMultipleInelasticStress
inelastic_models = stress
perform_finite_strain_rotations = false
[../]
[./stress]
type = CappedWeakPlaneStressUpdate
cohesion = coh
tan_friction_angle = tanphi
tan_dilation_angle = tanpsi
tensile_strength = t_strength
compressive_strength = c_strength
tip_smoother = 1E6
smoothing_tol = 0.5E6
yield_function_tol = 1E-2
[../]
[./density]
type = GenericConstantMaterial
block = 0
prop_names = density
prop_values = 1E4
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options = '-snes_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
petsc_options_value = ' asm 2 lu gmres 200'
[../]
[]
[Executioner]
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason'
line_search = bt
nl_abs_tol = 1E1
nl_rel_tol = 1e-5
l_tol = 1E-10
l_max_its = 100
nl_max_its = 100
num_steps = 8
dt = 0.1
type = Transient
[]
[Outputs]
file_base = pull_and_shear
exodus = true
csv = true
[]
test/tests/materials/discrete/recompute.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 1
[]
[./left_domain]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '0.5 1 0'
block_id = 10
[../]
[]
[Variables]
[./u]
initial_condition = 2
[../]
[]
[Kernels]
[./diff]
type = MatDiffusionTest
variable = u
prop_name = 'p'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 2
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 3
[../]
[]
[Materials]
[./recompute_props]
type = RecomputeMaterial
block = 0
f_name = 'f'
f_prime_name = 'f_prime'
p_name = 'p'
outputs = all
output_properties = 'f f_prime p'
compute = false # make this material "discrete"
[../]
[./newton]
type = NewtonMaterial
block = 0
outputs = all
f_name = 'f'
f_prime_name = 'f_prime'
p_name = 'p'
material = 'recompute_props'
[../]
[./left]
type = GenericConstantMaterial
prop_names = 'f f_prime p'
prop_values = '1 0.5 1.2345'
block = 10
outputs = all
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[]
modules/combined/test/tests/mortar_tm/2drz/ad_frictionless_second/finite_rr.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'finite_rr'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
use_automatic_differentiation = true
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
extra_vector_tags = 'ref'
[../]
[./plank]
use_automatic_differentiation = true
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
extra_vector_tags = 'ref'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
preset = false
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = block_right
value = 0
[../]
[./right_y]
type = ADFunctionDirichletBC
variable = disp_y
preset = false
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ADComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[./swell]
type = ADComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
nl_abs_tol = 1e-12
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/peridynamics/test/tests/simple_tests/2D_regularD_constH_OSPD.i
# Test for ordinary state-based peridynamic formulation
# for regular grid from generated mesh with const bond constants
# partial Jacobian
# Jacobian from bond-based formulation is used for preconditioning
# Square plate with Dirichlet boundary conditions applied
# at the left, top and bottom edges
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1003
value = 0.0
[../]
[./top_y]
type = DirichletBC
variable = disp_y
boundary = 1002
value = 0.0
[../]
[./bottom_y]
type = FunctionDirichletBC
variable = disp_y
boundary = 1000
function = '-0.001 * t'
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = ORDINARY_STATE
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2e5
poissons_ratio = 0.0
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialOSPD
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0
end_time = 1
[]
[Outputs]
file_base = 2D_regularD_constH_OSPD
exodus = true
[]
test/tests/bcs/ad_function_dirichlet_bc/test.i
###########################################################
# This is a test of Boundary Condition System. The
# FunctionDirichletBC is used to contribute the residuals
# to the boundary term operators in the weak form.
#
# @Requirement F3.40
###########################################################
[Mesh]
[./square]
type = GeneratedMeshGenerator
dim = 2
nx = 32
ny = 32
[../]
[]
[Variables]
[./u]
[../]
[]
[Functions]
[./ff_1]
type = ParsedFunction
value = alpha*alpha*pi
vars = 'alpha'
vals = '16'
[../]
[./ff_2]
type = ParsedFunction
value = pi*sin(alpha*pi*x)
vars = 'alpha'
vals = '16'
[../]
[./forcing_func]
type = CompositeFunction
functions = 'ff_1 ff_2'
[../]
[./bc_func]
type = ParsedFunction
value = sin(alpha*pi*x)
vars = 'alpha'
vals = '16'
[../]
[]
[Kernels]
[./diff]
type = ADDiffusion
variable = u
[../]
[./forcing]
type = ADBodyForce
variable = u
function = forcing_func
[../]
[]
[BCs]
[./all]
type = ADFunctionDirichletBC
variable = u
boundary = 'left right'
function = bc_func
[../]
[]
[Executioner]
type = Steady
nl_rel_tol = 1e-12
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
test/tests/meshgenerators/stack_generator/stack_generator.i
[Mesh]
[./layer1]
type = GeneratedMeshGenerator
dim = 3
nx = 10
xmax = 10
ny = 10
ymax = 10
nz = 3
zmax = 3
[]
[./layer2]
type = GeneratedMeshGenerator
dim = 3
nx = 10
xmax = 10
ny = 10
ymax = 10
nz = 5
zmax = 5
[]
[./layer3]
type = SubdomainBoundingBoxGenerator
input = layer2
bottom_left = '3 3 3'
top_right = '5 5 5'
block_id = 2
[]
[./layer4]
type = GeneratedMeshGenerator
dim = 3
nx = 10
xmax = 10
ny = 10
ymax = 10
nz = 5
zmax = 2
[]
[./stack]
type = StackGenerator
dim = 3
inputs = 'layer1 layer2 layer3 layer4'
bottom_height = 4
[]
[]
[Outputs]
exodus = true
[]
modules/porous_flow/test/tests/fluidstate/theis_nonisothermal.i
# Two-phase nonisothermal Theis problem: Flow from single source using WaterNCG fluidstate.
# Constant rate injection 2 kg/s of cold gas into warm reservoir
# 1D cylindrical mesh
# Initially, system has only a liquid phase, until enough gas is injected
# to form a gas phase, in which case the system becomes two phase.
[Mesh]
[./mesh]
type = GeneratedMeshGenerator
dim = 1
nx = 40
xmin = 0.1
xmax = 200
bias_x = 1.05
[../]
[]
[Problem]
type = FEProblem
coord_type = RZ
rz_coord_axis = Y
[]
[GlobalParams]
PorousFlowDictator = dictator
gravity = '0 0 0'
[]
[AuxVariables]
[./saturation_gas]
order = CONSTANT
family = MONOMIAL
[../]
[./x1]
order = CONSTANT
family = MONOMIAL
[../]
[./y0]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./saturation_gas]
type = PorousFlowPropertyAux
variable = saturation_gas
property = saturation
phase = 1
execute_on = timestep_end
[../]
[./x1]
type = PorousFlowPropertyAux
variable = x1
property = mass_fraction
phase = 0
fluid_component = 1
execute_on = timestep_end
[../]
[./y0]
type = PorousFlowPropertyAux
variable = y0
property = mass_fraction
phase = 1
fluid_component = 0
execute_on = timestep_end
[../]
[]
[Variables]
[./pgas]
initial_condition = 20e6
[../]
[./zi]
initial_condition = 0
[../]
[./temperature]
initial_condition = 70
[../]
[]
[Kernels]
[./mass0]
type = PorousFlowMassTimeDerivative
fluid_component = 0
variable = pgas
[../]
[./flux0]
type = PorousFlowAdvectiveFlux
fluid_component = 0
variable = pgas
[../]
[./mass1]
type = PorousFlowMassTimeDerivative
fluid_component = 1
variable = zi
[../]
[./flux1]
type = PorousFlowAdvectiveFlux
fluid_component = 1
variable = zi
[../]
[./energy]
type = PorousFlowEnergyTimeDerivative
variable = temperature
[../]
[./heatadv]
type = PorousFlowHeatAdvection
variable = temperature
[../]
[./conduction]
type = PorousFlowHeatConduction
variable = temperature
[../]
[]
[UserObjects]
[./dictator]
type = PorousFlowDictator
porous_flow_vars = 'pgas zi temperature'
number_fluid_phases = 2
number_fluid_components = 2
[../]
[./pc]
type = PorousFlowCapillaryPressureConst
pc = 0
[../]
[./fs]
type = PorousFlowWaterNCG
water_fp = water
gas_fp = methane
capillary_pressure = pc
[../]
[]
[Modules]
[./FluidProperties]
[./methane]
type = MethaneFluidProperties
[../]
[./water]
type = Water97FluidProperties
[../]
[../]
[]
[Materials]
[./temperature]
type = PorousFlowTemperature
temperature = temperature
[../]
[./waterncg]
type = PorousFlowFluidState
gas_porepressure = pgas
z = zi
temperature = temperature
temperature_unit = Celsius
capillary_pressure = pc
fluid_state = fs
[../]
[./porosity]
type = PorousFlowPorosityConst
porosity = 0.2
[../]
[./permeability]
type = PorousFlowPermeabilityConst
permeability = '1e-12 0 0 0 1e-12 0 0 0 1e-12'
[../]
[./relperm_water]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 0
s_res = 0.1
sum_s_res = 0.1
[../]
[./relperm_gas]
type = PorousFlowRelativePermeabilityCorey
n = 2
phase = 1
[../]
[./rockheat]
type = PorousFlowMatrixInternalEnergy
specific_heat_capacity = 1000
density = 2500
[../]
[./rock_thermal_conductivity]
type = PorousFlowThermalConductivityIdeal
dry_thermal_conductivity = '50 0 0 0 50 0 0 0 50'
[../]
[]
[BCs]
[./cold_gas]
type = DirichletBC
boundary = left
variable = temperature
value = 20
[../]
[./gas_injecton]
type = PorousFlowSink
boundary = left
variable = zi
flux_function = -0.159155
[../]
[./rightwater]
type = DirichletBC
boundary = right
value = 20e6
variable = pgas
[../]
[./righttemp]
type = DirichletBC
boundary = right
value = 70
variable = temperature
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -sub_pc_type -sub_pc_factor_shift_type -pc_asm_overlap'
petsc_options_value = 'gmres asm lu NONZERO 2'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1e4
automatic_scaling = true
nl_abs_tol = 1e-7
nl_rel_tol = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
dt = 1
growth_factor = 1.5
[../]
[]
[Postprocessors]
[./pgas]
type = PointValue
point = '2 0 0'
variable = pgas
[../]
[./sgas]
type = PointValue
point = '2 0 0'
variable = saturation_gas
[../]
[./zi]
type = PointValue
point = '2 0 0'
variable = zi
[../]
[./temperature]
type = PointValue
point = '2 0 0'
variable = temperature
[../]
[./massgas]
type = PorousFlowFluidMass
fluid_component = 1
[../]
[./x1]
type = PointValue
point = '2 0 0'
variable = x1
[../]
[./y0]
type = PointValue
point = '2 0 0'
variable = y0
[../]
[]
[Outputs]
print_linear_residuals = false
perf_graph = true
csv = true
[]
test/tests/auxkernels/mesh_integer/mesh_integer.i
[Mesh]
type = MeshGeneratorMesh
[gmg]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 5
ny = 5
extra_element_integers = 'material_id'
[]
[set_material_id0]
type = SubdomainBoundingBoxGenerator
input = gmg
bottom_left = '0 0 0'
top_right = '0.8 0.6 0'
block_id = 0
location = INSIDE
integer_name = material_id
[]
[set_material_id1]
type = SubdomainBoundingBoxGenerator
input = set_material_id0
bottom_left = '0 0 0'
top_right = '0.8 0.6 0'
block_id = 1
location = OUTSIDE
integer_name = material_id
[]
[]
[Variables]
[u][]
[]
[Kernels]
[diff]
type = MatDiffusion
variable = u
diffusivity = dc
[]
[timederivative]
type = TimeDerivative
variable = u
[]
[sourceterm]
type = BodyForce
variable = u
function = 1
[]
[]
[AuxVariables]
[id]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[id]
type = ElementIntegerAux
variable = id
integer_names = material_id
[]
[]
[BCs]
[vacuum]
type = VacuumBC
variable = u
boundary = 'right left top bottom'
[]
[]
[Materials]
[dc]
type = ConstantIDMaterial
prop_name = dc
prop_values = '1 2'
id_name = material_id
[]
[]
[Postprocessors]
[unorm]
type = ElementL2Norm
variable = u
[]
[]
[Executioner]
type = Transient
end_time = 0.1
dt = 0.01
nl_abs_tol = 1.e-15
[]
[Outputs]
execute_on = 'timestep_end'
exodus = true
[]
modules/combined/test/tests/phase_field_fracture/crack2d_computeCrackedStress_finitestrain_plastic.i
#This input uses PhaseField-Nonconserved Action to add phase field fracture bulk rate kernels
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 40
ny = 20
ymax = 0.5
[]
[./noncrack]
type = BoundingBoxNodeSetGenerator
new_boundary = noncrack
bottom_left = '0.5 0 0'
top_right = '1 0 0'
input = gen
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./strain_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./elastic_strain_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./plastic_strain_yy]
family = MONOMIAL
order = CONSTANT
[../]
[./uncracked_stress_yy]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Modules]
[./TensorMechanics]
[./Master]
[./All]
add_variables = true
strain = FINITE
planar_formulation = PLANE_STRAIN
additional_generate_output = 'stress_yy vonmises_stress'
strain_base_name = uncracked
[../]
[../]
[../]
[./PhaseField]
[./Nonconserved]
[./c]
free_energy = E_el
kappa = kappa_op
mobility = L
[../]
[../]
[../]
[]
[Kernels]
[./solid_x]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_x
component = 0
c = c
[../]
[./solid_y]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_y
component = 1
c = c
[../]
[./off_disp]
type = AllenCahnElasticEnergyOffDiag
variable = c
displacements = 'disp_x disp_y'
mob_name = L
[../]
[]
[AuxKernels]
[./strain_yy]
type = RankTwoAux
variable = strain_yy
rank_two_tensor = uncracked_mechanical_strain
index_i = 1
index_j = 1
execute_on = TIMESTEP_END
[../]
[./elastic_strain_yy]
type = RankTwoAux
variable = elastic_strain_yy
rank_two_tensor = uncracked_elastic_strain
index_i = 1
index_j = 1
execute_on = TIMESTEP_END
[../]
[./plastic_strain_yy]
type = RankTwoAux
variable = plastic_strain_yy
rank_two_tensor = uncracked_plastic_strain
index_i = 1
index_j = 1
execute_on = TIMESTEP_END
[../]
[./uncracked_stress_yy]
type = RankTwoAux
variable = uncracked_stress_yy
rank_two_tensor = uncracked_stress
index_i = 1
index_j = 1
execute_on = TIMESTEP_END
[../]
[]
[BCs]
[./ydisp]
type = FunctionDirichletBC
variable = disp_y
boundary = top
function = 't'
[../]
[./yfix]
type = DirichletBC
variable = disp_y
boundary = noncrack
value = 0
[../]
[./xfix]
type = DirichletBC
variable = disp_x
boundary = right
value = 0
[../]
[]
[Functions]
[./hf]
type = PiecewiseLinear
x = '0 0.001 0.003 0.023'
y = '0.85 1.0 1.25 1.5'
[../]
[]
[Materials]
[./pfbulkmat]
type = GenericConstantMaterial
prop_names = 'gc_prop l visco'
prop_values = '1e-3 0.05 5e-3'
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '120.0 80.0'
fill_method = symmetric_isotropic
base_name = uncracked
[../]
[./isotropic_plasticity]
type = IsotropicPlasticityStressUpdate
yield_stress = 0.85
hardening_function = hf
base_name = uncracked
[../]
[./radial_return_stress]
type = ComputeMultipleInelasticStress
tangent_operator = elastic
inelastic_models = 'isotropic_plasticity'
base_name = uncracked
[../]
[./cracked_stress]
type = ComputeCrackedStress
c = c
F_name = E_el
use_current_history_variable = true
uncracked_base_name = uncracked
finite_strain_model = true
[../]
[]
[Postprocessors]
[./av_stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./av_strain_yy]
type = SideAverageValue
variable = disp_y
boundary = top
[../]
[./av_uncracked_stress_yy]
type = ElementAverageValue
variable = uncracked_stress_yy
[../]
[./max_c]
type = ElementExtremeValue
variable = c
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_factor_mat_solving_package'
petsc_options_value = 'lu superlu_dist'
nl_rel_tol = 1e-8
l_tol = 1e-4
l_max_its = 100
nl_max_its = 10
dt = 2.0e-5
num_steps = 2
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/phase_field_fracture/crack2d_computeCrackedStress_finitestrain_elastic.i
#This input uses PhaseField-Nonconserved Action to add phase field fracture bulk rate kernels
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 40
ny = 20
ymax = 0.5
[]
[./noncrack]
type = BoundingBoxNodeSetGenerator
new_boundary = noncrack
bottom_left = '0.5 0 0'
top_right = '1 0 0'
input = gen
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[AuxVariables]
[./strain_yy]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Modules]
[./TensorMechanics]
[./Master]
[./All]
add_variables = true
strain = FINITE
planar_formulation = PLANE_STRAIN
additional_generate_output = 'stress_yy'
strain_base_name = uncracked
[../]
[../]
[../]
[./PhaseField]
[./Nonconserved]
[./c]
free_energy = E_el
kappa = kappa_op
mobility = L
[../]
[../]
[../]
[]
[Kernels]
[./solid_x]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_x
component = 0
c = c
[../]
[./solid_y]
type = PhaseFieldFractureMechanicsOffDiag
variable = disp_y
component = 1
c = c
[../]
[./off_disp]
type = AllenCahnElasticEnergyOffDiag
variable = c
displacements = 'disp_x disp_y'
mob_name = L
[../]
[]
[AuxKernels]
[./strain_yy]
type = RankTwoAux
variable = strain_yy
rank_two_tensor = uncracked_mechanical_strain
index_i = 1
index_j = 1
execute_on = TIMESTEP_END
[../]
[]
[BCs]
[./ydisp]
type = FunctionDirichletBC
variable = disp_y
boundary = top
function = 't'
[../]
[./yfix]
type = DirichletBC
variable = disp_y
boundary = noncrack
value = 0
[../]
[./xfix]
type = DirichletBC
variable = disp_x
boundary = right
value = 0
[../]
[]
[Materials]
[./pfbulkmat]
type = GenericConstantMaterial
prop_names = 'gc_prop l visco'
prop_values = '1e-3 0.05 1e-4'
[../]
[./elasticity_tensor]
type = ComputeElasticityTensor
C_ijkl = '120.0 80.0'
fill_method = symmetric_isotropic
base_name = uncracked
[../]
[./elastic]
type = ComputeFiniteStrainElasticStress
base_name = uncracked
[../]
[./cracked_stress]
type = ComputeCrackedStress
c = c
kdamage = 1e-5
F_name = E_el
use_current_history_variable = true
uncracked_base_name = uncracked
finite_strain_model = true
[../]
[]
[Postprocessors]
[./av_stress_yy]
type = ElementAverageValue
variable = stress_yy
[../]
[./av_strain_yy]
type = SideAverageValue
variable = disp_y
boundary = top
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_factor_mat_solving_package'
petsc_options_value = 'lu superlu_dist'
nl_rel_tol = 1e-8
l_tol = 1e-4
l_max_its = 100
nl_max_its = 10
dt = 3e-5
num_steps = 2
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/rename_boundary_generator/rename_boundary.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
# Rename parameters supplied through the "tests" specifications
[./rename]
type = RenameBoundaryGenerator
input = gmg
[]
[]
[Outputs]
exodus = true
[]
modules/combined/examples/mortar/eigenstrain.i
#
# Eigenstrain with Mortar gradient periodicity
#
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 50
ny = 50
xmin = -0.5
xmax = 0.5
ymin = -0.5
ymax = 0.5
[]
[./cnode]
input = gen
type = ExtraNodesetGenerator
coord = '0.0 0.0'
new_boundary = 100
[../]
[./anode]
input = cnode
type = ExtraNodesetGenerator
coord = '0.0 0.5'
new_boundary = 101
[../]
[slave_x]
input = anode
type = LowerDBlockFromSidesetGenerator
sidesets = '3'
new_block_id = 10
new_block_name = "slave_x"
[]
[master_x]
input = slave_x
type = LowerDBlockFromSidesetGenerator
sidesets = '1'
new_block_id = 12
new_block_name = "master_x"
[]
[slave_y]
input = master_x
type = LowerDBlockFromSidesetGenerator
sidesets = '0'
new_block_id = 11
new_block_name = "slave_y"
[]
[master_y]
input = slave_y
type = LowerDBlockFromSidesetGenerator
sidesets = '2'
new_block_id = 13
new_block_name = "master_y"
[]
[]
[GlobalParams]
derivative_order = 2
enable_jit = true
displacements = 'disp_x disp_y'
[]
# AuxVars to compute the free energy density for outputting
[AuxVariables]
[./local_energy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./local_free_energy]
type = TotalFreeEnergy
block = 0
execute_on = 'initial LINEAR'
variable = local_energy
interfacial_vars = 'c'
kappa_names = 'kappa_c'
[../]
[]
[Variables]
# Solute concentration variable
[./c]
[./InitialCondition]
type = RandomIC
min = 0.49
max = 0.51
[../]
block = 0
[../]
[./w]
block = 0
[../]
# Mesh displacement
[./disp_x]
block = 0
[../]
[./disp_y]
block = 0
[../]
# Lagrange multipliers for gradient component periodicity
[./lm_left_right_xx]
order = FIRST
family = LAGRANGE
block = slave_x
[../]
[./lm_left_right_xy]
order = FIRST
family = LAGRANGE
block = slave_x
[../]
[./lm_left_right_yx]
order = FIRST
family = LAGRANGE
block = slave_x
[../]
[./lm_left_right_yy]
order = FIRST
family = LAGRANGE
block = slave_x
[../]
[./lm_up_down_xx]
order = FIRST
family = LAGRANGE
block = slave_y
[../]
[./lm_up_down_xy]
order = FIRST
family = LAGRANGE
block = slave_y
[../]
[./lm_up_down_yx]
order = FIRST
family = LAGRANGE
block = slave_y
[../]
[./lm_up_down_yy]
order = FIRST
family = LAGRANGE
block = slave_y
[../]
[]
[Constraints]
[./ud_disp_x_grad_x]
type = EqualGradientConstraint
variable = lm_up_down_xx
component = 0
slave_variable = disp_x
slave_boundary = bottom
master_boundary = top
slave_subdomain = slave_y
master_subdomain = master_y
periodic = true
[../]
[./ud_disp_x_grad_y]
type = EqualGradientConstraint
variable = lm_up_down_xy
component = 1
slave_variable = disp_x
slave_boundary = bottom
master_boundary = top
slave_subdomain = slave_y
master_subdomain = master_y
periodic = true
[../]
[./ud_disp_y_grad_x]
type = EqualGradientConstraint
variable = lm_up_down_yx
component = 0
slave_variable = disp_y
slave_boundary = bottom
master_boundary = top
slave_subdomain = slave_y
master_subdomain = master_y
periodic = true
[../]
[./ud_disp_y_grad_y]
type = EqualGradientConstraint
variable = lm_up_down_yy
component = 1
slave_variable = disp_y
slave_boundary = bottom
master_boundary = top
slave_subdomain = slave_y
master_subdomain = master_y
periodic = true
[../]
[./lr_disp_x_grad_x]
type = EqualGradientConstraint
variable = lm_left_right_xx
component = 0
slave_variable = disp_x
slave_boundary = left
master_boundary = right
slave_subdomain = slave_x
master_subdomain = master_x
periodic = true
[../]
[./lr_disp_x_grad_y]
type = EqualGradientConstraint
variable = lm_left_right_xy
component = 1
slave_variable = disp_x
slave_boundary = left
master_boundary = right
slave_subdomain = slave_x
master_subdomain = master_x
periodic = true
[../]
[./lr_disp_y_grad_x]
type = EqualGradientConstraint
variable = lm_left_right_yx
component = 0
slave_variable = disp_y
slave_boundary = left
master_boundary = right
slave_subdomain = slave_x
master_subdomain = master_x
periodic = true
[../]
[./lr_disp_y_grad_y]
type = EqualGradientConstraint
variable = lm_left_right_yy
component = 1
slave_variable = disp_y
slave_boundary = left
master_boundary = right
slave_subdomain = slave_x
master_subdomain = master_x
periodic = true
[../]
[]
[Kernels]
# Set up stress divergence kernels
[./TensorMechanics]
block = 0
[../]
# Cahn-Hilliard kernels
[./c_dot]
type = CoupledTimeDerivative
variable = w
v = c
block = 0
[../]
[./c_res]
type = SplitCHParsed
variable = c
f_name = F
kappa_name = kappa_c
w = w
block = 0
[../]
[./w_res]
type = SplitCHWRes
variable = w
mob_name = M
block = 0
[../]
[]
[Materials]
# declare a few constants, such as mobilities (L,M) and interface gradient prefactors (kappa*)
[./consts]
type = GenericConstantMaterial
block = '0 10 11'
prop_names = 'M kappa_c'
prop_values = '0.2 0.01 '
[../]
[./shear1]
type = GenericConstantRankTwoTensor
block = 0
tensor_values = '0 0 0 0 0 0.5'
tensor_name = shear1
[../]
[./shear2]
type = GenericConstantRankTwoTensor
block = 0
tensor_values = '0 0 0 0 0 -0.5'
tensor_name = shear2
[../]
[./expand3]
type = GenericConstantRankTwoTensor
block = 0
tensor_values = '1 1 0 0 0 0'
tensor_name = expand3
[../]
[./weight1]
type = DerivativeParsedMaterial
block = 0
function = '0.3*c^2'
f_name = weight1
args = c
[../]
[./weight2]
type = DerivativeParsedMaterial
block = 0
function = '0.3*(1-c)^2'
f_name = weight2
args = c
[../]
[./weight3]
type = DerivativeParsedMaterial
block = 0
function = '4*(0.5-c)^2'
f_name = weight3
args = c
[../]
# matrix phase
[./elasticity_tensor]
type = ComputeElasticityTensor
block = 0
C_ijkl = '1 1'
fill_method = symmetric_isotropic
[../]
[./strain]
type = ComputeSmallStrain
block = 0
displacements = 'disp_x disp_y'
eigenstrain_names = eigenstrain
[../]
[./eigenstrain]
type = CompositeEigenstrain
block = 0
tensors = 'shear1 shear2 expand3'
weights = 'weight1 weight2 weight3'
args = c
eigenstrain_name = eigenstrain
[../]
[./stress]
type = ComputeLinearElasticStress
block = 0
[../]
# chemical free energies
[./chemical_free_energy]
type = DerivativeParsedMaterial
block = 0
f_name = Fc
function = '4*c^2*(1-c)^2'
args = 'c'
outputs = exodus
output_properties = Fc
[../]
# elastic free energies
[./elastic_free_energy]
type = ElasticEnergyMaterial
f_name = Fe
block = 0
args = 'c'
outputs = exodus
output_properties = Fe
[../]
# free energy (chemical + elastic)
[./free_energy]
type = DerivativeSumMaterial
block = 0
f_name = F
sum_materials = 'Fc Fe'
args = 'c'
[../]
[]
[BCs]
[./Periodic]
[./up_down]
primary = top
secondary = bottom
translation = '0 -1 0'
variable = 'c w'
[../]
[./left_right]
primary = left
secondary = right
translation = '1 0 0'
variable = 'c w'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = disp_x
value = 0
[../]
[./centerfix_y]
type = DirichletBC
boundary = 100
variable = disp_y
value = 0
[../]
# fix side point x coordinate to inhibit rotation
[./angularfix]
type = DirichletBC
boundary = 101
variable = disp_x
value = 0
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
# We monitor the total free energy and the total solute concentration (should be constant)
[Postprocessors]
[./total_free_energy]
type = ElementIntegralVariablePostprocessor
block = 0
execute_on = 'initial TIMESTEP_END'
variable = local_energy
[../]
[./total_solute]
type = ElementIntegralVariablePostprocessor
block = 0
execute_on = 'initial TIMESTEP_END'
variable = c
[../]
[./min]
type = ElementExtremeValue
block = 0
execute_on = 'initial TIMESTEP_END'
value_type = min
variable = c
[../]
[./max]
type = ElementExtremeValue
block = 0
execute_on = 'initial TIMESTEP_END'
value_type = max
variable = c
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
# mortar currently does not support MPI parallelization
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = ' lu NONZERO 1e-10'
l_max_its = 30
nl_max_its = 12
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
nl_abs_tol = 1.0e-10
start_time = 0.0
num_steps = 200
[./TimeStepper]
type = SolutionTimeAdaptiveDT
dt = 0.01
[../]
[]
[Outputs]
execute_on = 'timestep_end'
print_linear_residuals = false
exodus = true
[./table]
type = CSV
delimiter = ' '
[../]
[]
test/tests/misc/block_user_object_check/block_check.i
[Mesh]
[./generator]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 5
[../]
[./left_block]
type = SubdomainBoundingBoxGenerator
input = generator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.5 1 0'
[../]
[./right_block]
type = SubdomainBoundingBoxGenerator
input = left_block
block_id = 2
bottom_left = '0.5 0 0'
top_right = '1 1 0'
[../]
[]
[Variables]
[./var_1]
block = 1
initial_condition = 100
[../]
[./var_2]
block = 2
initial_condition = 200
[../]
[]
[Problem]
type = FEProblem
kernel_coverage_check = true
solve = false
[]
[Executioner]
type = Steady
[]
[Postprocessors]
[./obj]
type = NodalMaxValue
variable = var_1
#block = 1 # this is what being tested, see the test spec
execute_on = 'initial'
[../]
[]
test/tests/meshgenerators/mesh_collection_generator/mesh_collection_generator.i
[Mesh]
[./left]
type = GeneratedMeshGenerator
dim = 2
nx = 3
ny = 3
xmin = -3
xmax = 0
ymin = -5
ymax = 5
[../]
[./right]
type = GeneratedMeshGenerator
dim = 2
nx = 3
ny = 3
xmin = 3
xmax = 6
ymin = -5
ymax = 5
[../]
[./left_and_right]
type = MeshCollectionGenerator
inputs = 'left right'
[../]
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/plane_stress/conventional_planestress_OSPD.i
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = 1003
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = 1003
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = 1001
value = 0.001
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = ORDINARY_STATE
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 2.1e8
poissons_ratio = 0.3
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialOSPD
plane_stress = true
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0
end_time = 1
nl_rel_tol = 1e-10
[]
[Outputs]
file_base = conventional_planestress_OSPD
exodus = true
[]
modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_planar.i
# Uses non-smoothed Mohr-Coulomb (via ComputeMultiPlasticityStress and TensorMechanicsPlasticMohrCoulombMulti) to simulate the following problem.
# A cubical block is notched around its equator.
# All of its outer surfaces have roller BCs, but the notched region is free to move as needed
# The block is initialised with a high hydrostatic tensile stress
# Without the notch, the BCs do not allow contraction of the block, and this stress configuration is admissible
# With the notch, however, the interior parts of the block are free to move in order to relieve stress, and this causes plastic failure
# The top surface is then pulled upwards (the bottom is fixed because of the roller BCs)
# This causes more failure
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 9
ny = 9
nz = 9
xmin = 0
xmax = 0.1
ymin = 0
ymax = 0.1
zmin = 0
zmax = 0.1
[]
[block_to_remove_xmin]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 -0.01 0.045'
top_right = '0.01 0.11 0.055'
location = INSIDE
block_id = 1
input = generated_mesh
[]
[block_to_remove_xmax]
type = SubdomainBoundingBoxGenerator
bottom_left = '0.09 -0.01 0.045'
top_right = '0.11 0.11 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_xmin
[]
[block_to_remove_ymin]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 -0.01 0.045'
top_right = '0.11 0.01 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_xmax
[]
[block_to_remove_ymax]
type = SubdomainBoundingBoxGenerator
bottom_left = '-0.01 0.09 0.045'
top_right = '0.11 0.11 0.055'
location = INSIDE
block_id = 1
input = block_to_remove_ymin
[]
[remove_block]
type = BlockDeletionGenerator
block_id = 1
input = block_to_remove_ymax
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[Modules/TensorMechanics/Master]
[./all]
add_variables = true
incremental = true
generate_output = 'max_principal_stress mid_principal_stress min_principal_stress stress_zz'
eigenstrain_names = ini_stress
[../]
[]
[Postprocessors]
[./uz]
type = PointValue
point = '0 0 0.1'
use_displaced_mesh = false
variable = disp_z
[../]
[./s_zz]
type = ElementAverageValue
use_displaced_mesh = false
variable = stress_zz
[../]
[./num_res]
type = NumResidualEvaluations
[../]
[./nr_its]
type = ElementAverageValue
variable = num_iters
[../]
[./max_nr_its]
type = ElementExtremeValue
variable = num_iters
[../]
[./runtime]
type = PerfGraphData
data_type = TOTAL
section_name = 'Root'
[../]
[]
[BCs]
# back=zmin, front=zmax, bottom=ymin, top=ymax, left=xmin, right=xmax
[./xmin_xzero]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./xmax_xzero]
type = DirichletBC
variable = disp_x
boundary = right
value = 0.0
[../]
[./ymin_yzero]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./ymax_yzero]
type = DirichletBC
variable = disp_y
boundary = top
value = 0.0
[../]
[./zmin_zzero]
type = DirichletBC
variable = disp_z
boundary = back
value = '0'
[../]
[./zmax_disp]
type = FunctionDirichletBC
variable = disp_z
boundary = front
function = '1E-6*max(t,0)'
[../]
[]
[AuxVariables]
[./mc_int]
order = CONSTANT
family = MONOMIAL
[../]
[./plastic_strain]
order = CONSTANT
family = MONOMIAL
[../]
[./num_iters]
order = CONSTANT
family = MONOMIAL
[../]
[./yield_fcn]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./mc_int_auxk]
type = MaterialStdVectorAux
index = 0
property = plastic_internal_parameter
variable = mc_int
[../]
[./plastic_strain_aux]
type = MaterialRankTwoTensorAux
i = 2
j = 2
property = plastic_strain
variable = plastic_strain
[../]
[./num_iters_auxk] # cannot use plastic_NR_iterations directly as this is zero, since no NR iterations are actually used, since we use a custom algorithm to do the return
type = ParsedAux
args = plastic_strain
function = 'if(plastic_strain>0,1,0)'
variable = num_iters
[../]
[./yield_fcn_auxk]
type = MaterialStdVectorAux
index = 0
property = plastic_yield_function
variable = yield_fcn
[../]
[]
[UserObjects]
[./mc_coh]
type = TensorMechanicsHardeningConstant
value = 5E6
[../]
[./mc_phi]
type = TensorMechanicsHardeningConstant
value = 35
convert_to_radians = true
[../]
[./mc_psi]
type = TensorMechanicsHardeningConstant
value = 10
convert_to_radians = true
[../]
[./mc]
type = TensorMechanicsPlasticMohrCoulombMulti
cohesion = mc_coh
friction_angle = mc_phi
dilation_angle = mc_psi
yield_function_tolerance = 1E-5
internal_constraint_tolerance = 1E-11
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 16E9
poissons_ratio = 0.25
[../]
[./mc]
type = ComputeMultiPlasticityStress
ep_plastic_tolerance = 1E-11
plastic_models = mc
max_NR_iterations = 1000
debug_fspb = crash
[../]
[./strain_from_initial_stress]
type = ComputeEigenstrainFromInitialStress
initial_stress = '6E6 0 0 0 6E6 0 0 0 6E6'
eigenstrain_name = ini_stress
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
[../]
[]
[Executioner]
start_time = -1
end_time = 10
dt = 1
solve_type = NEWTON
type = Transient
l_tol = 1E-2
nl_abs_tol = 1E-5
nl_rel_tol = 1E-7
l_max_its = 200
nl_max_its = 400
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
petsc_options_value = ' asm 2 lu gmres 200'
[]
[Outputs]
file_base = biaxial_planar
perf_graph = true
exodus = false
csv = true
[]
test/tests/materials/interface_material/interface_value_material_split_mesh_stateful.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
xmax = 2
ny = 2
ymax = 2
elem_type = QUAD4
[]
[./subdomain_id]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '1 0 0'
top_right = '2 2 0'
block_id = 1
[../]
[./split]
type = BreakMeshByBlockGenerator
input = subdomain_id
[../]
[]
[Variables]
[./u]
block = 0
[../]
[./v]
block = 1
[../]
[]
[Kernels]
[./diff]
type = MatDiffusion
variable = u
diffusivity = 'diffusivity'
block = 0
[../]
[./diff_v]
type = MatDiffusion
variable = v
diffusivity = 'diffusivity'
block = 1
[../]
[]
[InterfaceKernels]
[tied]
type = PenaltyInterfaceDiffusion
variable = u
neighbor_var = v
penalty = 1e6
jump_prop_name = "average_jump"
boundary = 'interface'
[]
[]
[BCs]
[u_left]
type = DirichletBC
boundary = 'left'
variable = u
value = 1
[]
[v_right]
type = DirichletBC
boundary = 'right'
variable = v
value = 0
[]
[]
[Materials]
[./stateful1]
type = StatefulMaterial
block = 0
initial_diffusivity = 1
# outputs = all
[../]
[./stateful2]
type = StatefulMaterial
block = 1
initial_diffusivity = 2
# outputs = all
[../]
[./interface_material_avg]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = average
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
couple_old_values_and_properties = true
[../]
[./interface_material_jump_master_minus_slave]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = jump_master_minus_slave
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
couple_old_values_and_properties = true
[../]
[./interface_material_jump_slave_minus_master]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = jump_slave_minus_master
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
couple_old_values_and_properties = true
[../]
[./interface_material_jump_abs]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = jump_abs
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
couple_old_values_and_properties = true
[../]
[./interface_material_master]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = master
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
couple_old_values_and_properties = true
[../]
[./interface_material_slave]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
mat_prop_var_out_basename = diff_var
boundary = interface
interface_value_type = slave
nl_var_master = u
nl_var_slave = v
couple_old_values_and_properties = true
[../]
[]
[AuxKernels]
[./interface_material_avg]
type = MaterialRealAux
property = diff_average
variable = diffusivity_average
boundary = interface
[]
[./interface_material_jump_master_minus_slave]
type = MaterialRealAux
property = diff_jump_master_minus_slave
variable = diffusivity_jump_master_minus_slave
boundary = interface
[]
[./interface_material_jump_slave_minus_master]
type = MaterialRealAux
property = diff_jump_slave_minus_master
variable = diffusivity_jump_slave_minus_master
boundary = interface
[]
[./interface_material_jump_abs]
type = MaterialRealAux
property = diff_jump_abs
variable = diffusivity_jump_abs
boundary = interface
[]
[./interface_material_master]
type = MaterialRealAux
property = diff_master
variable = diffusivity_master
boundary = interface
[]
[./interface_material_slave]
type = MaterialRealAux
property = diff_slave
variable = diffusivity_slave
boundary = interface
[]
[./interface_material_avg_prev]
type = MaterialRealAux
property = diff_average_prev
variable = diffusivity_average_prev
boundary = interface
[]
[./interface_material_jump_master_minus_slave_prev]
type = MaterialRealAux
property = diff_jump_master_minus_slave_prev
variable = diffusivity_jump_master_minus_slave_prev
boundary = interface
[]
[./interface_material_jump_slave_minus_master_prev]
type = MaterialRealAux
property = diff_jump_slave_minus_master_prev
variable = diffusivity_jump_slave_minus_master_prev
boundary = interface
[]
[./interface_material_jump_abs_prev]
type = MaterialRealAux
property = diff_jump_abs_prev
variable = diffusivity_jump_abs_prev
boundary = interface
[]
[./interface_material_master_prev]
type = MaterialRealAux
property = diff_master_prev
variable = diffusivity_master_prev
boundary = interface
[]
[./interface_material_slave_prev]
type = MaterialRealAux
property = diff_slave_prev
variable = diffusivity_slave_prev
boundary = interface
[]
[diffusivity_var]
type = MaterialRealAux
property = diffusivity
variable = diffusivity_var
[]
[]
[AuxVariables]
[diffusivity_var]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_average]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_master_minus_slave]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_slave_minus_master]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_abs]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_master]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_slave]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_average_prev]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_master_minus_slave_prev]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_slave_minus_master_prev]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_abs_prev]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_master_prev]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_slave_prev]
family = MONOMIAL
order = CONSTANT
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
num_steps = 3
dt = 0.5
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/capped_weak_plane/push_and_shear.i
# Dynamic problem with plasticity.
# A column of material (not subject to gravity) has the z-displacement
# of its sides fixed, but the centre of its bottom side is pushed
# upwards. This causes failure in the bottom elements.
#
# The problem utilises damping in the following way.
# The DynamicStressDivergenceTensors forms the residual
# integral grad(stress) + zeta*grad(stress-dot)
# = V/L * elasticity * (du/dx + zeta * dv/dx)
# where V is the elemental volume, and L is the length-scale,
# and u is the displacement, and v is the velocity.
# The InertialForce forms the residual
# integral density * (accel + eta * velocity)
# = V * density * (a + eta * v)
# where a is the acceleration.
# So, a damped oscillator description with both these
# kernels looks like
# 0 = V * (density * a + density * eta * v + elasticity * zeta * v / L^2 + elasticity / L^2 * u)
# Critical damping is when the coefficient of v is
# 2 * sqrt(density * elasticity / L^2)
# In the case at hand, density=1E4, elasticity~1E10 (Young is 16GPa),
# L~1 to 10 (in the horizontal or vertical direction), so this coefficient ~ 1E7 to 1E6.
# Choosing eta = 1E3 and zeta = 1E-2 gives approximate critical damping.
# If zeta is high then steady-state is achieved very quickly.
#
# In the case of plasticity, the effective stiffness of the elements
# is significantly less. Therefore, the above parameters give
# overdamping.
#
# This simulation is a nice example of the irreversable and non-uniqueness
# of simulations involving plasticity. The result depends on the damping
# parameters and the time stepping.
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 10
ny = 1
nz = 5
bias_z = 1.5
xmin = -10
xmax = 10
ymin = -10
ymax = 10
zmin = -100
zmax = 0
[]
[bottomz_middle]
type = BoundingBoxNodeSetGenerator
new_boundary = bottomz_middle
bottom_left = '-1 -1500 -105'
top_right = '1 1500 -95'
input = generated_mesh
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
beta = 0.25 # Newmark time integration
gamma = 0.5 # Newmark time integration
eta = 1E3 #0.3E4 # higher values mean more damping via density
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[Kernels]
[./DynamicTensorMechanics] # zeta*K*vel + K * disp
displacements = 'disp_x disp_y disp_z'
zeta = 1E-2 # higher values mean more damping via stiffness
alpha = 0 # better nonlinear convergence than for alpha>0
[../]
[./inertia_x] # M*accel + eta*M*vel
type = InertialForce
use_displaced_mesh = false
variable = disp_x
velocity = vel_x
acceleration = accel_x
[../]
[./inertia_y]
type = InertialForce
use_displaced_mesh = false
variable = disp_y
velocity = vel_y
acceleration = accel_y
[../]
[./inertia_z]
type = InertialForce
use_displaced_mesh = false
variable = disp_z
velocity = vel_z
acceleration = accel_z
[../]
[]
[BCs]
[./no_x2]
type = DirichletBC
variable = disp_x
boundary = right
value = 0.0
[../]
[./no_x1]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./no_y1]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./no_y2]
type = DirichletBC
variable = disp_y
boundary = top
value = 0.0
[../]
[./z_fixed_sides_xmin]
type = DirichletBC
variable = disp_z
boundary = left
value = 0
[../]
[./z_fixed_sides_xmax]
type = DirichletBC
variable = disp_z
boundary = right
value = 0
[../]
[./bottomz]
type = FunctionDirichletBC
variable = disp_z
boundary = bottomz_middle
function = min(10*t,1)
[../]
[]
[AuxVariables]
[./accel_x]
[../]
[./vel_x]
[../]
[./accel_y]
[../]
[./vel_y]
[../]
[./accel_z]
[../]
[./vel_z]
[../]
[./stress_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./stress_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./strainp_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_xx]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_xy]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_xz]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_yy]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_yz]
order = CONSTANT
family = MONOMIAL
[../]
[./straint_zz]
order = CONSTANT
family = MONOMIAL
[../]
[./f_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./f_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./f_compressive]
order = CONSTANT
family = MONOMIAL
[../]
[./intnl_shear]
order = CONSTANT
family = MONOMIAL
[../]
[./intnl_tensile]
order = CONSTANT
family = MONOMIAL
[../]
[./iter]
order = CONSTANT
family = MONOMIAL
[../]
[./ls]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./accel_x] # Calculates and stores acceleration at the end of time step
type = NewmarkAccelAux
variable = accel_x
displacement = disp_x
velocity = vel_x
execute_on = timestep_end
[../]
[./vel_x] # Calculates and stores velocity at the end of the time step
type = NewmarkVelAux
variable = vel_x
acceleration = accel_x
execute_on = timestep_end
[../]
[./accel_y]
type = NewmarkAccelAux
variable = accel_y
displacement = disp_y
velocity = vel_y
execute_on = timestep_end
[../]
[./vel_y]
type = NewmarkVelAux
variable = vel_y
acceleration = accel_y
execute_on = timestep_end
[../]
[./accel_z]
type = NewmarkAccelAux
variable = accel_z
displacement = disp_z
velocity = vel_z
execute_on = timestep_end
[../]
[./vel_z]
type = NewmarkVelAux
variable = vel_z
acceleration = accel_z
execute_on = timestep_end
[../]
[./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_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_zz]
type = RankTwoAux
rank_two_tensor = stress
variable = stress_zz
index_i = 2
index_j = 2
[../]
[./strainp_xx]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_xx
index_i = 0
index_j = 0
[../]
[./strainp_xy]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_xy
index_i = 0
index_j = 1
[../]
[./strainp_xz]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_xz
index_i = 0
index_j = 2
[../]
[./strainp_yy]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_yy
index_i = 1
index_j = 1
[../]
[./strainp_yz]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_yz
index_i = 1
index_j = 2
[../]
[./strainp_zz]
type = RankTwoAux
rank_two_tensor = plastic_strain
variable = strainp_zz
index_i = 2
index_j = 2
[../]
[./straint_xx]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_xx
index_i = 0
index_j = 0
[../]
[./straint_xy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_xy
index_i = 0
index_j = 1
[../]
[./straint_xz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_xz
index_i = 0
index_j = 2
[../]
[./straint_yy]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_yy
index_i = 1
index_j = 1
[../]
[./straint_yz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_yz
index_i = 1
index_j = 2
[../]
[./straint_zz]
type = RankTwoAux
rank_two_tensor = total_strain
variable = straint_zz
index_i = 2
index_j = 2
[../]
[./f_shear]
type = MaterialStdVectorAux
property = plastic_yield_function
index = 0
variable = f_shear
[../]
[./f_tensile]
type = MaterialStdVectorAux
property = plastic_yield_function
index = 1
variable = f_tensile
[../]
[./f_compressive]
type = MaterialStdVectorAux
property = plastic_yield_function
index = 2
variable = f_compressive
[../]
[./intnl_shear]
type = MaterialStdVectorAux
property = plastic_internal_parameter
index = 0
variable = intnl_shear
[../]
[./intnl_tensile]
type = MaterialStdVectorAux
property = plastic_internal_parameter
index = 1
variable = intnl_tensile
[../]
[./iter]
type = MaterialRealAux
property = plastic_NR_iterations
variable = iter
[../]
[./ls]
type = MaterialRealAux
property = plastic_linesearch_needed
variable = ls
[../]
[]
[UserObjects]
[./coh]
type = TensorMechanicsHardeningConstant
value = 1E6
[../]
[./tanphi]
type = TensorMechanicsHardeningConstant
value = 0.5
[../]
[./tanpsi]
type = TensorMechanicsHardeningConstant
value = 0.166666666667
[../]
[./t_strength]
type = TensorMechanicsHardeningConstant
value = 1E80
[../]
[./c_strength]
type = TensorMechanicsHardeningConstant
value = 0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeElasticityTensor
fill_method = symmetric_isotropic
C_ijkl = '6.4E9 6.4E9' # young 16MPa, Poisson 0.25
[../]
[./strain]
type = ComputeIncrementalSmallStrain
[../]
[./admissible]
type = ComputeMultipleInelasticStress
inelastic_models = stress
perform_finite_strain_rotations = false
[../]
[./stress]
type = CappedWeakPlaneStressUpdate
cohesion = coh
tan_friction_angle = tanphi
tan_dilation_angle = tanpsi
tensile_strength = t_strength
compressive_strength = c_strength
tip_smoother = 0.5E6
smoothing_tol = 0.5E6
yield_function_tol = 1E-2
[../]
[./density]
type = GenericConstantMaterial
block = 0
prop_names = density
prop_values = 1E4
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
petsc_options = '-snes_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -pc_asm_overlap -sub_pc_type -ksp_type -ksp_gmres_restart'
petsc_options_value = ' asm 2 lu gmres 200'
[../]
[]
[Executioner]
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason'
line_search = bt
nl_abs_tol = 1E1
nl_rel_tol = 1e-5
l_tol = 1E-10
l_max_its = 100
nl_max_its = 100
end_time = 0.5
dt = 0.1
type = Transient
[]
[Outputs]
file_base = push_and_shear
exodus = true
csv = true
[]
test/tests/functions/image_function/flip_quad.i
[Mesh]
uniform_refine = 1
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 20
ny = 20
xmax = 2
ymax = 2
[]
# Define block IDs for the four quadrants in CCW order:
# 1=top_right
# 2=top_left
# 3=bottom_left
# 4=bottom_right
[./top_right_modifier]
input = gen
type = SubdomainBoundingBoxGenerator
top_right = '2 2 0'
bottom_left = '1 1 0'
block_id = 1
[../]
[./top_left_modifier]
input = top_right_modifier
type = SubdomainBoundingBoxGenerator
top_right = '1 2 0'
bottom_left = '0 1 0'
block_id = 2
[../]
[./bottom_left_modifier]
input = top_left_modifier
type = SubdomainBoundingBoxGenerator
top_right = '1 1 0'
bottom_left = '0 0 0'
block_id = 3
[../]
[./bottom_right_modifier]
input = bottom_left_modifier
type = SubdomainBoundingBoxGenerator
top_right = '2 1 0'
bottom_left = '1 0 0'
block_id = 4
[../]
[]
[Variables]
[./u]
family = MONOMIAL
order = CONSTANT
[../]
[]
[Functions]
[./bottom_left_func]
type = ImageFunction
file_base = stack/test
flip_x = true
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
file_suffix = png
origin = '0 0 0'
dimensions = '1 1 0'
[../]
[./top_left_func]
type = ImageFunction
file_base = stack/test
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
file_suffix = png
origin = '0 1 0'
dimensions = '1 1 0'
flip_x = true
flip_y = true
[../]
[./top_right_func]
type = ImageFunction
origin = '1 1 0'
file_base = stack/test
file_suffix = png
flip_y = true
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
dimensions = '1 1 0'
[../]
[./bottom_right_func]
type = ImageFunction
origin = '1 0 0'
file_base = stack/test
file_range = '0' # file_range is a vector input, a single entry means "read only 1 file"
file_suffix = png
dimensions = '1 1 0'
[../]
[]
[ICs]
# Defined the same way as the MeshGenerators
[./top_right_ic]
function = top_right_func
variable = u
type = FunctionIC
block = 1
[../]
[./top_left_ic]
function = top_left_func
variable = u
type = FunctionIC
block = 2
[../]
[./bottom_left_ic]
function = bottom_left_func
variable = u
type = FunctionIC
block = 3
[../]
[./bottom_right_ic]
function = bottom_right_func
variable = u
type = FunctionIC
block = 4
[../]
[]
[Problem]
type = FEProblem
solve = false
[]
[Executioner]
type = Transient
num_steps = 1
dt = 0.1
[]
[Outputs]
exodus = true
[]
modules/peridynamics/test/tests/jacobian_check/generalized_planestrain_thermomechanics_OSPD.i
# NOTE: this jacobian test for the coupled thermomechanical model must use displaced mesh, otherwise the difference for the first step is huge
[GlobalParams]
displacements = 'disp_x disp_y'
temperature = temp
scalar_out_of_plane_strain = scalar_strain_zz
full_jacobian = true
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./temp]
initial_condition = 0.5
[../]
[./scalar_strain_zz]
order = FIRST
family = SCALAR
[../]
[]
[AuxVariables]
[./stress_zz]
order = FIRST
family = LAGRANGE
[../]
[]
[Modules/Peridynamics/Mechanics]
[./Master]
[./all]
formulation = ORDINARY_STATE
[../]
[../]
[./GeneralizedPlaneStrain]
[./all]
formulation = ORDINARY_STATE
out_of_plane_stress_variable = stress_zz
[../]
[../]
[]
[Kernels]
[./heat]
type = HeatConductionBPD
variable = temp
[../]
[]
[AuxKernels]
[./stress_zz]
type = NodalRankTwoPD
variable = stress_zz
poissons_ratio = 0.3
youngs_modulus = 1e6
thermal_expansion_coeff = 0.02
stress_free_temperature = 0.5
rank_two_tensor = stress
output_type = component
index_i = 2
index_j = 2
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialOSPD
thermal_expansion_coeff = 0.02
stress_free_temperature = 0.5
[../]
[./thermal_mat]
type = ThermalConstantHorizonMaterialBPD
thermal_conductivity = 1.0
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
petsc_options_iname = '-ksp_type -pc_type -snes_type'
petsc_options_value = 'bcgs bjacobi test'
[../]
[]
[Executioner]
type = Transient
solve_type = NEWTON
end_time = 1
dt = 1
num_steps = 1
[]
modules/combined/test/tests/mortar_tm/2drz/frictionless_first/finite.i
E_block = 1e7
E_plank = 1e7
elem = QUAD4
order = FIRST
name = 'finite'
[Problem]
coord_type = RZ
[]
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 0.6
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.61
xmax = 1.21
ymin = 9.2
ymax = 10.0
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.9 9.2 0
1.21 9.5 0
0.9 10.0 0
0.61 9.5 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./block]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'block'
[../]
[./plank]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank'
eigenstrain_names = 'swell'
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = DirichletBC
variable = disp_x
boundary = block_right
value = 0
[../]
[./right_y]
type = FunctionDirichletBC
variable = disp_y
preset = false
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[./swell]
type = ComputeEigenstrain
block = 'plank'
eigenstrain_name = swell
eigen_base = '1 0 0 0 0 0 0 0 0'
prefactor = swell_mat
[../]
[./swell_mat]
type = GenericFunctionMaterial
prop_names = 'swell_mat'
prop_values = '7e-2*(1-cos(4*t))'
block = 'plank'
[../]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 10
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
test/tests/userobjects/interface_user_object/interface_value_user_object_QP.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
xmax = 2
ny = 2
ymax = 2
elem_type = QUAD4
[]
[./subdomain_id]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '1 1 0'
block_id = 1
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain_id
master_block = '0'
paired_block = '1'
new_boundary = 'interface'
[../]
[]
[Functions]
[./fn_exact]
type = ParsedFunction
value = 'x*x+y*y'
[../]
[./ffn]
type = ParsedFunction
value = -4
[../]
[]
[UserObjects]
[./interface_value_uo]
type = InterfaceQpValueUserObject
var = diffusivity_1
var_neighbor = diffusivity_2
boundary = 'interface'
execute_on = 'initial timestep_end'
interface_value_type = average
[../]
[./interface_master_minus_slave_uo]
type = InterfaceQpValueUserObject
var = diffusivity_1
var_neighbor = diffusivity_2
boundary = 'interface'
execute_on = 'initial timestep_end'
interface_value_type = jump_master_minus_slave
[../]
[./interface_slave_minus_master_uo]
type = InterfaceQpValueUserObject
var = diffusivity_1
var_neighbor = diffusivity_2
boundary = 'interface'
execute_on = 'initial timestep_end'
interface_value_type = jump_slave_minus_master
[../]
[./interface_absolute_jump_uo]
type = InterfaceQpValueUserObject
var = diffusivity_1
var_neighbor = diffusivity_2
boundary = 'interface'
execute_on = 'initial timestep_end'
interface_value_type = jump_abs
[../]
[./interface_master_uo]
type = InterfaceQpValueUserObject
var = diffusivity_1
var_neighbor = diffusivity_2
boundary = 'interface'
execute_on = 'initial timestep_end'
interface_value_type = master
[../]
[./interface_slave_uo]
type = InterfaceQpValueUserObject
var = diffusivity_1
var_neighbor = diffusivity_2
boundary = 'interface'
execute_on = 'initial timestep_end'
interface_value_type = slave
[../]
[]
[Variables]
[./u]
family = LAGRANGE
order = FIRST
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = ffn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = fn_exact
[../]
[]
[Materials]
[./stateful1]
type = StatefulMaterial
block = 0
initial_diffusivity = 5
# outputs = all
[../]
[./stateful2]
type = StatefulMaterial
block = 1
initial_diffusivity = 2
# outputs = all
[../]
[]
[AuxKernels]
[./diffusivity_1]
type = MaterialRealAux
property = diffusivity
variable = diffusivity_1
[]
[./diffusivity_2]
type = MaterialRealAux
property = diffusivity
variable = diffusivity_2
[]
[./interface_avg_qp_aux]
type = InterfaceValueUserObjectAux
variable = avg_qp
boundary = 'interface'
interface_uo_name = interface_value_uo
[]
[./interface_master_minus_slave_qp_aux]
type = InterfaceValueUserObjectAux
variable = master_minus_slave_qp
boundary = 'interface'
interface_uo_name = interface_master_minus_slave_uo
[../]
[./interface_slave_minus_master_qp_aux]
type = InterfaceValueUserObjectAux
variable = slave_minus_master_qp
boundary = 'interface'
interface_uo_name = interface_slave_minus_master_uo
[../]
[./interface_absolute_jump_qp_aux]
type = InterfaceValueUserObjectAux
variable = abs_jump_qp
boundary = 'interface'
interface_uo_name = interface_absolute_jump_uo
[../]
[./interface_master_qp_aux]
type = InterfaceValueUserObjectAux
variable = master_qp
boundary = 'interface'
interface_uo_name = interface_master_uo
[../]
[./interface_slave_qp_aux]
type = InterfaceValueUserObjectAux
variable = slave_qp
boundary = 'interface'
interface_uo_name = interface_slave_uo
[../]
[]
[AuxVariables]
[./diffusivity_1]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_2]
family = MONOMIAL
order = CONSTANT
[]
[./avg_qp]
family = MONOMIAL
order = CONSTANT
[]
[./master_minus_slave_qp]
family = MONOMIAL
order = CONSTANT
[]
[./slave_minus_master_qp]
family = MONOMIAL
order = CONSTANT
[]
[./abs_jump_qp]
family = MONOMIAL
order = CONSTANT
[]
[./master_qp]
family = MONOMIAL
order = CONSTANT
[]
[./slave_qp]
family = MONOMIAL
order = CONSTANT
[]
[]
[Postprocessors]
[./interface_average_PP]
type = SideAverageValue
boundary = interface
variable = avg_qp
[../]
[./master_minus_slave_qp_PP]
type = SideAverageValue
boundary = interface
variable = master_minus_slave_qp
[../]
[./slave_minus_master_qp_PP]
type = SideAverageValue
boundary = interface
variable = slave_minus_master_qp
[../]
[./abs_jump_qp_PP]
type = SideAverageValue
boundary = interface
variable = abs_jump_qp
[../]
[./master_qp_PP]
type = SideAverageValue
boundary = interface
variable = master_qp
[../]
[./slave_qp_PP]
type = SideAverageValue
boundary = interface
variable = slave_qp
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
[]
test/tests/materials/material/material_check_test.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 4
ny = 4
[]
[./block_1]
input = gen
type = SubdomainBoundingBoxGenerator
top_right = '0.5 0.5 0'
bottom_left = '0 0 0'
block_id = 1
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./mat]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./mat]
type = MaterialRealAux
variable = mat
property = prop
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = 3
value = 1
[../]
[./right]
type = DirichletBC
variable = u
boundary = 2
value = 3
[../]
[]
[Materials]
[./mat]
type = GenericConstantMaterial
block = 1
prop_names = prop
prop_values = 1
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
[]
[Outputs]
file_base = out
[./exodus]
type = Exodus
elemental_as_nodal = true
[../]
[]
test/tests/meshgenerators/lower_d_block_generator/ids.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 10
[]
[./lower_d_block]
type = LowerDBlockFromSidesetGenerator
input = gmg
new_block_id = 10
sidesets = '0 0 1 2 3'
[]
[]
[Variables]
[./u]
block = 0
[../]
[./v]
block = 10
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
block = 0
[../]
[./srcv]
type = BodyForce
block = 10
variable = v
function = 1
[../]
[./time_v]
type = TimeDerivative
block = 10
variable = v
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
num_steps = 2
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/interfacekernels/1d_interface/coupled_value_coupled_flux.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
nx = 10
xmax = 2
[]
[./subdomain1]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '1.0 0 0'
block_id = 1
top_right = '2.0 1.0 0'
[../]
[./interface]
input = subdomain1
type = SideSetsBetweenSubdomainsGenerator
master_block = '0'
paired_block = '1'
new_boundary = 'master0_interface'
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
block = '0'
[../]
[./v]
order = FIRST
family = LAGRANGE
block = '1'
[../]
[]
[Kernels]
[./diff_u]
type = CoeffParamDiffusion
variable = u
D = 4
block = 0
[../]
[./diff_v]
type = CoeffParamDiffusion
variable = v
D = 2
block = 1
[../]
[]
[InterfaceKernels]
active = 'interface'
[./interface]
type = InterfaceDiffusion
variable = u
neighbor_var = v
boundary = master0_interface
D = 'D'
D_neighbor = 'D'
[../]
[./penalty_interface]
type = PenaltyInterfaceDiffusion
variable = u
neighbor_var = v
boundary = master0_interface
penalty = 1e6
[../]
[]
[BCs]
active = 'left right middle'
[./left]
type = DirichletBC
variable = u
boundary = 'left'
value = 1
[../]
[./right]
type = DirichletBC
variable = v
boundary = 'right'
value = 0
[../]
[./middle]
type = MatchedValueBC
variable = v
boundary = 'master0_interface'
v = u
[../]
[]
[Materials]
[./stateful]
type = StatefulMaterial
initial_diffusivity = 1
boundary = master0_interface
[../]
[./block0]
type = GenericConstantMaterial
block = '0'
prop_names = 'D'
prop_values = '4'
[../]
[./block1]
type = GenericConstantMaterial
block = '1'
prop_names = 'D'
prop_values = '2'
[../]
[]
[Preconditioning]
[./smp]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
print_linear_residuals = true
[]
[Debug]
show_var_residual_norms = true
[]
modules/porous_flow/test/tests/actions/basicthm_thm.i
# PorousFlowBasicTHM action with coupling_type = ThermoHydroMechanicalGenerator
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 3
xmax = 10
ymax = 3
[]
[./aquifer]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 1 0'
top_right = '10 2 0'
[../]
[./injection_area]
type = SideSetsAroundSubdomainGenerator
block = 1
new_boundary = 'injection_area'
normal = '-1 0 0'
input = 'aquifer'
[../]
[./outflow_area]
type = SideSetsAroundSubdomainGenerator
block = 1
new_boundary = 'outflow_area'
normal = '1 0 0'
input = 'injection_area'
[../]
[./rename]
type = RenameBlockGenerator
old_block_id = '0 1'
new_block_name = 'caprock aquifer'
input = 'outflow_area'
[../]
[]
[GlobalParams]
PorousFlowDictator = dictator
displacements = 'disp_x disp_y'
biot_coefficient = 1.0
[]
[Variables]
[./porepressure]
initial_condition = 1e6
[../]
[./temperature]
initial_condition = 293
scaling = 1e-6
[../]
[./disp_x]
scaling = 1e-6
[../]
[./disp_y]
scaling = 1e-6
[../]
[]
[PorousFlowBasicTHM]
porepressure = porepressure
temperature = temperature
coupling_type = ThermoHydroMechanical
gravity = '0 0 0'
fp = simple_fluid
thermal_eigenstrain_name = thermal_contribution
use_displaced_mesh = false
add_stress_aux = false
[]
[BCs]
[./constant_injection_porepressure]
type = DirichletBC
variable = porepressure
value = 1.5e6
boundary = injection_area
[../]
[./constant_injection_temperature]
type = DirichletBC
variable = temperature
value = 313
boundary = injection_area
[../]
[./constant_outflow_porepressure]
type = PorousFlowPiecewiseLinearSink
variable = porepressure
boundary = outflow_area
pt_vals = '0 1e9'
multipliers = '0 1e9'
flux_function = 1e-6
PT_shift = 1e6
[../]
[./constant_outflow_temperature]
type = DirichletBC
variable = temperature
value = 293
boundary = outflow_area
[../]
[./top_bottom]
type = DirichletBC
variable = disp_y
value = 0
boundary = 'top bottom'
[../]
[./right]
type = DirichletBC
variable = disp_x
value = 0
boundary = right
[../]
[]
[Modules]
[./FluidProperties]
[./simple_fluid]
type = SimpleFluidProperties
[../]
[../]
[]
[Materials]
[./porosity]
type = PorousFlowPorosity
porosity_zero = 0.1
[../]
[./biot_modulus]
type = PorousFlowConstantBiotModulus
biot_coefficient = 0.8
solid_bulk_compliance = 2e-7
fluid_bulk_modulus = 1e7
[../]
[./permeability_aquifer]
type = PorousFlowPermeabilityConst
block = aquifer
permeability = '1e-13 0 0 0 1e-13 0 0 0 1e-13'
[../]
[./permeability_caprock]
type = PorousFlowPermeabilityConst
block = caprock
permeability = '1e-15 0 0 0 1e-15 0 0 0 1e-15'
[../]
[./thermal_expansion]
type = PorousFlowConstantThermalExpansionCoefficient
drained_coefficient = 0.003
fluid_coefficient = 0.0002
[../]
[./rock_internal_energy]
type = PorousFlowMatrixInternalEnergy
density = 2500.0
specific_heat_capacity = 1200.0
[../]
[./thermal_conductivity]
type = PorousFlowThermalConductivityIdeal
dry_thermal_conductivity = '10 0 0 0 10 0 0 0 10'
block = 'caprock aquifer'
[../]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 5e9
poissons_ratio = 0.0
[../]
[./strain]
type = ComputeSmallStrain
eigenstrain_names = thermal_contribution
[../]
[./thermal_contribution]
type = ComputeThermalExpansionEigenstrain
temperature = temperature
thermal_expansion_coeff = 0.001
eigenstrain_name = thermal_contribution
stress_free_temperature = 293
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./basic]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
end_time = 1e4
dt = 1e3
nl_abs_tol = 1e-12
nl_rel_tol = 1E-10
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/block_deletion_generator/block_deletion_test12.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 8
ny = 8
xmin = 0
xmax = 4
ymin = 0
ymax = 4
[]
[./mark]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '0.9 0.9 0'
top_right = '3.1 3.1 0'
[../]
[./delete]
type = BlockDeletionGenerator
block_id = 1
input = mark
new_boundary = cut_surface
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./outer]
type = DirichletBC
variable = u
boundary = 'top bottom left right'
value = 1
[../]
[./inner]
type = DirichletBC
variable = u
boundary = cut_surface
value = 0
[../]
[]
[Executioner]
type = Transient
num_steps = 1
[]
[Outputs]
exodus = true
[]
test/tests/postprocessors/nodal_sum/nodal_sum_block.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[]
[./left]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '0.5 1 0'
block_id = 100
[../]
[]
[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
[../]
[]
[Postprocessors]
[./nodal_sum]
type = NodalSum
variable = u
execute_on = 'initial timestep_end'
block = '0 100'
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
csv = true
[]
test/tests/materials/declare_overlap/error.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 10
ny = 1
[]
[./left_domain]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '0 0 0'
top_right = '0.5 1 0'
block_id = 10
[../]
[]
[Variables]
[./u]
initial_condition = 2
[../]
[]
[Kernels]
[./diff]
type = MatDiffusionTest
variable = u
prop_name = 'p'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 2
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 3
[../]
[]
[Materials]
[./all]
type = GenericConstantMaterial
prop_names = 'f f_prime p'
prop_values = '2 2.5 2.468'
block = ANY_BLOCK_ID
outputs = all
[../]
[./left]
type = GenericConstantMaterial
prop_names = 'f f_prime p'
prop_values = '1 0.5 1.2345'
block = 10
outputs = all
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
print_linear_residuals = true
perf_graph = true
[]
test/tests/meshgenerators/break_boundary_on_subdomain/break_boundary_on_subdomain.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 3
nx = 2
xmax = 2
ny = 2
ymax = 2
nz = 2
zmax = 2
[]
[./subdomain1]
type = SubdomainBoundingBoxGenerator
input = gmg
bottom_left = '0 0 0'
top_right = '1 1 1'
block_id = 1
[]
[./subdomain2]
type = SubdomainBoundingBoxGenerator
input = subdomain1
bottom_left = '1 0 0'
top_right = '2 1 1'
block_id = 2
[]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain2
master_block = '1 2'
paired_block = '0'
new_boundary = 'interface'
[]
[./break_boundary]
input = interface
type = BreakBoundaryOnSubdomainGenerator
[]
[]
[Outputs]
exodus = true
[]
test/tests/mesh/multi_elem_integers/multi_element_integer.i
[Mesh]
type = MeshGeneratorMesh
parallel_type = 'replicated'
[gmg1]
type = GeneratedMeshGenerator
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 5
ny = 5
extra_element_integers = 'material_id'
[]
[gmg2]
type = GeneratedMeshGenerator
dim = 2
xmin = 1
xmax = 2
ymin = 0
ymax = 1
nx = 5
ny = 5
extra_element_integers = 'source_id'
[]
[stitcher]
type = StitchedMeshGenerator
inputs = 'gmg1 gmg2'
stitch_boundaries_pairs = 'right left'
[]
[set_material_id0]
type = SubdomainBoundingBoxGenerator
input = stitcher
bottom_left = '0 0 0'
top_right = '1 1 0'
block_id = 1
location = INSIDE
integer_name = material_id
[]
[set_material_id1]
type = SubdomainBoundingBoxGenerator
input = set_material_id0
bottom_left = '1 0 0'
top_right = '2 1 0'
block_id = 2
location = INSIDE
integer_name = material_id
[]
[set_material_id2]
type = SubdomainBoundingBoxGenerator
input = set_material_id1
bottom_left = '0 0 0'
top_right = '1 1 0'
block_id = 3
location = INSIDE
integer_name = source_id
[]
[set_material_id3]
type = SubdomainBoundingBoxGenerator
input = set_material_id2
bottom_left = '1 0 0'
top_right = '2 1 0'
block_id = 4
location = INSIDE
integer_name = source_id
[]
[]
[AuxVariables]
[id1]
family = MONOMIAL
order = CONSTANT
[]
[id2]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[id1]
type = ElementIntegerAux
variable = id1
integer_names = material_id
[]
[id2]
type = ElementIntegerAux
variable = id2
integer_names = source_id
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/ad_action/two_block_new.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[]
[block1]
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0 0 0'
top_right = '0.5 1 0'
input = generated_mesh
[]
[block2]
type = SubdomainBoundingBoxGenerator
block_id = 2
bottom_left = '0.5 0 0'
top_right = '1 1 0'
input = block1
[]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Modules/TensorMechanics/Master]
# parameters that apply to all subblocks are specified at this level. They
# can be overwritten in the subblocks.
add_variables = true
strain = FINITE
generate_output = 'stress_xx'
[./block1]
# the `block` parameter is only valid insde a subblock.
block = 1
use_automatic_differentiation = true
[../]
[./block2]
block = 2
# the `additional_generate_output` parameter is also only valid inside a
# subblock. Values specified here are appended to the `generate_output`
# parameter values.
additional_generate_output = 'strain_yy'
use_automatic_differentiation = true
[../]
[]
[AuxVariables]
[./stress_theta]
order = CONSTANT
family = MONOMIAL
[../]
[./strain_theta]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./stress_theta]
type = RankTwoAux
rank_two_tensor = stress
index_i = 2
index_j = 2
variable = stress_theta
execute_on = timestep_end
[../]
[./strain_theta]
type = RankTwoAux
rank_two_tensor = total_strain
index_i = 2
index_j = 2
variable = strain_theta
execute_on = timestep_end
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1e10
poissons_ratio = 0.345
[../]
[./_elastic_stress1]
type = ADComputeFiniteStrainElasticStress
block = 1
[../]
[./_elastic_stress2]
type = ADComputeFiniteStrainElasticStress
block = 2
[../]
[]
[BCs]
[./left]
type = DirichletBC
boundary = 'left'
variable = disp_x
value = 0.0
[../]
[./top]
type = DirichletBC
boundary = 'top'
variable = disp_y
value = 0.0
[../]
[./right]
type = DirichletBC
boundary = 'right'
variable = disp_x
value = 0.01
[../]
[./bottom]
type = DirichletBC
boundary = 'bottom'
variable = disp_y
value = 0.01
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[Preconditioning]
[./full]
type = SMP
full = true
[../]
[]
[Executioner]
type = Steady
petsc_options_iname = '-ksp_gmres_restart -pc_type -pc_hypre_type -pc_hypre_boomeramg_max_iter'
petsc_options_value = ' 201 hypre boomeramg 10'
line_search = 'none'
nl_rel_tol = 5e-9
nl_abs_tol = 1e-10
nl_max_its = 15
l_tol = 1e-3
l_max_its = 50
[]
[Outputs]
exodus = true
[]
modules/combined/test/tests/mortar_tm/2d/ad_frictionless_sec/finite_rr.i
E_block = 1e7
E_plank = 1e7
elem = QUAD9
order = SECOND
name = 'finite_rr'
[Mesh]
patch_size = 80
patch_update_strategy = auto
[./plank]
type = GeneratedMeshGenerator
dim = 2
xmin = -0.3
xmax = 0.3
ymin = -10
ymax = 10
nx = 2
ny = 67
elem_type = ${elem}
[../]
[./plank_sidesets]
type = RenameBoundaryGenerator
input = plank
old_boundary_id = '0 1 2 3'
new_boundary_name = 'plank_bottom plank_right plank_top plank_left'
[../]
[./plank_id]
type = SubdomainIDGenerator
input = plank_sidesets
subdomain_id = 1
[../]
[./block]
type = GeneratedMeshGenerator
dim = 2
xmin = 0.31
xmax = 0.91
ymin = 7.7
ymax = 8.5
nx = 3
ny = 4
elem_type = ${elem}
[../]
[./block_id]
type = SubdomainIDGenerator
input = block
subdomain_id = 2
[../]
[./combined]
type = MeshCollectionGenerator
inputs = 'plank_id block_id'
[../]
[./block_rename]
type = RenameBlockGenerator
input = combined
old_block_id = '1 2'
new_block_name = 'plank block'
[../]
[./block_sidesets]
type = SideSetsFromPointsGenerator
input = block_rename
points = '0.6 7.7 0
0.91 8.0 0
0.6 8.5 0
0.31 8.0 0'
new_boundary = 'block_bottom block_right block_top block_left'
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y'
[]
[Problem]
type = ReferenceResidualProblem
extra_tag_vectors = 'ref'
reference_vector = 'ref'
[]
[Variables]
[./disp_x]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[./disp_y]
order = ${order}
block = 'plank block'
scaling = ${fparse 2.0 / (E_plank + E_block)}
[../]
[]
[Modules/TensorMechanics/Master]
[./action]
strain = FINITE
generate_output = 'stress_xx stress_yy stress_zz vonmises_stress hydrostatic_stress strain_xx strain_yy strain_zz'
block = 'plank block'
extra_vector_tags = 'ref'
use_automatic_differentiation = true
[../]
[]
[Contact]
[./frictionless]
mesh = block_sidesets
master = plank_right
slave = block_left
formulation = mortar
system = constraint
[../]
[]
[BCs]
[./left_x]
type = DirichletBC
variable = disp_x
preset = false
boundary = plank_left
value = 0.0
[../]
[./left_y]
type = DirichletBC
variable = disp_y
preset = false
boundary = plank_bottom
value = 0.0
[../]
[./right_x]
type = ADFunctionDirichletBC
variable = disp_x
preset = false
boundary = block_right
function = '-0.04*sin(4*(t+1.5))+0.02'
[../]
[./right_y]
type = ADFunctionDirichletBC
variable = disp_y
preset = false
boundary = block_right
function = '-t'
[../]
[]
[Materials]
[./plank]
type = ComputeIsotropicElasticityTensor
block = 'plank'
poissons_ratio = 0.3
youngs_modulus = ${E_plank}
[../]
[./block]
type = ComputeIsotropicElasticityTensor
block = 'block'
poissons_ratio = 0.3
youngs_modulus = ${E_block}
[../]
[./stress]
type = ADComputeFiniteStrainElasticStress
block = 'plank block'
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason'
petsc_options_iname = '-pc_type -mat_mffd_err -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = 'lu 1e-5 NONZERO 1e-15'
end_time = 13.5
dt = 0.1
dtmin = 0.1
timestep_tolerance = 1e-6
line_search = 'contact'
nl_abs_tol = 1e-7
[]
[Postprocessors]
[./nl_its]
type = NumNonlinearIterations
[../]
[./total_nl_its]
type = CumulativeValuePostprocessor
postprocessor = nl_its
[../]
[./l_its]
type = NumLinearIterations
[../]
[./total_l_its]
type = CumulativeValuePostprocessor
postprocessor = l_its
[../]
[./contact]
type = ContactDOFSetSize
variable = frictionless_normal_lm
subdomain = frictionless_slave_subdomain
[../]
[./avg_hydro]
type = ElementAverageValue
variable = hydrostatic_stress
block = 'block'
[../]
[./max_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
[../]
[./min_hydro]
type = ElementExtremeValue
variable = hydrostatic_stress
block = 'block'
value_type = min
[../]
[./avg_vonmises]
type = ElementAverageValue
variable = vonmises_stress
block = 'block'
[../]
[./max_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
[../]
[./min_vonmises]
type = ElementExtremeValue
variable = vonmises_stress
block = 'block'
value_type = min
[../]
[]
[Outputs]
exodus = true
file_base = ${name}
[./comp]
type = CSV
show = 'contact'
[../]
[./out]
type = CSV
file_base = '${name}_out'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
modules/combined/examples/mortar/eigenstrain_action.i
#
# Eigenstrain with Mortar gradient periodicity
#
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 50
ny = 50
xmin = -0.5
xmax = 0.5
ymin = -0.5
ymax = 0.5
[]
[./cnode]
input = gen
type = ExtraNodesetGenerator
coord = '0.0 0.0'
new_boundary = 100
[../]
[./anode]
input = cnode
type = ExtraNodesetGenerator
coord = '0.0 0.5'
new_boundary = 101
[../]
[]
[Modules/PhaseField/MortarPeriodicity]
[./strain]
variable = 'disp_x disp_y'
periodicity = gradient
periodic_directions = 'x y'
[../]
[]
[GlobalParams]
derivative_order = 2
enable_jit = true
displacements = 'disp_x disp_y'
[]
# AuxVars to compute the free energy density for outputting
[AuxVariables]
[./local_energy]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./local_free_energy]
type = TotalFreeEnergy
block = 0
execute_on = 'initial LINEAR'
variable = local_energy
interfacial_vars = 'c'
kappa_names = 'kappa_c'
[../]
[]
[Variables]
# Solute concentration variable
[./c]
[./InitialCondition]
type = RandomIC
min = 0.49
max = 0.51
[../]
block = 0
[../]
[./w]
block = 0
[../]
# Mesh displacement
[./disp_x]
block = 0
[../]
[./disp_y]
block = 0
[../]
[]
[Kernels]
# Set up stress divergence kernels
[./TensorMechanics]
[../]
# Cahn-Hilliard kernels
[./c_dot]
type = CoupledTimeDerivative
variable = w
v = c
[../]
[./c_res]
type = SplitCHParsed
variable = c
f_name = F
kappa_name = kappa_c
w = w
[../]
[./w_res]
type = SplitCHWRes
variable = w
mob_name = M
[../]
[]
[Materials]
# declare a few constants, such as mobilities (L,M) and interface gradient prefactors (kappa*)
[./consts]
type = GenericConstantMaterial
block = '0'
prop_names = 'M kappa_c'
prop_values = '0.2 0.01 '
[../]
[./shear1]
type = GenericConstantRankTwoTensor
block = 0
tensor_values = '0 0 0 0 0 0.5'
tensor_name = shear1
[../]
[./shear2]
type = GenericConstantRankTwoTensor
block = 0
tensor_values = '0 0 0 0 0 -0.5'
tensor_name = shear2
[../]
[./expand3]
type = GenericConstantRankTwoTensor
block = 0
tensor_values = '1 1 0 0 0 0'
tensor_name = expand3
[../]
[./weight1]
type = DerivativeParsedMaterial
block = 0
function = '0.3*c^2'
f_name = weight1
args = c
[../]
[./weight2]
type = DerivativeParsedMaterial
block = 0
function = '0.3*(1-c)^2'
f_name = weight2
args = c
[../]
[./weight3]
type = DerivativeParsedMaterial
block = 0
function = '4*(0.5-c)^2'
f_name = weight3
args = c
[../]
# matrix phase
[./elasticity_tensor]
type = ComputeElasticityTensor
block = 0
C_ijkl = '1 1'
fill_method = symmetric_isotropic
[../]
[./strain]
type = ComputeSmallStrain
block = 0
displacements = 'disp_x disp_y'
[../]
[./eigenstrain]
type = CompositeEigenstrain
block = 0
tensors = 'shear1 shear2 expand3'
weights = 'weight1 weight2 weight3'
args = c
eigenstrain_name = eigenstrain
[../]
[./stress]
type = ComputeLinearElasticStress
block = 0
[../]
# chemical free energies
[./chemical_free_energy]
type = DerivativeParsedMaterial
block = 0
f_name = Fc
function = '4*c^2*(1-c)^2'
args = 'c'
outputs = exodus
output_properties = Fc
[../]
# elastic free energies
[./elastic_free_energy]
type = ElasticEnergyMaterial
f_name = Fe
block = 0
args = 'c'
outputs = exodus
output_properties = Fe
[../]
# free energy (chemical + elastic)
[./free_energy]
type = DerivativeSumMaterial
block = 0
f_name = F
sum_materials = 'Fc Fe'
args = 'c'
[../]
[]
[BCs]
[./Periodic]
[./up_down]
primary = top
secondary = bottom
translation = '0 -1 0'
variable = 'c w'
[../]
[./left_right]
primary = left
secondary = right
translation = '1 0 0'
variable = 'c w'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = disp_x
value = 0
[../]
[./centerfix_y]
type = DirichletBC
boundary = 100
variable = disp_y
value = 0
[../]
# fix side point x coordinate to inhibit rotation
[./angularfix]
type = DirichletBC
boundary = 101
variable = disp_x
value = 0
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
# We monitor the total free energy and the total solute concentration (should be constant)
[Postprocessors]
[./total_free_energy]
type = ElementIntegralVariablePostprocessor
block = 0
execute_on = 'initial TIMESTEP_END'
variable = local_energy
[../]
[./total_solute]
type = ElementIntegralVariablePostprocessor
block = 0
execute_on = 'initial TIMESTEP_END'
variable = c
[../]
[./min]
type = ElementExtremeValue
block = 0
execute_on = 'initial TIMESTEP_END'
value_type = min
variable = c
[../]
[./max]
type = ElementExtremeValue
block = 0
execute_on = 'initial TIMESTEP_END'
value_type = max
variable = c
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
# mortar currently does not support MPI parallelization
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount'
petsc_options_value = ' lu NONZERO 1e-10'
l_max_its = 30
nl_max_its = 12
l_tol = 1.0e-4
nl_rel_tol = 1.0e-8
nl_abs_tol = 1.0e-10
start_time = 0.0
num_steps = 200
[./TimeStepper]
type = SolutionTimeAdaptiveDT
dt = 0.01
[../]
[]
[Outputs]
execute_on = 'timestep_end'
print_linear_residuals = false
exodus = true
[./table]
type = CSV
delimiter = ' '
[../]
[]
modules/tensor_mechanics/test/tests/global_strain/global_strain_action.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 2
ny = 2
nz = 2
xmin = -0.5
xmax = 0.5
ymin = -0.5
ymax = 0.5
zmin = -0.5
zmax = 0.5
[]
[cnode]
type = ExtraNodesetGenerator
coord = '0 -0.5 0'
new_boundary = 100
input = generated_mesh
[]
[]
[GlobalParams]
displacements = 'u_x u_y u_z'
block = 0
[]
[Variables]
[./global_strain]
order = SIXTH
family = SCALAR
[../]
[]
[Modules]
[./TensorMechanics]
# Master action for generating the tensor mechanics kernels, variables,
# strain calculation material, and the auxilliary system for visualization
[./Master]
[./stress_div]
strain = SMALL
add_variables = true
global_strain = global_strain #global strain contribution
generate_output = 'strain_xx strain_xy strain_yy stress_xx stress_xy
stress_yy vonmises_stress'
[../]
[../]
# GlobalStrain action for generating the objects associated with the global
# strain calculation and associated displacement visualization
[./GlobalStrain]
[./global_strain]
scalar_global_strain = global_strain
displacements = 'u_x u_y u_z'
auxiliary_displacements = 'disp_x disp_y disp_z'
global_displacements = 'ug_x ug_y ug_z'
[../]
[../]
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'z'
variable = 'u_x u_y u_z'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = u_x
value = 0
[../]
[./centerfix_z]
type = DirichletBC
boundary = 100
variable = u_z
value = 0
[../]
# applied displacement
[./appl_y]
type = DirichletBC
boundary = top
variable = u_y
value = 0.033
[../]
[./fix_y]
type = DirichletBC
boundary = bottom
variable = u_y
value = 0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeElasticityTensor
block = 0
C_ijkl = '7 0.33'
fill_method = symmetric_isotropic_E_nu
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
l_max_its = 30
nl_max_its = 12
l_tol = 1.0e-4
nl_rel_tol = 1.0e-6
nl_abs_tol = 1.0e-10
start_time = 0.0
num_steps = 2
[]
[Outputs]
exodus = true
[]
test/tests/meshgenerators/block_deletion_generator/block_deletion_test7.i
[Mesh]
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
xmin = 0
xmax = 4
ymin = 0
ymax = 4
[]
[./SubdomainBoundingBox1]
type = SubdomainBoundingBoxGenerator
input = gmg
block_id = 1
bottom_left = '0 0 0'
top_right = '1 1 1'
[../]
[./SubdomainBoundingBox2]
type = SubdomainBoundingBoxGenerator
input = SubdomainBoundingBox1
block_id = 1
bottom_left = '2 2 0'
top_right = '3 3 1'
[../]
[./ed0]
type = BlockDeletionGenerator
block_id = 1
input = SubdomainBoundingBox2
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./dt]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = bottom
value = 1
[../]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 10
dt = 10
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/global_strain/global_strain_disp.i
[Mesh]
[generated_mesh]
type = GeneratedMeshGenerator
dim = 3
nx = 2
ny = 2
nz = 2
xmin = -0.5
xmax = 0.5
ymin = -0.5
ymax = 0.5
zmin = -0.5
zmax = 0.5
[]
[cnode]
type = ExtraNodesetGenerator
coord = '0 -0.5 0'
new_boundary = 100
input = generated_mesh
[]
[]
[Variables]
[./u_x]
[../]
[./u_y]
[../]
[./u_z]
[../]
[./global_strain]
order = SIXTH
family = SCALAR
[../]
[]
[AuxVariables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./s00]
order = CONSTANT
family = MONOMIAL
[../]
[./s11]
order = CONSTANT
family = MONOMIAL
[../]
[./e00]
order = CONSTANT
family = MONOMIAL
[../]
[./e11]
order = CONSTANT
family = MONOMIAL
[../]
[]
[AuxKernels]
[./disp_x]
type = GlobalDisplacementAux
variable = disp_x
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 0
[../]
[./disp_y]
type = GlobalDisplacementAux
variable = disp_y
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 1
[../]
[./disp_z]
type = GlobalDisplacementAux
variable = disp_z
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
component = 2
[../]
[./s00]
type = RankTwoAux
variable = s00
rank_two_tensor = stress
index_i = 0
index_j = 0
[../]
[./s11]
type = RankTwoAux
variable = s11
rank_two_tensor = stress
index_i = 1
index_j = 1
[../]
[./e00]
type = RankTwoAux
variable = e00
rank_two_tensor = total_strain
index_i = 0
index_j = 0
[../]
[./e11]
type = RankTwoAux
variable = e11
rank_two_tensor = total_strain
index_i = 1
index_j = 1
[../]
[]
[GlobalParams]
displacements = 'u_x u_y u_z'
block = 0
[]
[Kernels]
[./TensorMechanics]
[../]
[]
[ScalarKernels]
[./global_strain]
type = GlobalStrain
variable = global_strain
global_strain_uo = global_strain_uo
[../]
[]
[BCs]
[./Periodic]
[./all]
auto_direction = 'z'
variable = 'u_x u_y u_z'
[../]
[../]
# fix center point location
[./centerfix_x]
type = DirichletBC
boundary = 100
variable = u_x
value = 0
[../]
[./fix_y]
type = DirichletBC
boundary = bottom
variable = u_y
value = 0
[../]
[./centerfix_z]
type = DirichletBC
boundary = 100
variable = u_z
value = 0
[../]
[./appl_y]
type = DirichletBC
boundary = top
variable = u_y
value = 0.033
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeElasticityTensor
block = 0
C_ijkl = '7 0.33'
fill_method = symmetric_isotropic_E_nu
[../]
[./strain]
type = ComputeSmallStrain
global_strain = global_strain
[../]
[./global_strain]
type = ComputeGlobalStrain
scalar_global_strain = global_strain
global_strain_uo = global_strain_uo
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[UserObjects]
[./global_strain_uo]
type = GlobalStrainUserObject
execute_on = 'Initial Linear Nonlinear'
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
scheme = bdf2
solve_type = 'PJFNK'
line_search = basic
petsc_options_iname = '-pc_type -ksp_gmres_restart -sub_ksp_type -sub_pc_type -pc_asm_overlap'
petsc_options_value = 'asm 31 preonly lu 1'
l_max_its = 30
nl_max_its = 12
l_tol = 1.0e-4
nl_rel_tol = 1.0e-6
nl_abs_tol = 1.0e-10
start_time = 0.0
num_steps = 2
[]
[Outputs]
exodus = true
[]
test/tests/materials/interface_material/interface_value_material_noIK.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
nx = 2
xmax = 2
ny = 2
ymax = 2
elem_type = QUAD4
[]
[./subdomain_id]
input = gen
type = SubdomainBoundingBoxGenerator
bottom_left = '1 0 0'
top_right = '2 2 0'
block_id = 1
[../]
[./interface]
type = SideSetsBetweenSubdomainsGenerator
input = subdomain_id
master_block = '0'
paired_block = '1'
new_boundary = 'interface'
[../]
[]
[Variables]
[./u]
block = 0
[../]
[./v]
block = 1
[../]
[]
[Kernels]
[./diff]
type = MatDiffusion
variable = u
diffusivity = 'diffusivity'
block = 0
[../]
[./diff_v]
type = MatDiffusion
variable = v
diffusivity = 'diffusivity'
block = 1
[../]
[]
[BCs]
[u_left]
type = DirichletBC
boundary = 'left'
variable = u
value = 1
[]
[v_right]
type = DirichletBC
boundary = 'right'
variable = v
value = 0
[]
[]
[Materials]
[./stateful1]
type = StatefulMaterial
block = 0
initial_diffusivity = 1
# outputs = all
[../]
[./stateful2]
type = StatefulMaterial
block = 1
initial_diffusivity = 2
# outputs = all
[../]
[./interface_material_avg]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = average
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_jump_master_minus_slave]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = jump_master_minus_slave
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_jump_slave_minus_master]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = jump_slave_minus_master
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_jump_abs]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = jump_abs
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_master]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
boundary = interface
interface_value_type = master
mat_prop_var_out_basename = diff_var
nl_var_master = u
nl_var_slave = v
[../]
[./interface_material_slave]
type = InterfaceValueMaterial
mat_prop_master = diffusivity
mat_prop_slave = diffusivity
var_master = diffusivity_var
var_slave = diffusivity_var
mat_prop_out_basename = diff
mat_prop_var_out_basename = diff_var
boundary = interface
interface_value_type = slave
nl_var_master = u
nl_var_slave = v
[../]
[]
[AuxKernels]
[./interface_material_avg]
type = MaterialRealAux
property = diff_average
variable = diffusivity_average
boundary = interface
[]
[./interface_material_jump_master_minus_slave]
type = MaterialRealAux
property = diff_jump_master_minus_slave
variable = diffusivity_jump_master_minus_slave
boundary = interface
[]
[./interface_material_jump_slave_minus_master]
type = MaterialRealAux
property = diff_jump_slave_minus_master
variable = diffusivity_jump_slave_minus_master
boundary = interface
[]
[./interface_material_jump_abs]
type = MaterialRealAux
property = diff_jump_abs
variable = diffusivity_jump_abs
boundary = interface
[]
[./interface_material_master]
type = MaterialRealAux
property = diff_master
variable = diffusivity_master
boundary = interface
[]
[./interface_material_slave]
type = MaterialRealAux
property = diff_slave
variable = diffusivity_slave
boundary = interface
[]
[diffusivity_var]
type = MaterialRealAux
property = diffusivity
variable = diffusivity_var
[]
[]
[AuxVariables]
[diffusivity_var]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_average]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_master_minus_slave]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_slave_minus_master]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_jump_abs]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_master]
family = MONOMIAL
order = CONSTANT
[]
[./diffusivity_slave]
family = MONOMIAL
order = CONSTANT
[]
[]
[Executioner]
type = Steady
solve_type = NEWTON
[]
[Outputs]
exodus = true
[]
modules/tensor_mechanics/test/tests/thermal_expansion_function/mean.i
# This test checks the thermal expansion calculated via a mean thermal expansion coefficient.
# The coefficient is selected so as to result in a 1e-4 strain in the x-axis, and to cross over
# from positive to negative strain.
[Mesh]
[./gen]
type = GeneratedMeshGenerator
dim = 3
[../]
[]
[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]
[AuxVariables]
[./temp]
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
add_variables = true
eigenstrain_names = eigenstrain
generate_output = 'strain_xx strain_yy strain_zz'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = disp_x
boundary = left
value = 0.0
[../]
[./bottom]
type = DirichletBC
variable = disp_y
boundary = bottom
value = 0.0
[../]
[./back]
type = DirichletBC
variable = disp_z
boundary = back
value = 0.0
[../]
[]
[AuxKernels]
[./temp]
type = FunctionAux
variable = temp
function = '1 + t'
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 1
poissons_ratio = 0.3
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[./thermal_expansion_strain]
type = ComputeMeanThermalExpansionFunctionEigenstrain
thermal_expansion_function = cte_func_mean
thermal_expansion_function_reference_temperature = 1.2
stress_free_temperature = 1.5
temperature = temp
eigenstrain_name = eigenstrain
[../]
[]
[Functions]
[./cte_func_mean]
type = ParsedFunction
vars = 'T T_stress_free T_ref end_strain'
vals = '2 1.5 1.2 1e-4'
value = 'end_strain / (T - T_stress_free - end_strain * (T_stress_free - T_ref))'
[../]
[]
[Postprocessors]
[./disp_x_max]
type = SideAverageValue
variable = disp_x
boundary = right
[../]
[./temp_avg]
type = ElementAverageValue
variable = temp
[../]
[]
[Executioner]
type = Transient
end_time = 1.0
dt = 0.1
[]
[Outputs]
csv = true
[]
Child Objects
framework/include/meshgenerators/ImageMeshGenerator.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
#include "GeneratedMeshGenerator.h"
#include "FileRangeBuilder.h"
#include "libmesh/replicated_mesh.h"
// Forward declarations
class ImageMeshGenerator;
template <>
InputParameters validParams<ImageMeshGenerator>();
/**
* A 2D GeneratedMesh where xmin, xmax, etc. are determined from an input image file.
*/
class ImageMeshGenerator : public GeneratedMeshGenerator, public FileRangeBuilder
{
public:
static InputParameters validParams();
ImageMeshGenerator(const InputParameters & parameters);
std::unique_ptr<MeshBase> generate() override;
protected:
/**
* generate() calls this helper function to build 2D ImageMeshes.
*/
void buildMesh2D(const std::string & filename, std::unique_ptr<ReplicatedMesh> & mesh);
/**
* generate() calls this helper function to build 3D ImageMeshes from stacks of images.
*/
void buildMesh3D(const std::vector<std::string> & filenames,
std::unique_ptr<ReplicatedMesh> & mesh);
/**
* Process a single image with the 'file' command to find out the
* number of pixels in the x and y directions.
*/
void GetPixelInfo(std::string filename, int & xpixels, int & ypixels);
/**
* If true, forces the maximum width (height) of the mesh to be 1.0
* while retaining the original aspect ratio of the image.
*/
const bool _scale_to_one;
/**
* A number <= 1.0 which determines the number of cells in the mesh
* per pixel in each direction. Defaults to 1.0
* Example:
* Given: Original image is 1843x1590 pixels
* _cells_per_pixel = 0.3
* Result: Mesh has 552x477 elements
*/
const Real & _cells_per_pixel;
};