Skip to content
Permalink
Browse files

Merge pull request #12926 from jiangwen84/pf_material

Refactor quasi-brittle phase-field fracture model
  • Loading branch information...
permcody committed Feb 19, 2019
2 parents edcef65 + 28b6119 commit 6bef86f357a45025b3dc931142e1071f1d65d3b4
Showing with 1,136 additions and 527 deletions.
  1. +42 −4 modules/combined/test/tests/phase_field_fracture/crack2d_aniso.i
  2. +42 −5 modules/combined/test/tests/phase_field_fracture/crack2d_aniso_hist_false.i
  3. +31 −6 modules/combined/test/tests/phase_field_fracture/crack2d_iso.i
  4. +30 −4 modules/combined/test/tests/phase_field_fracture/crack2d_iso_wo_time.i
  5. +190 −0 modules/combined/test/tests/phase_field_fracture/crack2d_linear_fracture_energy.i
  6. +183 −0 modules/combined/test/tests/phase_field_fracture/crack2d_vol_dev.i
  7. BIN modules/combined/test/tests/phase_field_fracture/gold/crack2d_linear_fracture_energy_out.e
  8. BIN modules/combined/test/tests/phase_field_fracture/gold/crack2d_vol_dev_out.e
  9. +44 −0 modules/combined/test/tests/phase_field_fracture/tests
  10. +38 −11 modules/combined/test/tests/phase_field_fracture/void2d_iso.i
  11. +24 −0 modules/tensor_mechanics/doc/content/bib/tensor_mechanics.bib
  12. +0 −109 ...es/tensor_mechanics/doc/content/source/materials/ComputeIsotropicLinearElasticPFFractureStress.md
  13. +145 −47 modules/tensor_mechanics/doc/content/source/materials/ComputeLinearElasticPFFractureStress.md
  14. +0 −66 modules/tensor_mechanics/include/materials/ComputeIsotropicLinearElasticPFFractureStress.h
  15. +41 −43 modules/tensor_mechanics/include/materials/ComputeLinearElasticPFFractureStress.h
  16. +77 −0 modules/tensor_mechanics/include/materials/ComputePFFractureStressBase.h
  17. +0 −163 modules/tensor_mechanics/src/materials/ComputeIsotropicLinearElasticPFFractureStress.C
  18. +188 −69 modules/tensor_mechanics/src/materials/ComputeLinearElasticPFFractureStress.C
  19. +61 −0 modules/tensor_mechanics/src/materials/ComputePFFractureStressBase.C
@@ -34,7 +34,7 @@
[./PhaseField]
[./Nonconserved]
[./c]
free_energy = E_el
free_energy = F
kappa = kappa_op
mobility = L
[../]
@@ -98,13 +98,51 @@
euler_angle_2 = 0
euler_angle_3 = 0
[../]
[./cracked_stress]
[./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
kdamage = 1e-6
F_name = E_el
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]
@@ -34,7 +34,7 @@
[./PhaseField]
[./Nonconserved]
[./c]
free_energy = E_el
free_energy = F
kappa = kappa_op
mobility = L
[../]
@@ -92,12 +92,49 @@
euler_angle_2 = 0
euler_angle_3 = 0
[../]
[./cracked_stress]
[./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
kdamage = 1e-6
F_name = E_el
use_current_history_variable = false
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
[../]
[]

@@ -24,7 +24,7 @@
[./PhaseField]
[./Nonconserved]
[./c]
free_energy = E_el
free_energy = F
kappa = kappa_op
mobility = L
[../]
@@ -108,11 +108,37 @@
C_ijkl = '120.0 80.0'
fill_method = symmetric_isotropic
[../]
[./elastic]
type = ComputeIsotropicLinearElasticPFFractureStress
[./damage_stress]
type = ComputeLinearElasticPFFractureStress
c = c
kdamage = 0
F_name = E_el
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
[../]
[]

@@ -153,6 +179,5 @@
[]

[Outputs]
file_base = crack2d_iso_out
exodus = true
[]
@@ -63,7 +63,7 @@
[./ACBulk]
type = AllenCahn
variable = c
f_name = E_el
f_name = F
[../]

[./ACInterface]
@@ -118,10 +118,36 @@
fill_method = symmetric_isotropic
[../]
[./elastic]
type = ComputeIsotropicLinearElasticPFFractureStress
type = ComputeLinearElasticPFFractureStress
c = c
kdamage = 0
F_name = E_el
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
[../]
[]

Oops, something went wrong.

0 comments on commit 6bef86f

Please sign in to comment.
You can’t perform that action at this time.