Merge branch 'char-twin-simplification2' into 'development'
Char twin simplification2 See merge request damask/DAMASK!855
This commit is contained in:
commit
bfa1cf6773
|
@ -431,44 +431,34 @@ function crystal_characteristicShear_Twin(Ntwin,lattice,CoverA) result(character
|
||||||
real(pREAL), dimension(sum(Ntwin)) :: characteristicShear
|
real(pREAL), dimension(sum(Ntwin)) :: characteristicShear
|
||||||
|
|
||||||
integer :: &
|
integer :: &
|
||||||
a, & !< index of active system
|
|
||||||
f, & !< index of my family
|
f, & !< index of my family
|
||||||
s !< index of my system in current family
|
s, e
|
||||||
|
|
||||||
integer, dimension(size(HP_NTWINSYSTEM)), parameter :: &
|
|
||||||
HP_SHEARTWIN = [&
|
|
||||||
1, & ! <-10.1>{10.2}
|
|
||||||
2, & ! <11.6>{-1-1.1}
|
|
||||||
3, & ! <10.-2>{10.1}
|
|
||||||
4 & ! <11.-3>{11.2}
|
|
||||||
] !< indicator to formulas below
|
|
||||||
|
|
||||||
|
|
||||||
a = 0
|
select case(lattice)
|
||||||
myFamilies: do f = 1,size(Ntwin,1)
|
case('cF','cI') ! 10.1016/0079-6425(94)00007-7, Table 1
|
||||||
mySystems: do s = 1,Ntwin(f)
|
characteristicShear = 0.5_pREAL*sqrt(2.0_pREAL)
|
||||||
a = a + 1
|
case('hP') ! 10.1016/0079-6425(94)00007-7, Table 3
|
||||||
select case(lattice)
|
if (cOverA < 1.0_pREAL .or. cOverA > 2.0_pREAL) &
|
||||||
case('cF','cI')
|
call IO_error(131,ext_msg='crystal_characteristicShear_Twin')
|
||||||
characteristicShear(a) = 0.5_pREAL*sqrt(2.0_pREAL)
|
|
||||||
case('hP')
|
myFamilies: do f = 1,size(Ntwin,1)
|
||||||
if (cOverA < 1.0_pREAL .or. cOverA > 2.0_pREAL) &
|
s = sum(Ntwin(:f-1)) + 1
|
||||||
call IO_error(131,ext_msg='crystal_characteristicShear_Twin')
|
e = sum(Ntwin(:f))
|
||||||
select case(HP_SHEARTWIN(f)) ! from Christian & Mahajan 1995 p.29
|
select case(f)
|
||||||
case (1) ! <-10.1>{10.2}
|
case (1) ! <-10.1>{10.2}
|
||||||
characteristicShear(a) = (3.0_pREAL-cOverA**2)/sqrt(3.0_pREAL)/CoverA
|
characteristicShear(s:e) = (3.0_pREAL-cOverA**2)/sqrt(3.0_pREAL)/CoverA
|
||||||
case (2) ! <11.6>{-1-1.1}
|
case (2) ! <11.6>{-1-1.1}
|
||||||
characteristicShear(a) = 1.0_pREAL/cOverA
|
characteristicShear(s:e) = 1.0_pREAL/cOverA
|
||||||
case (3) ! <10.-2>{10.1}
|
case (3) ! <10.-2>{10.1}
|
||||||
characteristicShear(a) = (4.0_pREAL*cOverA**2-9.0_pREAL)/sqrt(48.0_pREAL)/cOverA
|
characteristicShear(s:e) = (4.0_pREAL*cOverA**2-9.0_pREAL)/sqrt(48.0_pREAL)/cOverA
|
||||||
case (4) ! <11.-3>{11.2}
|
case (4) ! <11.-3>{11.2}
|
||||||
characteristicShear(a) = 2.0_pREAL*(cOverA**2-2.0_pREAL)/3.0_pREAL/cOverA
|
characteristicShear(s:e) = 2.0_pREAL*(cOverA**2-2.0_pREAL)/3.0_pREAL/cOverA
|
||||||
end select
|
end select
|
||||||
case default
|
end do myFamilies
|
||||||
call IO_error(137,ext_msg='crystal_characteristicShear_Twin: '//trim(lattice))
|
case default
|
||||||
end select
|
call IO_error(137,ext_msg='crystal_characteristicShear_Twin: '//trim(lattice))
|
||||||
end do mySystems
|
end select
|
||||||
end do myFamilies
|
|
||||||
|
|
||||||
end function crystal_characteristicShear_Twin
|
end function crystal_characteristicShear_Twin
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue