55 numnp,nstart,nend,numcstet,numat_vol, coeffexp,temperature,temperature0)
67 REAL*8,
DIMENSION(1:3,1:numnp) :: coor
69 REAL*8,
DIMENSION(1:9,1:numat_vol) :: ci
71 REAL*8,
DIMENSION(1:numat_vol) :: coeffexp
74 REAL*8,
DIMENSION(1:3*numnp) :: r_in
76 REAL*8,
DIMENSION(1:4,1:numcstet) :: s11l, s22l, s33l
78 REAL*8,
DIMENSION(1:4) :: strssth11, strssth22, strssth33
82 INTEGER,
DIMENSION(1:10,1:numcstet) :: lmcstet
84 INTEGER,
DIMENSION(1:numcstet) :: matcstet
87 INTEGER :: n1,n2,n3,n4,n5,n6,n7,n8,n9,n10
91 REAL*8 :: b1,b2,b3,b4,b5,b6,b7,b8,b9,b10
92 REAL*8 :: b11,b12,b13,b14,b15,b16,b17,b18,b19,b20
93 REAL*8 :: b21,b22,b23,b24,b25,b26,b27,b28,b29,b30
95 REAL*8 :: e11,e22,e33,e12,e23,e13
97 REAL*8 :: x1,x2,x3,x4,x5,x6,x7,x8,x9,x10
98 REAL*8 :: y1,y2,y3,y4,y5,y6,y7,y8,y9,y10
99 REAL*8 :: z1,z2,z3,z4,z5,z6,z7,z8,z9,z10
101 INTEGER ::
i,
j,nstart,nend
102 REAL*8 :: aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,aux10,aux11,aux12
104 REAL*8 :: r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15,r16,r17,r18
105 REAL*8 :: r19,r20,r21,r22,r23,r24,r25,r26,r27,r28,r29,r30
106 REAL*8 :: g1, g2, g3, g4
107 REAL*8 :: xn1, xn2, xn3, xn4
109 REAL*8 :: x14, x24, x34, y14, y24, y34, z14, z24, z34
111 REAL*8 :: c11, c21, c31
112 INTEGER :: k1n1,k1n2,k1n3,k1n4,k1n5,k1n6,k1n7,k1n8,k1n9,k1n10
113 INTEGER :: k2n1,k2n2,k2n3,k2n4,k2n5,k2n6,k2n7,k2n8,k2n9,k2n10
114 INTEGER :: k3n1,k3n2,k3n3,k3n4,k3n5,k3n6,k3n7,k3n8,k3n9,k3n10
116 REAL*8,
DIMENSION(1:NumNP) :: temperature
117 REAL*8 :: temperaturegauss,temperature0
120 REAL*8,
DIMENSION(1:4,1:4) :: gaussintpt = reshape( &
121 (/0.58541020d0,0.13819660d0,0.13819660d0,0.13819660d0, &
122 0.13819660d0,0.58541020d0,0.13819660d0,0.13819660d0, &
123 0.13819660d0,0.13819660d0,0.58541020d0,0.13819660d0, &
124 0.13819660d0,0.13819660d0,0.13819660d0,0.58541020d0/),(/4,4/) )
199 c11 = y24*z34 - z24*y34
200 c21 = -( x24*z34 - z24*x34 )
201 c31 = x24*y34 - y24*x34
203 vx6 = -( x14*c11 + y14*c21 + z14*c31 )
213 aux1 = -(y3*z4 - y4*z3 - y2*z4 + y2*z3 + z2*y4 - z2*y3)
214 aux2 = (x3*z4 - x4*z3 - x2*z4 + x2*z3 + z2*x4 - z2*x3)
215 aux3 = -(x3*y4 - x4*y3 - x2*y4 + x2*y3 + y2*x4 - y2*x3)
216 aux4 = (y3*z4 - y4*z3 - y1*z4 + y1*z3 + z1*y4 - z1*y3)
217 aux5 = -(x3*z4 - x4*z3 - x1*z4 + x1*z3 + z1*x4 - z1*x3)
218 aux6 = (x3*y4 - x4*y3 - x1*y4 + x1*y3 + y1*x4 - y1*x3)
219 aux7 = -(y2*z4 - z2*y4 - y1*z4 + y1*z2 + z1*y4 - z1*y2)
220 aux8 = (x2*z4 - z2*x4 - x1*z4 + x1*z2 + z1*x4 - z1*x2)
221 aux9 = -(x2*y4 - y2*x4 - x1*y4 + x1*y2 + y1*x4 - y1*x2)
222 aux10 = (y2*z3 - z2*y3 - y1*z3 + y1*z2 + z1*y3 - z1*y2)
223 aux11 =-(x2*z3 - z2*x3 - x1*z3 + x1*z2 + z1*x3 - z1*x2)
224 aux12 = (x2*y3 - y2*x3 - x1*y3 + x1*y2 + y1*x3 - y1*x2)
259 g1 = gaussintpt(igpt,1)
260 g2 = gaussintpt(igpt,2)
261 g3 = gaussintpt(igpt,3)
262 g4 = gaussintpt(igpt,4)
288 b13 = 4.d0*(g2*aux1 + g1*aux4)
289 b14 = 4.d0*(g2*aux2 + g1*aux5)
290 b15 = 4.d0*(g2*aux3 + g1*aux6)
292 b16 = 4.d0*(g3*aux4 + g2*aux7)
293 b17 = 4.d0*(g3*aux5 + g2*aux8)
294 b18 = 4.d0*(g3*aux6 + g2*aux9)
296 b19 = 4.d0*(g1*aux7 + g3*aux1)
297 b20 = 4.d0*(g1*aux8 + g3*aux2)
298 b21 = 4.d0*(g1*aux9 + g3*aux3)
300 b22 = 4.d0*(g4*aux1 + g1*aux10)
301 b23 = 4.d0*(g4*aux2 + g1*aux11)
302 b24 = 4.d0*(g4*aux3 + g1*aux12)
304 b25 = 4.d0*(g4*aux4 + g2*aux10)
305 b26 = 4.d0*(g4*aux5 + g2*aux11)
306 b27 = 4.d0*(g4*aux6 + g2*aux12)
308 b28 = 4.d0*(g4*aux7 + g3*aux10)
309 b29 = 4.d0*(g4*aux8 + g3*aux11)
310 b30 = 4.d0*(g4*aux9 + g3*aux12)
315 temperaturegauss = g1*(2.d0*g1-1.d0)*temperature(n1) + &
316 g2*(2.d0*g2-1.d0)*temperature(n2) + &
317 g3*(2.d0*g3-1.d0)*temperature(n3) + &
318 g4*(2.d0*g4-1.d0)*temperature(n4) + &
319 4.d0*g1*g2*temperature(n5) + 4.d0*g2*g3*temperature(n6) + &
320 4.d0*g3*g1*temperature(n7) + 4.d0*g1*g4*temperature(n8) + &
321 4.d0*g2*g4*temperature(n9) + 4.d0*g3*g4*temperature(n10)
323 strssth11(igpt) = -ci(1,
j)*coeffexp(
j)*( temperaturegauss - temperature0 )
324 strssth22(igpt) = -ci(3,
j)*coeffexp(
j)*( temperaturegauss - temperature0 )
325 strssth33(igpt) = -ci(6,
j)*coeffexp(
j)*( temperaturegauss - temperature0 )
328 r1 = r1 + strssth11(igpt)*b1
329 r2 = r2 + strssth22(igpt)*b2
330 r3 = r3 + strssth33(igpt)*b3
332 r4 = r4 + strssth11(igpt)*b4
333 r5 = r5 + strssth22(igpt)*b5
334 r6 = r6 + strssth33(igpt)*b6
336 r7 = r7 + strssth11(igpt)*b7
337 r8 = r8 + strssth22(igpt)*b8
338 r9 = r9 + strssth33(igpt)*b9
340 r10 = r10 + strssth11(igpt)*b10
341 r11 = r11 + strssth22(igpt)*b11
342 r12 = r12 + strssth33(igpt)*b12
344 r13 = r13 + strssth11(igpt)*b13
345 r14 = r14 + strssth22(igpt)*b14
346 r15 = r15 + strssth33(igpt)*b15
348 r16 = r16 + strssth11(igpt)*b16
349 r17 = r17 + strssth22(igpt)*b17
350 r18 = r18 + strssth33(igpt)*b18
352 r19 = r19 + strssth11(igpt)*b19
353 r20 = r20 + strssth22(igpt)*b20
354 r21 = r21 + strssth33(igpt)*b21
356 r22 = r22 + strssth11(igpt)*b22
357 r23 = r23 + strssth22(igpt)*b23
358 r24 = r24 + strssth33(igpt)*b24
360 r25 = r25 + strssth11(igpt)*b25
361 r26 = r26 + strssth22(igpt)*b26
362 r27 = r27 + strssth33(igpt)*b27
364 r28 = r28 + strssth11(igpt)*b28
365 r29 = r29 + strssth22(igpt)*b29
366 r30 = r30 + strssth33(igpt)*b30
368 s11l(igpt,
i) = s11l(igpt,
i) + strssth11(igpt)
369 s22l(igpt,
i) = s22l(igpt,
i) + strssth22(igpt)
370 s33l(igpt,
i) = s33l(igpt,
i) + strssth33(igpt)
384 r_in(k1n1) = r_in(k1n1) - r1*0.04166666666666667d0
385 r_in(k2n1) = r_in(k2n1) - r2*0.04166666666666667d0
386 r_in(k3n1) = r_in(k3n1) - r3*0.04166666666666667d0
388 r_in(k1n2) = r_in(k1n2) - r4*0.04166666666666667d0
389 r_in(k2n2) = r_in(k2n2) - r5*0.04166666666666667d0
390 r_in(k3n2) = r_in(k3n2) - r6*0.04166666666666667d0
392 r_in(k1n3) = r_in(k1n3) - r7*0.04166666666666667d0
393 r_in(k2n3) = r_in(k2n3) - r8*0.04166666666666667d0
394 r_in(k3n3) = r_in(k3n3) - r9*0.04166666666666667d0
396 r_in(k1n4) = r_in(k1n4) - r10*0.04166666666666667d0
397 r_in(k2n4) = r_in(k2n4) - r11*0.04166666666666667d0
398 r_in(k3n4) = r_in(k3n4) - r12*0.04166666666666667d0
400 r_in(k1n5) = r_in(k1n5) - r13*0.04166666666666667d0
401 r_in(k2n5) = r_in(k2n5) - r14*0.04166666666666667d0
402 r_in(k3n5) = r_in(k3n5) - r15*0.04166666666666667d0
404 r_in(k1n6) = r_in(k1n6) - r16*0.04166666666666667d0
405 r_in(k2n6) = r_in(k2n6) - r17*0.04166666666666667d0
406 r_in(k3n6) = r_in(k3n6) - r18*0.04166666666666667d0
408 r_in(k1n7) = r_in(k1n7) - r19*0.04166666666666667d0
409 r_in(k2n7) = r_in(k2n7) - r20*0.04166666666666667d0
410 r_in(k3n7) = r_in(k3n7) - r21*0.04166666666666667d0
412 r_in(k1n8) = r_in(k1n8) - r22*0.04166666666666667d0
413 r_in(k2n8) = r_in(k2n8) - r23*0.04166666666666667d0
414 r_in(k3n8) = r_in(k3n8) - r24*0.04166666666666667d0
416 r_in(k1n9) = r_in(k1n9) - r25*0.04166666666666667d0
417 r_in(k2n9) = r_in(k2n9) - r26*0.04166666666666667d0
418 r_in(k3n9) = r_in(k3n9) - r27*0.04166666666666667d0
420 r_in(k1n10) = r_in(k1n10) - r28*0.04166666666666667d0
421 r_in(k2n10) = r_in(k2n10) - r29*0.04166666666666667d0
422 r_in(k3n10) = r_in(k3n10) - r30*0.04166666666666667d0
subroutine v3d10_thermalexp(coor, matcstet, lmcstet, R_in, ci, S11l, S22l, S33l, numnp, nstart, nend, numcstet, numat_vol, CoeffExp, Temperature, Temperature0)