diff --git a/PRIVATE b/PRIVATE index 0e82975b2..226d7b627 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 0e82975b23a1bd4310c523388f1cadf1b8e03dd0 +Subproject commit 226d7b627e44247b800bce0d9eb7bef1aac6f537 diff --git a/examples/config/phase/damage/anisobrittle_cubic.yaml b/examples/config/phase/damage/anisobrittle_cubic.yaml index 372fdc6d0..4f8db50ee 100644 --- a/examples/config/phase/damage/anisobrittle_cubic.yaml +++ b/examples/config/phase/damage/anisobrittle_cubic.yaml @@ -9,5 +9,5 @@ s_crit: [0.006666] dot_o: 1.e-3 q: 20 -D_11: 1.0 +l_c: 1.0 mu: 0.001 diff --git a/examples/config/phase/damage/isobrittle_generic.yaml b/examples/config/phase/damage/isobrittle_generic.yaml index 851302a49..64a51fa42 100644 --- a/examples/config/phase/damage/isobrittle_generic.yaml +++ b/examples/config/phase/damage/isobrittle_generic.yaml @@ -2,6 +2,6 @@ type: isobrittle output: [f_phi] -W_crit: 1400000.0 -D_11: 1.0 +G_crit: 1400000.0 +l_c: 1.0 mu: 0.001 diff --git a/src/homogenization_damage.f90 b/src/homogenization_damage.f90 index 6ae4ac07a..53d6622ac 100644 --- a/src/homogenization_damage.f90 +++ b/src/homogenization_damage.f90 @@ -166,6 +166,7 @@ module subroutine damage_results(ho,group) integer :: o + associate(prm => param(ho)) outputsLoop: do o = 1,size(prm%output) select case(prm%output(o)) diff --git a/src/phase_damage.f90 b/src/phase_damage.f90 index 9022131e2..82d94150d 100644 --- a/src/phase_damage.f90 +++ b/src/phase_damage.f90 @@ -105,9 +105,7 @@ module subroutine damage_init damage_active = .true. source => sources%get(1) param(ph)%mu = source%get_asFloat('mu') - param(ph)%D(1,1) = source%get_asFloat('D_11') - if (any(phase_lattice(ph) == ['hP','tI'])) param(ph)%D(3,3) = source%get_asFloat('D_33') - param(ph)%D = lattice_symmetrize_33(param(ph)%D,phase_lattice(ph)) + param(ph)%D = math_I3 * source%get_asFloat('l_c')**2 end if end do @@ -385,9 +383,9 @@ module function phase_K_phi(co,ce) result(K) integer, intent(in) :: co, ce real(pReal), dimension(3,3) :: K - real(pReal), parameter :: l = 1.0_pReal - K = crystallite_push33ToRef(co,ce,param(material_phaseID(co,ce))%D) * l**2 + + K = crystallite_push33ToRef(co,ce,param(material_phaseID(co,ce))%D) end function phase_K_phi @@ -403,6 +401,7 @@ function phase_damage_deltaState(Fe, ph, en) result(broken) en real(pReal), intent(in), dimension(3,3) :: & Fe !< elastic deformation gradient + integer :: & myOffset, & mySize diff --git a/src/phase_damage_anisobrittle.f90 b/src/phase_damage_anisobrittle.f90 index f193119eb..167d0829b 100644 --- a/src/phase_damage_anisobrittle.f90 +++ b/src/phase_damage_anisobrittle.f90 @@ -157,7 +157,7 @@ module subroutine anisobrittle_results(phase,group) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) case ('f_phi') - call results_writeDataset(stt,group,trim(prm%output(o)),'driving force','J/m³') + call results_writeDataset(stt,group,trim(prm%output(o)),'driving force','-') end select end do outputsLoop end associate diff --git a/src/phase_damage_isobrittle.f90 b/src/phase_damage_isobrittle.f90 index 2d501b58f..36f26abd3 100644 --- a/src/phase_damage_isobrittle.f90 +++ b/src/phase_damage_isobrittle.f90 @@ -63,7 +63,7 @@ module function isobrittle_init() result(mySources) associate(prm => param(ph), dlt => deltaState(ph), stt => state(ph)) src => sources%get(1) - prm%W_crit = src%get_asFloat('W_crit') + prm%W_crit = src%get_asFloat('G_crit')/src%get_asFloat('l_c') #if defined (__GFORTRAN__) prm%output = output_as1dString(src) @@ -139,7 +139,7 @@ module subroutine isobrittle_results(phase,group) outputsLoop: do o = 1,size(prm%output) select case(trim(prm%output(o))) case ('f_phi') - call results_writeDataset(stt,group,trim(prm%output(o)),'driving force','J/m³') ! Wrong, this is dimensionless + call results_writeDataset(stt,group,trim(prm%output(o)),'driving force','-') end select end do outputsLoop