54 s11l,s22l,s33l,s12l,s23l,s13l,&
55 numnp,nstart,nend,numcstet,numat_vol)
67 REAL*8,
DIMENSION(1:3,1:numnp) :: coor
69 REAL*8,
DIMENSION(1:9,1:numat_vol) :: ci
71 INTEGER,
DIMENSION(1:numcstet) :: matcstet
73 REAL*8,
DIMENSION(1:3*numnp) :: r_in
75 REAL*8,
DIMENSION(1:3*numnp) ::
d
77 REAL*8,
DIMENSION(1:4,1:numcstet) :: s11l, s22l, s33l, s12l, s23l, s13l
79 INTEGER,
DIMENSION(1:10,1:numcstet) :: lmcstet
82 INTEGER :: n1,n2,n3,n4,n5,n6,n7,n8,n9,n10
84 REAL*8 :: u1,u2,u3,u4,u5,u6,u7,u8,u9,u10
85 REAL*8 :: v1,v2,v3,v4,v5,v6,v7,v8,v9,v10
86 REAL*8 :: w1,w2,w3,w4,w5,w6,w7,w8,w9,w10
90 REAL*8 :: b1,b2,b3,b4,b5,b6,b7,b8,b9,b10
91 REAL*8 :: b11,b12,b13,b14,b15,b16,b17,b18,b19,b20
92 REAL*8 :: b21,b22,b23,b24,b25,b26,b27,b28,b29,b30
93 REAL*8 :: b4n1, b5n1, b6n1, b7n1, b8n1, b9n1
94 REAL*8 :: b4n2, b5n2, b6n2, b7n2, b8n2, b9n2
95 REAL*8 :: b4n3, b5n3, b6n3, b7n3, b8n3, b9n3
96 REAL*8 :: b4n4, b5n4, b6n4, b7n4, b8n4, b9n4
97 REAL*8 :: b4n5, b5n5, b6n5, b7n5, b8n5, b9n5
98 REAL*8 :: b4n6, b5n6, b6n6, b7n6, b8n6, b9n6
99 REAL*8 :: b4n7, b5n7, b6n7, b7n7, b8n7, b9n7
100 REAL*8 :: b4n8, b5n8, b6n8, b7n8, b8n8, b9n8
101 REAL*8 :: b4n9, b5n9, b6n9, b7n9, b8n9, b9n9
102 REAL*8 :: b4n10, b5n10, b6n10, b7n10, b8n10, b9n10
104 REAL*8 :: e11,e22,e33,e12,e23,e13
106 REAL*8 :: x1,x2,x3,x4,x5,x6,x7,x8,x9,x10
107 REAL*8 :: y1,y2,y3,y4,y5,y6,y7,y8,y9,y10
108 REAL*8 :: z1,z2,z3,z4,z5,z6,z7,z8,z9,z10
110 INTEGER ::
i,
j,nstart,nend,
k
111 REAL*8 :: aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,aux10,aux11,aux12
113 REAL*8 :: r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15,r16,r17,r18
114 REAL*8 :: r19,r20,r21,r22,r23,r24,r25,r26,r27,r28,r29,r30
115 REAL*8 :: g1, g2, g3, g4
116 REAL*8 :: xn1, xn2, xn3, xn4
118 REAL*8 :: x14, x24, x34, y14, y24, y34, z14, z24, z34
120 REAL*8 :: x12, x13, y12, y13, z12, z13
122 REAL*8 :: c11, c21, c31
123 INTEGER :: k1n1,k1n2,k1n3,k1n4,k1n5,k1n6,k1n7,k1n8,k1n9,k1n10
124 INTEGER :: k2n1,k2n2,k2n3,k2n4,k2n5,k2n6,k2n7,k2n8,k2n9,k2n10
125 INTEGER :: k3n1,k3n2,k3n3,k3n4,k3n5,k3n6,k3n7,k3n8,k3n9,k3n10
127 REAL*8 :: onethird = 1./3.
129 REAL*8,
DIMENSION(1:4,1:4) :: gaussintpt = reshape( &
130 (/0.58541020d0,0.13819660d0,0.13819660d0,0.13819660d0, &
131 0.13819660d0,0.58541020d0,0.13819660d0,0.13819660d0, &
132 0.13819660d0,0.13819660d0,0.58541020d0,0.13819660d0, &
133 0.13819660d0,0.13819660d0,0.13819660d0,0.58541020d0/),(/4,4/) )
137 REAL*8,
DIMENSION(1:10) :: bbarx, bbary, bbarz
138 REAL*8,
DIMENSION(1:3,1:3) :: jac
139 REAL*8,
DIMENSION(1:3) ::
dx,
dy,
dz
144 REAL*8,
DIMENSION(1:10) :: n_ksi = (/0.,0.,0.,0.,0.,1.,-1.,-1.,1.,0./)
145 REAL*8,
DIMENSION(1:10) :: n_eta = (/0.,0.,0.,0.,-1.,1.,0.,-1.,0.,1./)
146 REAL*8,
DIMENSION(1:10) :: n_zet = (/0.,0.,0.,0.,-1.,0.,-1.,0.,1.,1./)
277 c11 = y24*z34 - z24*y34
278 c21 = -( x24*z34 - z24*x34 )
279 c31 = x24*y34 - y24*x34
281 vx6 = -( x14*c11 + y14*c21 + z14*c31 )
291 aux1 = -(y3*z4 - y4*z3 - y2*z4 + y2*z3 + z2*y4 - z2*y3)
292 aux2 = (x3*z4 - x4*z3 - x2*z4 + x2*z3 + z2*x4 - z2*x3)
293 aux3 = -(x3*y4 - x4*y3 - x2*y4 + x2*y3 + y2*x4 - y2*x3)
294 aux4 = (y3*z4 - y4*z3 - y1*z4 + y1*z3 + z1*y4 - z1*y3)
295 aux5 = -(x3*z4 - x4*z3 - x1*z4 + x1*z3 + z1*x4 - z1*x3)
296 aux6 = (x3*y4 - x4*y3 - x1*y4 + x1*y3 + y1*x4 - y1*x3)
297 aux7 = -(y2*z4 - z2*y4 - y1*z4 + y1*z2 + z1*y4 - z1*y2)
298 aux8 = (x2*z4 - z2*x4 - x1*z4 + x1*z2 + z1*x4 - z1*x2)
299 aux9 = -(x2*y4 - y2*x4 - x1*y4 + x1*y2 + y1*x4 - y1*x2)
300 aux10 = (y2*z3 - z2*y3 - y1*z3 + y1*z2 + z1*y3 - z1*y2)
301 aux11 =-(x2*z3 - z2*x3 - x1*z3 + x1*z2 + z1*x3 - z1*x2)
302 aux12 = (x2*y3 - y2*x3 - x1*y3 + x1*y2 + y1*x3 - y1*x2)
352 bbarx(5) = aux1 + aux4
353 bbary(5) = aux2 + aux5
354 bbarz(5) = aux3 + aux6
356 bbarx(6) = aux4 + aux7
357 bbary(6) = aux5 + aux8
358 bbarz(6) = aux6 + aux9
360 bbarx(7) = aux7 + aux1
361 bbary(7) = aux8 + aux2
362 bbarz(7) = aux9 + aux3
364 bbarx(8) = aux1 + aux10
365 bbary(8) = aux2 + aux11
366 bbarz(8) = aux3 + aux12
368 bbarx(9) = aux4 + aux10
369 bbary(9) = aux5 + aux11
370 bbarz(9) = aux6 + aux12
372 bbarx(10) = aux7 + aux10
373 bbary(10) = aux8 + aux11
374 bbarz(10) = aux9 + aux12
410 g1 = gaussintpt(igpt,1)
411 g2 = gaussintpt(igpt,2)
412 g3 = gaussintpt(igpt,3)
413 g4 = gaussintpt(igpt,4)
440 b13 = 4.d0*(g2*aux1 + g1*aux4)
441 b14 = 4.d0*(g2*aux2 + g1*aux5)
442 b15 = 4.d0*(g2*aux3 + g1*aux6)
444 b16 = 4.d0*(g3*aux4 + g2*aux7)
445 b17 = 4.d0*(g3*aux5 + g2*aux8)
446 b18 = 4.d0*(g3*aux6 + g2*aux9)
448 b19 = 4.d0*(g1*aux7 + g3*aux1)
449 b20 = 4.d0*(g1*aux8 + g3*aux2)
450 b21 = 4.d0*(g1*aux9 + g3*aux3)
452 b22 = 4.d0*(g4*aux1 + g1*aux10)
453 b23 = 4.d0*(g4*aux2 + g1*aux11)
454 b24 = 4.d0*(g4*aux3 + g1*aux12)
456 b25 = 4.d0*(g4*aux4 + g2*aux10)
457 b26 = 4.d0*(g4*aux5 + g2*aux11)
458 b27 = 4.d0*(g4*aux6 + g2*aux12)
460 b28 = 4.d0*(g4*aux7 + g3*aux10)
461 b29 = 4.d0*(g4*aux8 + g3*aux11)
462 b30 = 4.d0*(g4*aux9 + g3*aux12)
495 b4n1 = ( bbarx(1) - b1 )*onethird
497 b6n1 = ( bbary(1) - b2 )*onethird
499 b8n1 = ( bbarz(1) - b3 )*onethird
502 b4n2 = ( bbarx(2) - b4 )*onethird
504 b6n2 = ( bbary(2) - b5 )*onethird
506 b8n2 = ( bbarz(2) - b6 )*onethird
509 b4n3 = ( bbarx(3) - b7 )*onethird
511 b6n3 = ( bbary(3) - b8 )*onethird
513 b8n3 = ( bbarz(3) - b9 )*onethird
516 b4n4 = ( bbarx(4) - b10 )*onethird
518 b6n4 = ( bbary(4) - b11 )*onethird
520 b8n4 = ( bbarz(4) - b12 )*onethird
523 b4n5 = ( bbarx(5) - b13 )*onethird
525 b6n5 = ( bbary(5) - b14 )*onethird
527 b8n5 = ( bbarz(5) - b15 )*onethird
530 b4n6 = ( bbarx(6) - b16 )*onethird
532 b6n6 = ( bbary(6) - b17 )*onethird
534 b8n6 = ( bbarz(6) - b18 )*onethird
537 b4n7 = ( bbarx(7) - b19 )*onethird
539 b6n7 = ( bbary(7) - b20 )*onethird
541 b8n7 = ( bbarz(7) - b21 )*onethird
544 b4n8 = ( bbarx(8) - b22 )*onethird
546 b6n8 = ( bbary(8) - b23 )*onethird
548 b8n8 = ( bbarz(8) - b24 )*onethird
551 b4n9 = ( bbarx(9) - b25 )*onethird
553 b6n9 = ( bbary(9) - b26 )*onethird
555 b8n9 = ( bbarz(9) - b27 )*onethird
558 b4n10 = ( bbarx(10) - b28 )*onethird
560 b6n10 = ( bbary(10) - b29 )*onethird
562 b8n10 = ( bbarz(10) - b30 )*onethird
565 e11 = (b5n1*u1 + b6n1*v1 + b8n1*w1 + b5n2*u2 + b6n2*v2 + b8n2*w2 + &
566 b5n3*u3 + b6n3*v3 + b8n3*w3 + b5n4*u4 + b6n4*v4 + b8n4*w4 + &
567 b5n5*u5 + b6n5*v5 + b8n5*w5 + b5n6*u6 + b6n6*v6 + b8n6*w6 + &
568 b5n7*u7 + b6n7*v7 + b8n7*w7 + b5n8*u8 + b6n8*v8 + b8n8*w8 + &
569 b5n9*u9 + b6n9*v9 + b8n9*w9 + b5n10*u10 + b6n10*v10 + b8n10*w10) * vx6inv
571 e22 = (b4n1*u1 + b7n1*v1 + b8n1*w1 + b4n2*u2 + b7n2*v2 + b8n2*w2 + &
572 b4n3*u3 + b7n3*v3 + b8n3*w3 + b4n4*u4 + b7n4*v4 + b8n4*w4 + &
573 b4n5*u5 + b7n5*v5 + b8n5*w5 + b4n6*u6 + b7n6*v6 + b8n6*w6 + &
574 b4n7*u7 + b7n7*v7 + b8n7*w7 + b4n8*u8 + b7n8*v8 + b8n8*w8 + &
575 b4n9*u9 + b7n9*v9 + b8n9*w9 + b4n10*u10 + b7n10*v10 + b8n10*w10) * vx6inv
577 e33 = (b4n1*u1 + b6n1*v1 + b9n1*w1 + b4n2*u2 + b6n2*v2 + b9n2*w2 + &
578 b4n3*u3 + b6n3*v3 + b9n3*w3 + b4n4*u4 + b6n4*v4 + b9n4*w4 + &
579 b4n5*u5 + b6n5*v5 + b9n5*w5 + b4n6*u6 + b6n6*v6 + b9n6*w6 + &
580 b4n7*u7 + b6n7*v7 + b9n7*w7 + b4n8*u8 + b6n8*v8 + b9n8*w8 + &
581 b4n9*u9 + b6n9*v9 + b9n9*w9 + b4n10*u10 + b6n10*v10 + b9n10*w10) * vx6inv
583 e12 = (b2*u1 + b1*v1 + b5*u2 + b4*v2 &
584 + b8*u3 + b7*v3 + b11*u4 + b10*v4 &
585 + b14*u5 + b13*v5 + b17*u6 + b16*v6 &
586 + b20*u7 + b19*v7 + b23*u8 + b22*v8 &
587 + b26*u9 + b25*v9 + b29*u10 + b28*v10) * vx6inv
588 e23 = (b3*v1 + b2*w1 + b6*v2 + b5*w2 &
589 + b9*v3 + b8*w3 + b12*v4 + b11*w4 &
590 + b15*v5 + b14*w5 + b18*v6 + b17*w6 &
591 + b21*v7 + b20*w7 + b24*v8 + b23*w8 &
592 + b27*v9 + b26*w9 + b30*v10 + b29*w10) * vx6inv
593 e13 = (b3*u1 + b1*w1 + b6*u2 + b4*w2 &
594 + b9*u3 + b7*w3 + b12*u4 + b10*w4 &
595 + b15*u5 + b13*w5 + b18*u6 + b16*w6 &
596 + b21*u7 + b19*w7 + b24*u8 + b22*w8 &
597 + b27*u9 + b25*w9 + b30*u10 + b28*w10) * vx6inv
599 s11l(igpt,
i) = e11*ci(1,
j) + e22*ci(2,
j) + e33*ci(4,
j)
600 s22l(igpt,
i) = e11*ci(2,
j) + e22*ci(3,
j) + e33*ci(5,
j)
601 s33l(igpt,
i) = e11*ci(4,
j) + e22*ci(5,
j) + e33*ci(6,
j)
602 s12l(igpt,
i) = e12*ci(7,
j)
603 s23l(igpt,
i) = e23*ci(8,
j)
604 s13l(igpt,
i) = e13*ci(9,
j)
606 r1 = r1 + s11l(igpt,
i)*b5n1 + s22l(igpt,
i)*b4n1 + s33l(igpt,
i)*b4n1 + s12l(igpt,
i)*b2 + s13l(igpt,
i)*b3
607 r2 = r2 +s11l(igpt,
i)*b6n1 + s22l(igpt,
i)*b7n1 + s33l(igpt,
i)*b6n1 + s12l(igpt,
i)*b1 + s23l(igpt,
i)*b3
608 r3 = r3 +s11l(igpt,
i)*b8n1 + s22l(igpt,
i)*b8n1 + s33l(igpt,
i)*b9n1 + s23l(igpt,
i)*b2 + s13l(igpt,
i)*b1
610 r4 = r4 +s11l(igpt,
i)*b5n2 + s22l(igpt,
i)*b4n2 + s33l(igpt,
i)*b4n2 + s12l(igpt,
i)*b5 + s13l(igpt,
i)*b6
611 r5 = r5 +s11l(igpt,
i)*b6n2 + s22l(igpt,
i)*b7n2 + s33l(igpt,
i)*b6n2 + s12l(igpt,
i)*b4 + s23l(igpt,
i)*b6
612 r6 = r6 +s11l(igpt,
i)*b8n2 + s22l(igpt,
i)*b8n2 + s33l(igpt,
i)*b9n2 + s23l(igpt,
i)*b5 + s13l(igpt,
i)*b4
614 r7 = r7 +s11l(igpt,
i)*b5n3 + s22l(igpt,
i)*b4n3 + s33l(igpt,
i)*b4n3 + s12l(igpt,
i)*b8 + s13l(igpt,
i)*b9
615 r8 = r8 +s11l(igpt,
i)*b6n3 + s22l(igpt,
i)*b7n3 + s33l(igpt,
i)*b6n3 + s12l(igpt,
i)*b7 + s23l(igpt,
i)*b9
616 r9 = r9 +s11l(igpt,
i)*b8n3 + s22l(igpt,
i)*b8n3 + s33l(igpt,
i)*b9n3 + s23l(igpt,
i)*b8 + s13l(igpt,
i)*b7
618 r10 = r10 +s11l(igpt,
i)*b5n4 + s22l(igpt,
i)*b4n4 + s33l(igpt,
i)*b4n4 + s12l(igpt,
i)*b11 + s13l(igpt,
i)*b12
619 r11 = r11 +s11l(igpt,
i)*b6n4 + s22l(igpt,
i)*b7n4 + s33l(igpt,
i)*b6n4 + s12l(igpt,
i)*b10 + s23l(igpt,
i)*b12
620 r12 = r12 +s11l(igpt,
i)*b8n4 + s22l(igpt,
i)*b8n4 + s33l(igpt,
i)*b9n4 + s23l(igpt,
i)*b11 + s13l(igpt,
i)*b10
622 r13 = r13 +s11l(igpt,
i)*b5n5 + s22l(igpt,
i)*b4n5 + s33l(igpt,
i)*b4n5 + s12l(igpt,
i)*b14 + s13l(igpt,
i)*b15
623 r14 = r14 +s11l(igpt,
i)*b6n5 + s22l(igpt,
i)*b7n5 + s33l(igpt,
i)*b6n5 + s12l(igpt,
i)*b13 + s23l(igpt,
i)*b15
624 r15 = r15 +s11l(igpt,
i)*b8n5 + s22l(igpt,
i)*b8n5 + s33l(igpt,
i)*b9n5 + s23l(igpt,
i)*b14 + s13l(igpt,
i)*b13
626 r16 = r16 +s11l(igpt,
i)*b5n6 + s22l(igpt,
i)*b4n6 + s33l(igpt,
i)*b4n6 + s12l(igpt,
i)*b17 + s13l(igpt,
i)*b18
627 r17 = r17 +s11l(igpt,
i)*b6n6 + s22l(igpt,
i)*b7n6 + s33l(igpt,
i)*b6n6 + s12l(igpt,
i)*b16 + s23l(igpt,
i)*b18
628 r18 = r18 +s11l(igpt,
i)*b8n6 + s22l(igpt,
i)*b8n6 + s33l(igpt,
i)*b9n6 + s23l(igpt,
i)*b17 + s13l(igpt,
i)*b16
630 r19 = r19 +s11l(igpt,
i)*b5n7 + s22l(igpt,
i)*b4n7 + s33l(igpt,
i)*b4n7 + s12l(igpt,
i)*b20 + s13l(igpt,
i)*b21
631 r20 = r20 +s11l(igpt,
i)*b6n7 + s22l(igpt,
i)*b7n7 + s33l(igpt,
i)*b6n7 + s12l(igpt,
i)*b19 + s23l(igpt,
i)*b21
632 r21 = r21 +s11l(igpt,
i)*b8n7 + s22l(igpt,
i)*b8n7 + s33l(igpt,
i)*b9n7 + s23l(igpt,
i)*b20 + s13l(igpt,
i)*b19
634 r22 = r22 +s11l(igpt,
i)*b5n8 + s22l(igpt,
i)*b4n8 + s33l(igpt,
i)*b4n8 + s12l(igpt,
i)*b23 + s13l(igpt,
i)*b24
635 r23 = r23 +s11l(igpt,
i)*b6n8 + s22l(igpt,
i)*b7n8 + s33l(igpt,
i)*b6n8 + s12l(igpt,
i)*b22 + s23l(igpt,
i)*b24
636 r24 = r24 +s11l(igpt,
i)*b8n8 + s22l(igpt,
i)*b8n8 + s33l(igpt,
i)*b9n8 + s23l(igpt,
i)*b23 + s13l(igpt,
i)*b22
638 r25 = r25 +s11l(igpt,
i)*b5n9 + s22l(igpt,
i)*b4n9 + s33l(igpt,
i)*b4n9 + s12l(igpt,
i)*b26 + s13l(igpt,
i)*b27
639 r26 = r26 +s11l(igpt,
i)*b6n9 + s22l(igpt,
i)*b7n9 + s33l(igpt,
i)*b6n9 + s12l(igpt,
i)*b25 + s23l(igpt,
i)*b27
640 r27 = r27 +s11l(igpt,
i)*b8n9 + s22l(igpt,
i)*b8n9 + s33l(igpt,
i)*b9n9 + s23l(igpt,
i)*b26 + s13l(igpt,
i)*b25
642 r28 = r28 +s11l(igpt,
i)*b5n10 + s22l(igpt,
i)*b4n10 + s33l(igpt,
i)*b4n10 + s12l(igpt,
i)*b29 + s13l(igpt,
i)*b30
643 r29 = r29 +s11l(igpt,
i)*b6n10 + s22l(igpt,
i)*b7n10 + s33l(igpt,
i)*b6n10 + s12l(igpt,
i)*b28 + s23l(igpt,
i)*b30
644 r30 = r30 +s11l(igpt,
i)*b8n10 + s22l(igpt,
i)*b8n10 + s33l(igpt,
i)*b9n10 + s23l(igpt,
i)*b29 + s13l(igpt,
i)*b28
656 r_in(k1n1) = r_in(k1n1) - r1*0.04166666666666667d0
657 r_in(k2n1) = r_in(k2n1) - r2*0.04166666666666667d0
658 r_in(k3n1) = r_in(k3n1) - r3*0.04166666666666667d0
660 r_in(k1n2) = r_in(k1n2) - r4*0.04166666666666667d0
661 r_in(k2n2) = r_in(k2n2) - r5*0.04166666666666667d0
662 r_in(k3n2) = r_in(k3n2) - r6*0.04166666666666667d0
664 r_in(k1n3) = r_in(k1n3) - r7*0.04166666666666667d0
665 r_in(k2n3) = r_in(k2n3) - r8*0.04166666666666667d0
666 r_in(k3n3) = r_in(k3n3) - r9*0.04166666666666667d0
668 r_in(k1n4) = r_in(k1n4) - r10*0.04166666666666667d0
669 r_in(k2n4) = r_in(k2n4) - r11*0.04166666666666667d0
670 r_in(k3n4) = r_in(k3n4) - r12*0.04166666666666667d0
672 r_in(k1n5) = r_in(k1n5) - r13*0.04166666666666667d0
673 r_in(k2n5) = r_in(k2n5) - r14*0.04166666666666667d0
674 r_in(k3n5) = r_in(k3n5) - r15*0.04166666666666667d0
676 r_in(k1n6) = r_in(k1n6) - r16*0.04166666666666667d0
677 r_in(k2n6) = r_in(k2n6) - r17*0.04166666666666667d0
678 r_in(k3n6) = r_in(k3n6) - r18*0.04166666666666667d0
680 r_in(k1n7) = r_in(k1n7) - r19*0.04166666666666667d0
681 r_in(k2n7) = r_in(k2n7) - r20*0.04166666666666667d0
682 r_in(k3n7) = r_in(k3n7) - r21*0.04166666666666667d0
684 r_in(k1n8) = r_in(k1n8) - r22*0.04166666666666667d0
685 r_in(k2n8) = r_in(k2n8) - r23*0.04166666666666667d0
686 r_in(k3n8) = r_in(k3n8) - r24*0.04166666666666667d0
688 r_in(k1n9) = r_in(k1n9) - r25*0.04166666666666667d0
689 r_in(k2n9) = r_in(k2n9) - r26*0.04166666666666667d0
690 r_in(k3n9) = r_in(k3n9) - r27*0.04166666666666667d0
692 r_in(k1n10) = r_in(k1n10) - r28*0.04166666666666667d0
693 r_in(k2n10) = r_in(k2n10) - r29*0.04166666666666667d0
694 r_in(k3n10) = r_in(k3n10) - r30*0.04166666666666667d0
subroutine v3d10_b_bar(coor, matcstet, lmcstet, R_in, d, ci, S11l, S22l, S33l, S12l, S23l, S13l, numnp, nstart, nend, numcstet, numat_vol)