From 0c70eefb91c6454e6b14d73debd24ec42fab8d66 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 29 Feb 2020 17:03:01 +0100 Subject: [PATCH] always assume indicators of length 3 --- src/lattice.f90 | 66 ++++++++++++++++++++++++++++--------------------- 1 file changed, 38 insertions(+), 28 deletions(-) diff --git a/src/lattice.f90 b/src/lattice.f90 index 11576d7ca..a76701f05 100644 --- a/src/lattice.f90 +++ b/src/lattice.f90 @@ -485,28 +485,31 @@ subroutine lattice_init structure = config_phase(p)%getString('lattice_structure') select case(trim(structure)) case('iso') - lattice_structure(p) = LATTICE_iso_ID + lattice_structure(p) = LATTICE_ISO_ID case('fcc') - lattice_structure(p) = LATTICE_fcc_ID + lattice_structure(p) = LATTICE_FCC_ID case('bcc') - lattice_structure(p) = LATTICE_bcc_ID + lattice_structure(p) = LATTICE_BCC_ID case('hex') - lattice_structure(p) = LATTICE_hex_ID + lattice_structure(p) = LATTICE_HEX_ID case('bct') - lattice_structure(p) = LATTICE_bct_ID + lattice_structure(p) = LATTICE_BCT_ID case('ort') - lattice_structure(p) = LATTICE_ort_ID + lattice_structure(p) = LATTICE_ORT_ID case default call IO_error(130,ext_msg='lattice_init: '//trim(structure)) end select lattice_C66(1:6,1:6,p) = symmetrizeC66(lattice_C66(1:6,1:6,p),structure) - lattice_mu(p) = 0.2_pReal *(lattice_C66(1,1,p) -lattice_C66(1,2,p) +3.0_pReal*lattice_C66(4,4,p)) ! (C11iso-C12iso)/2 with C11iso=(3*C11+2*C12+4*C44)/5 and C12iso=(C11+4*C12-2*C44)/5 - lattice_nu(p) = ( lattice_C66(1,1,p) +4.0_pReal*lattice_C66(1,2,p) -2.0_pReal*lattice_C66(4,4,p)) & - / (4.0_pReal*lattice_C66(1,1,p) +6.0_pReal*lattice_C66(1,2,p) +2.0_pReal*lattice_C66(4,4,p))! C12iso/(C11iso+C12iso) with C11iso=(3*C11+2*C12+4*C44)/5 and C12iso=(C11+4*C12-2*C44)/5 + ! (C11iso-C12iso)/2 with C11iso=(3*C11+2*C12+4*C44)/5 and C12iso=(C11+4*C12-2*C44)/5 + lattice_mu(p) = 0.2_pReal *(lattice_C66(1,1,p) -lattice_C66(1,2,p) +3.0_pReal*lattice_C66(4,4,p)) - lattice_C66(1:6,1:6,p) = math_sym3333to66(math_Voigt66to3333(lattice_C66(1:6,1:6,p))) ! Literature data is Voigt + ! C12iso/(C11iso+C12iso) with C11iso=(3*C11+2*C12+4*C44)/5 and C12iso=(C11+4*C12-2*C44)/5 + lattice_nu(p) = ( lattice_C66(1,1,p) +4.0_pReal*lattice_C66(1,2,p) -2.0_pReal*lattice_C66(4,4,p)) & + / (4.0_pReal*lattice_C66(1,1,p) +6.0_pReal*lattice_C66(1,2,p) +2.0_pReal*lattice_C66(4,4,p)) + + lattice_C66(1:6,1:6,p) = math_sym3333to66(math_Voigt66to3333(lattice_C66(1:6,1:6,p))) ! Literature data is in Voigt notation do i = 1, 6 if (abs(lattice_C66(i,i,p)) 2.0_pReal) & + if (trim(structure) == 'bct' .and. cOverA > 2.0_pReal) & call IO_error(131,ext_msg='buildCoordinateSystem:'//trim(structure)) - if (trim(structure(1:3)) == 'hex' .and. (cOverA < 1.0_pReal .or. cOverA > 2.0_pReal)) & + if (trim(structure) == 'hex' .and. (cOverA < 1.0_pReal .or. cOverA > 2.0_pReal)) & call IO_error(131,ext_msg='buildCoordinateSystem:'//trim(structure)) a = 0 @@ -2007,7 +2017,7 @@ function buildCoordinateSystem(active,potential,system,structure,cOverA) a = a + 1 p = sum(potential(1:f-1))+s - select case(trim(structure(1:3))) + select case(trim(structure)) case ('fcc','bcc','iso','ort','bct') direction = system(1:3,p)