Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor grain boundary cavitation model #72

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@ build
*.csv
*.previous_test_results.json
*~
.vscode
*.yaml
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ RDG := no
RICHARDS := no
SOLID_MECHANICS := no
STOCHASTIC_TOOLS := no
TENSOR_MECHANICS := yes
SOLID_MECHANICS := yes
WATER_STEAM_EOS := no
XFEM := no
POROUS_FLOW := no
Expand Down
76 changes: 36 additions & 40 deletions examples/CPFE_with_GBcavitation/cpfem_with_GBcavitation_example.i
Original file line number Diff line number Diff line change
Expand Up @@ -27,22 +27,20 @@
displacements = 'disp_x disp_y disp_z'
[]

[Modules]
[TensorMechanics]
[Master]
[Physics]
[SolidMechanics]
[QuasiStatic]
[all]
strain = FINITE
new_system = true
add_variables = true
formulation = TOTAL
volumetric_locking_correction = false
generate_output = 'cauchy_stress_xx cauchy_stress_yy cauchy_stress_zz cauchy_stress_xy '
'cauchy_stress_xz cauchy_stress_yz mechanical_strain_xx mechanical_strain_yy mechanical_strain_zz mechanical_strain_xy '
'mechanical_strain_xz mechanical_strain_yz'
generate_output = 'cauchy_stress_xx cauchy_stress_yy cauchy_stress_zz cauchy_stress_xy cauchy_stress_xz cauchy_stress_yz mechanical_strain_xx mechanical_strain_yy mechanical_strain_zz mechanical_strain_xy mechanical_strain_xz mechanical_strain_yz'
[]
[]
[]
[]
[]

#output some material propertiy from the cavitation model
[AuxVariables]
Expand All @@ -61,42 +59,41 @@
[]

[AuxKernels]
[a]
type = MaterialRealAux
boundary = 'interface'
property = a
execute_on = 'TIMESTEP_END'
variable = a
check_boundary_restricted = false #this is important
[]
[b]
type = MaterialRealAux
boundary = 'interface'
property = b
execute_on = 'TIMESTEP_END'
variable = b
check_boundary_restricted = false #this is important
[]
[D]
type = MaterialRealAux
boundary = 'interface'
property = interface_damage
execute_on = 'TIMESTEP_END'
variable = D
check_boundary_restricted = false #this is important
[]
[a]
type = MaterialRealAux
boundary = 'interface'
property = a
execute_on = 'TIMESTEP_END'
variable = a
check_boundary_restricted = false #this is important
[]
[b]
type = MaterialRealAux
boundary = 'interface'
property = b
execute_on = 'TIMESTEP_END'
variable = b
check_boundary_restricted = false #this is important
[]
[D]
type = MaterialRealAux
boundary = 'interface'
property = interface_damage
execute_on = 'TIMESTEP_END'
variable = D
check_boundary_restricted = false #this is important
[]
[]

[Modules/TensorMechanics/CohesiveZoneMaster]
[./czm_ik]
[Physics/SolidMechanics/CohesiveZone]
[czm_ik]
# add the proper cohesive interface kernels
boundary = 'interface'
strain = FINITE # use finite strins, total lagrangian formulation
generate_output='traction_x traction_y traction_z jump_x jump_y jump_z normal_traction tangent_traction normal_jump tangent_jump' #output traction and jump
[../]
generate_output = 'traction_x traction_y traction_z jump_x jump_y jump_z normal_traction tangent_traction normal_jump tangent_jump' #output traction and jump
[]
[]


[Functions]
# loading functions for each direction
[applied_load_x]
Expand All @@ -116,7 +113,6 @@
[]
[]


[BCs]
[x0]
type = DirichletBC
Expand Down Expand Up @@ -186,7 +182,7 @@
read_type = block
nblock = 10
use_zero_based_block_indexing = false
[../]
[]
[]
[Materials]
[stress]
Expand Down Expand Up @@ -228,7 +224,7 @@
start_time = 0.0
dtmin = 1e-4
dtmax = 1e3
end_time = 10
end_time = 10
n_max_nonlinear_pingpong = 1
nl_forced_its = 2

