forked from idaholab/moose
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ref idaholab#12033
- Loading branch information
Andrea Rovinelli
committed
Nov 19, 2019
1 parent
e9237f5
commit 2c461af
Showing
4 changed files
with
243 additions
and
0 deletions.
There are no files selected for viewing
Binary file added
BIN
+438 KB
modules/tensor_mechanics/test/tests/czm/split_mesh/gold/test_nosplit_mesh_out.e
Binary file not shown.
Binary file not shown.
213 changes: 213 additions & 0 deletions
213
modules/tensor_mechanics/test/tests/czm/split_mesh/test_split_mesh.i
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,213 @@ | ||
[Mesh] | ||
[./msh] | ||
type = FileMeshGenerator | ||
file = testTri10.e | ||
[] | ||
|
||
[./breakmesh] | ||
input = msh | ||
type = BreakMeshByBlockGenerator | ||
[../] | ||
|
||
[./add_side_sets] | ||
input = breakmesh | ||
type = SideSetsFromNormalsGenerator | ||
normals = '0 -1 0 | ||
0 1 0 | ||
-1 0 0 | ||
1 0 0 | ||
0 0 -1 | ||
0 0 1' | ||
fixed_normal = true | ||
new_boundary = 'y0 y1 x0 x1 z0 z1' | ||
[../] | ||
[] | ||
|
||
|
||
[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' | ||
[../] | ||
[] | ||
|
||
[Functions] | ||
[./applied_load_x] | ||
type = PiecewiseLinear | ||
x = '0 0.1 1e6' | ||
y = '0 0 0' | ||
[../] | ||
[./applied_load_y] | ||
type = PiecewiseLinear | ||
x = '0 0.1 1e6' | ||
y = '0 0 0' | ||
[../] | ||
[./applied_load_z] | ||
type = PiecewiseLinear | ||
x = '0 0.1 1e6' | ||
y = '0 180 180' | ||
[../] | ||
[] | ||
|
||
[BCs] | ||
[./x0] | ||
type = DirichletBC | ||
variable = disp_x | ||
boundary = x0 | ||
value = 0.0 | ||
[../] | ||
[./y0] | ||
type = DirichletBC | ||
variable = disp_y | ||
boundary = y0 | ||
value = 0.0 | ||
[../] | ||
[./z0] | ||
type = DirichletBC | ||
variable = disp_z | ||
boundary = z0 | ||
value = 0.0 | ||
[../] | ||
[./x1] | ||
type = FunctionNeumannBC | ||
boundary = x1 | ||
function = applied_load_x | ||
variable = disp_x | ||
[../] | ||
[./y1] | ||
type = FunctionNeumannBC | ||
boundary = y1 | ||
function = applied_load_y | ||
variable = disp_y | ||
[../] | ||
[./z1] | ||
type = FunctionNeumannBC | ||
boundary = z1 | ||
function = applied_load_z | ||
variable = disp_z | ||
[../] | ||
[] | ||
|
||
# Constraint System | ||
[Constraints] | ||
[./x1] | ||
type = EqualValueBoundaryConstraint | ||
variable = disp_x | ||
slave = x1 # boundary | ||
penalty = 1e6 | ||
[../] | ||
[./y1] | ||
type = EqualValueBoundaryConstraint | ||
variable = disp_y | ||
slave = y1 # boundary | ||
penalty = 1e6 | ||
[../] | ||
[./z1] | ||
type = EqualValueBoundaryConstraint | ||
variable = disp_z | ||
slave = z1 # boundary | ||
penalty = 1e6 | ||
[../] | ||
[] | ||
|
||
|
||
[Materials] | ||
[./Elasticity_tensor] | ||
type = ComputeElasticityTensor | ||
fill_method = symmetric_isotropic | ||
C_ijkl = '0.3 0.5e8' | ||
[../] | ||
[./stress] | ||
type = ComputeLinearElasticStress | ||
[../] | ||
[./czm_3dc] | ||
type = SalehaniIrani3DCTraction | ||
boundary = 'interface' | ||
normal_gap_at_maximum_normal_traction = 1 | ||
tangential_gap_at_maximum_shear_traction = 0.5 | ||
maximum_normal_traction = 1000 | ||
maximum_shear_traction = 700 | ||
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 = 0.2 | ||
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' | ||
[../] | ||
[] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
[Tests] | ||
[./no_split] | ||
type = Exodiff | ||
input = test_split_mesh.i | ||
exodiff = test_nosplit_mesh_out.e | ||
issues = '#12033' | ||
min_parallel = 3 | ||
max_parallel = 3 | ||
cli_args = 'Outputs/file_base=test_nosplit_mesh_out' | ||
[../] | ||
[./make_split] | ||
type = CheckFiles | ||
check_files = 'foo.cpr/3/header.cpr foo.cpr/3/split-3-0.cpr foo.cpr/3/split-3-1.cpr foo.cpr/3/split-3-2.cpr' | ||
input = test_split_mesh.i | ||
issues = '#12033' | ||
cli_args = '--split-mesh 3 --split-file foo.cpr' | ||
min_parallel = 3 | ||
max_parallel = 3 | ||
[../] | ||
[./run_split] | ||
type = 'Exodiff' | ||
input = test_split_mesh.i | ||
exodiff = 'test_split_mesh.e' | ||
issues = '#12033' | ||
cli_args = '--use-split --split-file foo.cpr' | ||
prereq = 'make_split' | ||
min_parallel = 3 | ||
max_parallel = 3 | ||
[../] | ||
[] |