54 dbm,dbb, dbd, dmm,dmb,dmd, ddm, ddb, ddd, a2, am, l_bar)
59 REAL*8,
DIMENSION(1:6,1:6) :: lo, lm, l2
63 REAL*8,
DIMENSION(1:6,1:6) :: mo
64 REAL*8,
DIMENSION(1:6,1:6) :: mm, m2
65 REAL*8,
DIMENSION(1:6,1:6) :: p
66 REAL*8,
DIMENSION(1:6,1:6) ::
s, sinv,si
67 REAL*8,
DIMENSION(1:6,1:6) ::
a,
b, lst
68 REAL*8 ,
DIMENSION(1:6,1:6) :: l,
m
70 REAL*8,
DIMENSION(1:6,1:6) :: dbm, dbb, dbd, dmm,dmb,dmd, ddm, ddb, ddd
71 REAL*8,
DIMENSION(1:6,1:6) :: a2, am ,
c
73 REAL*8,
DIMENSION(1:6,1:6) :: l_bar, lrlbarinv
80 REAL*8,
DIMENSION(1:6,1:6) :: dident = reshape( &
81 (/1.d0, 0.d0, 0.d0, 0.d0, 0.d0, 0.d0, &
82 0.d0, 1.d0, 0.d0, 0.d0, 0.d0, 0.d0, &
83 0.d0, 0.d0, 1.d0, 0.d0, 0.d0, 0.d0, &
84 0.d0, 0.d0, 0.d0, 1.d0, 0.d0, 0.d0, &
85 0.d0, 0.d0, 0.d0, 0.d0, 1.d0, 0.d0, &
86 0.d0, 0.d0, 0.d0, 0.d0, 0.d0, 1.d0 /),(/6,6/) )
152 c(
i,
j) = cm*am(
i,
j) + (cb + cd)*a2(
i,
j)
153 IF (
i.EQ.
j .AND. (
c(
i,
j) <= 0.9999 .OR.
c(
i,
j) >= 1.00001))
THEN
154 print*,
'Incorrect Transformation tensors Am, A2'
157 IF (
i .NE.
j .AND. (
c(
i,
j) >= 1.000e-4 .OR.
c(
i,
j) <= -1.000e-4))
THEN
158 print*,
'Incorrect Transformation tensors Am, A2'
173 c = dident - cm*transpose(am)
175 b = matmul(
a, lrlbarinv)
191 c = -1.d0*cb*transpose(a2)
193 b = matmul(
a, lrlbarinv)
209 c = -1.d0*cd*transpose(a2)
211 b = matmul(
a, lrlbarinv)
234 c = dident - cb*transpose(a2)
236 b = matmul(
a, lrlbarinv)
253 c = -1.d0*cm*transpose(am)
255 b = matmul(
a, lrlbarinv)
272 c = -1.d0*cd*transpose(a2)
274 b = matmul(
a, lrlbarinv)
292 c = dident - cd*transpose(a2)
294 b = matmul(
a, lrlbarinv)
311 c = -1.d0*cm*transpose(am)
313 b = matmul(
a, lrlbarinv)
329 c = - 1.d0*cb*transpose(a2)
331 b = matmul(
a, lrlbarinv)
354 si(
i,
j) = dident(
i,
j) - a2(
i,
j)
360 print*,
'Incorrect Concentration tensors SUM_s=1^N Drs = I - Ar'
383 IF(
b(
i,
j) >= 1.000e-10 .OR.
b(
i,
j) <= -1.00e-10)
THEN
384 print*,
'A) Incorrect Concentration tensors | SUM_s=1^N Drs*Ms = 0'
404 IF(
a(
i,
j) >= 1.000e-10 .OR.
a(
i,
j) <= -1.00e-10)
THEN
405 print*,
'B) Incorrect Concentration tensors | SUM_s=1^N Drs*Ms = 0'
426 IF(
a(
i,
j) >= 1.000e-10 .OR.
a(
i,
j) <= -1.00e-10)
THEN
427 print*,
'C) Incorrect Concentration tensors | SUM_s=1^N Drs*Ms = 0'
444 print*,
'a) Incorrect Concentration tensors | cr*Drs*Ms = cs*Mr*Dsr'
463 print*,
'b) Incorrect Concentration tensors | cr*Drs*Ms = cs*Mr*Dsr'
473 a(
i,
j) = cm*dmm(
i,
j) + cb*dbm(
i,
j) + cd*ddm(
i,
j)
474 b(
i,
j) = cm*dmb(
i,
j) + cb*dbb(
i,
j) + cd*ddb(
i,
j)
475 c(
i,
j) = cm*dmd(
i,
j) + cb*dbd(
i,
j) + cd*ddd(
i,
j)
476 IF(
a(
i,
j) >= 1.000e-10 .OR.
a(
i,
j) <= -1.000e-10 .OR. &
477 b(
i,
j) >= 1.000e-10 .OR.
b(
i,
j) <= -1.000e-10 .OR. &
478 c(
i,
j) >= 1.000e-10 .OR.
c(
i,
j) <= -1.000e-10)
THEN
479 print*,
'c) Incorrect Concentration tensors | SUM_s=1^N cs*Dsr = 0'
562 REAL*8,
DIMENSION(1:ndim,1:ndim) ::
b
563 REAL*8,
DIMENSION(1:ndim) ::
a,
c
570 REAL*8,
DIMENSION(1:ndim) :: sum2
578 sum1 = sum1 +
b(
j,
k)*
c(
k)
582 scaler = scaler + sum2(
i)*
a(
i)
subroutine vecmatvecmul(a, B, c, ndim, scaler)
subroutine a_d_tensors(Lo, Lm, L2, Mm, M2, cm, cb, cd, Dbm, Dbb, Dbd, Dmm, Dmb, Dmd, Ddm, Ddb, Ddd, A2, Am, L_bar)
subroutine eshelby(Shape, Mo, Lo, P, S)
subroutine invert2(Inv_in, a, nrow)