Expand All @@ -244,5 +240,5 @@

[Outputs]
sync_times = '0 0.1 1 10'
exodus=true
exodus = true
[]
119 changes: 58 additions & 61 deletions examples/euler_angle-reader/cpfem_eulerTest.i
Original file line number Diff line number Diff line change
Expand Up @@ -8,147 +8,144 @@
[]

[Variables]
[./disp_x]
order = second
[../]
[./disp_y]
order = second
[../]
[./disp_z]
order = second
[../]
[disp_x]
order = second
[]
[disp_y]
order = second
[]
[disp_z]
order = second
[]
[]

[Functions]
[./pfn]
[pfn]
type = PiecewiseLinear
x = '0 100'
y = '0.00 0.01'
[../]
[]
[]

[AuxVariables]
[./orientation_q1]
[orientation_q1]
order = CONSTANT
family = MONOMIAL
[../]
[./orientation_q2]
[]
[orientation_q2]
order = CONSTANT
family = MONOMIAL
[../]
[./orientation_q3]
[]
[orientation_q3]
order = CONSTANT
family = MONOMIAL
[../]
[./orientation_q4]
[]
[orientation_q4]
order = CONSTANT
family = MONOMIAL
[../]
[]
[]

[AuxKernels]
[q1]
type = MaterialStdVectorAux
property = orientation
property = orientation
index = 0
variable = orientation_q1
[../]
variable = orientation_q1
[]
[q2]
type = MaterialStdVectorAux
property = orientation
property = orientation
index = 1
variable = orientation_q2
[../]
variable = orientation_q2
[]
[q3]
type = MaterialStdVectorAux
property = orientation
property = orientation
index = 2
variable = orientation_q3
[../]
variable = orientation_q3
[]
[q4]
type = MaterialStdVectorAux
property = orientation
property = orientation
index = 3
variable = orientation_q4
[../]
variable = orientation_q4
[]
[]

[Modules]
[TensorMechanics]
[Master]
[Physics]
[SolidMechanics]
[QuasiStatic]
[all]
strain = FINITE
new_system = true
formulation = TOTAL
volumetric_locking_correction = false
generate_output = 'cauchy_stress_xx cauchy_stress_yy cauchy_stress_zz cauchy_stress_xy '
'cauchy_stress_xz cauchy_stress_yz mechanical_strain_xx mechanical_strain_yy mechanical_strain_zz mechanical_strain_xy '
'mechanical_strain_xz mechanical_strain_yz'
generate_output = 'cauchy_stress_xx cauchy_stress_yy cauchy_stress_zz cauchy_stress_xy cauchy_stress_xz cauchy_stress_yz mechanical_strain_xx mechanical_strain_yy mechanical_strain_zz mechanical_strain_xy mechanical_strain_xz mechanical_strain_yz'
[]
[]
[]
[]
[]

[UserObjects]
[./euler_angle_file]
[euler_angle_file]
type = ElementPropertyReadFile
nprop = 3
prop_file_name = grn_10_rand.tex
read_type = block
nblock = 10
use_zero_based_block_indexing = false
[../]
[]
[]
[BCs]
[./left]
type = DirichletBC
preset = true
variable = disp_x
boundary = left
value = 0.0
[../]

[./bottom]
[left]
type = DirichletBC
preset = true
preset = true
variable = disp_x
boundary = left
value = 0.0
[]

[bottom]
type = DirichletBC
preset = true
variable = disp_y
boundary = bottom
value = 0.0
[../]
[]

[./back]
[back]
type = DirichletBC
preset = true
preset = true
variable = disp_z
boundary = back
value = 0.0
[../]
[]

[./front]
[front]
type = FunctionDirichletBC
variable = disp_y
boundary = top
function = pfn
preset = true
[../]
[]
[]

[Materials]
[./stress]
[stress]
type = NEMLCrystalPlasticity
database = "test.xml"
model = "grain_1"
large_kinematics = true
euler_angle_reader = euler_angle_file
[../]
[]
[]


[Preconditioning]
[./smp]
[smp]
type = SMP
full = true
[../]
[]
[]

[Executioner]
Expand Down
Loading
Loading