improved warning and error messages
This commit is contained in:
parent
1333921ed5
commit
eaa3e32f21
|
@ -1721,6 +1721,8 @@ subroutine IO_warning(warning_ID,el,ip,g,ext_msg)
|
||||||
msg = 'found PETSc solver parameter'
|
msg = 'found PETSc solver parameter'
|
||||||
case (42_pInt)
|
case (42_pInt)
|
||||||
msg = 'parameter has no effect'
|
msg = 'parameter has no effect'
|
||||||
|
case (43_pInt)
|
||||||
|
msg = 'main diagonal of C66 close to zero'
|
||||||
case (47_pInt)
|
case (47_pInt)
|
||||||
msg = 'no valid parameter for FFTW, using FFTW_PATIENT'
|
msg = 'no valid parameter for FFTW, using FFTW_PATIENT'
|
||||||
case (50_pInt)
|
case (50_pInt)
|
||||||
|
|
|
@ -941,12 +941,13 @@ subroutine lattice_init
|
||||||
lattice_C66(6,6,section) = IO_floatValue(line,positions,2_pInt)
|
lattice_C66(6,6,section) = IO_floatValue(line,positions,2_pInt)
|
||||||
case ('covera_ratio','c/a_ratio','c/a')
|
case ('covera_ratio','c/a_ratio','c/a')
|
||||||
CoverA(section) = IO_floatValue(line,positions,2_pInt)
|
CoverA(section) = IO_floatValue(line,positions,2_pInt)
|
||||||
if (CoverA(section) < 1.0_pReal .or. CoverA(section) > 2.0_pReal) call IO_error(206_pInt) ! checking physical significance of c/a
|
|
||||||
end select
|
end select
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
do i = 1_pInt,Nphases
|
do i = 1_pInt,Nphases
|
||||||
|
if (CoverA(i) < 1.0_pReal .or. CoverA(i) > 2.0_pReal &
|
||||||
|
.and. lattice_structure(i) == LATTICE_hex_ID) call IO_error(206_pInt) ! checking physical significance of c/a
|
||||||
call lattice_initializeStructure(i, CoverA(i))
|
call lattice_initializeStructure(i, CoverA(i))
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
@ -995,7 +996,8 @@ subroutine lattice_initializeStructure(myPhase,CoverA)
|
||||||
i,j, &
|
i,j, &
|
||||||
myNslip, myNtwin
|
myNslip, myNtwin
|
||||||
|
|
||||||
lattice_C66(1:6,1:6,myPhase) = lattice_symmetrizeC66(lattice_structure(myPhase),lattice_C66(1:6,1:6,myPhase))
|
lattice_C66(1:6,1:6,myPhase) = lattice_symmetrizeC66(lattice_structure(myPhase),&
|
||||||
|
lattice_C66(1:6,1:6,myPhase))
|
||||||
lattice_mu(myPhase) = 0.2_pReal *( lattice_C66(1,1,myPhase) &
|
lattice_mu(myPhase) = 0.2_pReal *( lattice_C66(1,1,myPhase) &
|
||||||
- lattice_C66(1,2,myPhase) &
|
- lattice_C66(1,2,myPhase) &
|
||||||
+ 3.0_pReal*lattice_C66(4,4,myPhase)) ! (C11iso-C12iso)/2 with C11iso=(3*C11+2*C12+4*C44)/5 and C12iso=(C11+4*C12-2*C44)/5
|
+ 3.0_pReal*lattice_C66(4,4,myPhase)) ! (C11iso-C12iso)/2 with C11iso=(3*C11+2*C12+4*C44)/5 and C12iso=(C11+4*C12-2*C44)/5
|
||||||
|
@ -1007,6 +1009,9 @@ subroutine lattice_initializeStructure(myPhase,CoverA)
|
||||||
+ 2.0_pReal*lattice_C66(4,4,myPhase))! C12iso/(C11iso+C12iso) with C11iso=(3*C11+2*C12+4*C44)/5 and C12iso=(C11+4*C12-2*C44)/5
|
+ 2.0_pReal*lattice_C66(4,4,myPhase))! C12iso/(C11iso+C12iso) with C11iso=(3*C11+2*C12+4*C44)/5 and C12iso=(C11+4*C12-2*C44)/5
|
||||||
lattice_C3333(1:3,1:3,1:3,1:3,myPhase) = math_Voigt66to3333(lattice_C66(1:6,1:6,myPhase)) ! Literature data is Voigt
|
lattice_C3333(1:3,1:3,1:3,1:3,myPhase) = math_Voigt66to3333(lattice_C66(1:6,1:6,myPhase)) ! Literature data is Voigt
|
||||||
lattice_C66(1:6,1:6,myPhase) = math_Mandel3333to66(lattice_C3333(1:3,1:3,1:3,1:3,myPhase)) ! DAMASK uses Mandel
|
lattice_C66(1:6,1:6,myPhase) = math_Mandel3333to66(lattice_C3333(1:3,1:3,1:3,1:3,myPhase)) ! DAMASK uses Mandel
|
||||||
|
do i = 1_pInt, 6_pInt
|
||||||
|
if (abs(lattice_C66(i,i,myPhase))<tol_math_check) call IO_error(43_pInt,el=i,ip=myPhase)
|
||||||
|
enddo
|
||||||
|
|
||||||
|
|
||||||
select case(lattice_structure(myPhase))
|
select case(lattice_structure(myPhase))
|
||||||
|
@ -1080,7 +1085,7 @@ subroutine lattice_initializeStructure(myPhase,CoverA)
|
||||||
do i = 1_pInt,myNslip ! assign slip system vectors
|
do i = 1_pInt,myNslip ! assign slip system vectors
|
||||||
sd(1,i) = lattice_hex_systemSlip(1,i)*1.5_pReal ! direction [uvtw]->[3u/2 (u+2v)*sqrt(3)/2 w*(c/a)]
|
sd(1,i) = lattice_hex_systemSlip(1,i)*1.5_pReal ! direction [uvtw]->[3u/2 (u+2v)*sqrt(3)/2 w*(c/a)]
|
||||||
sd(2,i) = (lattice_hex_systemSlip(1,i)+2.0_pReal*lattice_hex_systemSlip(2,i))*&
|
sd(2,i) = (lattice_hex_systemSlip(1,i)+2.0_pReal*lattice_hex_systemSlip(2,i))*&
|
||||||
(0.5_pReal*sqrt(3.0_pReal))
|
0.5_pReal*sqrt(3.0_pReal)
|
||||||
sd(3,i) = lattice_hex_systemSlip(4,i)*CoverA
|
sd(3,i) = lattice_hex_systemSlip(4,i)*CoverA
|
||||||
sn(1,i) = lattice_hex_systemSlip(5,i) ! plane (hkil)->(h (h+2k)/sqrt(3) l/(c/a))
|
sn(1,i) = lattice_hex_systemSlip(5,i) ! plane (hkil)->(h (h+2k)/sqrt(3) l/(c/a))
|
||||||
sn(2,i) = (lattice_hex_systemSlip(5,i)+2.0_pReal*lattice_hex_systemSlip(6,i))/sqrt(3.0_pReal)
|
sn(2,i) = (lattice_hex_systemSlip(5,i)+2.0_pReal*lattice_hex_systemSlip(6,i))/sqrt(3.0_pReal)
|
||||||
|
@ -1089,7 +1094,7 @@ subroutine lattice_initializeStructure(myPhase,CoverA)
|
||||||
do i = 1_pInt,myNtwin ! assign twin system vectors and shears
|
do i = 1_pInt,myNtwin ! assign twin system vectors and shears
|
||||||
td(1,i) = lattice_hex_systemTwin(1,i)*1.5_pReal
|
td(1,i) = lattice_hex_systemTwin(1,i)*1.5_pReal
|
||||||
td(2,i) = (lattice_hex_systemTwin(1,i)+2.0_pReal*lattice_hex_systemTwin(2,i))*&
|
td(2,i) = (lattice_hex_systemTwin(1,i)+2.0_pReal*lattice_hex_systemTwin(2,i))*&
|
||||||
(0.5_pReal*sqrt(3.0_pReal))
|
0.5_pReal*sqrt(3.0_pReal)
|
||||||
td(3,i) = lattice_hex_systemTwin(4,i)*CoverA
|
td(3,i) = lattice_hex_systemTwin(4,i)*CoverA
|
||||||
tn(1,i) = lattice_hex_systemTwin(5,i)
|
tn(1,i) = lattice_hex_systemTwin(5,i)
|
||||||
tn(2,i) = (lattice_hex_systemTwin(5,i)+2.0_pReal*lattice_hex_systemTwin(6,i))/sqrt(3.0_pReal)
|
tn(2,i) = (lattice_hex_systemTwin(5,i)+2.0_pReal*lattice_hex_systemTwin(6,i))/sqrt(3.0_pReal)
|
||||||
|
|
Loading…
Reference in New Issue