Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
v3d10.f90
Go to the documentation of this file.
1 !*********************************************************************
2 !* Illinois Open Source License *
3 !* *
4 !* University of Illinois/NCSA *
5 !* Open Source License *
6 !* *
7 !* Copyright@2008, University of Illinois. All rights reserved. *
8 !* *
9 !* Developed by: *
10 !* *
11 !* Center for Simulation of Advanced Rockets *
12 !* *
13 !* University of Illinois *
14 !* *
15 !* www.csar.uiuc.edu *
16 !* *
17 !* Permission is hereby granted, free of charge, to any person *
18 !* obtaining a copy of this software and associated documentation *
19 !* files (the "Software"), to deal with the Software without *
20 !* restriction, including without limitation the rights to use, *
21 !* copy, modify, merge, publish, distribute, sublicense, and/or *
22 !* sell copies of the Software, and to permit persons to whom the *
23 !* Software is furnished to do so, subject to the following *
24 !* conditions: *
25 !* *
26 !* *
27 !* @ Redistributions of source code must retain the above copyright *
28 !* notice, this list of conditions and the following disclaimers. *
29 !* *
30 !* @ Redistributions in binary form must reproduce the above *
31 !* copyright notice, this list of conditions and the following *
32 !* disclaimers in the documentation and/or other materials *
33 !* provided with the distribution. *
34 !* *
35 !* @ Neither the names of the Center for Simulation of Advanced *
36 !* Rockets, the University of Illinois, nor the names of its *
37 !* contributors may be used to endorse or promote products derived *
38 !* from this Software without specific prior written permission. *
39 !* *
40 !* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
41 !* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
42 !* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
43 !* NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
44 !* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
45 !* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
46 !* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
47 !* USE OR OTHER DEALINGS WITH THE SOFTWARE. *
48 !*********************************************************************
49 !* Please acknowledge The University of Illinois Center for *
50 !* Simulation of Advanced Rockets in works and publications *
51 !* resulting from this software or its derivatives. *
52 !*********************************************************************
53 SUBROUTINE v3d10(coor,matcstet,lmcstet,R_in,d,ci, &
54  s11l,s22l,s33l,s12l,s23l,s13l,&
55  numnp,nstart,nend,numcstet,numat_vol)
56 
57 !!****f* Rocfrac/Rocfrac/Source/v3d10.f90
58 !!
59 !! NAME
60 !! v3d10
61 !!
62 !! FUNCTION
63 !!
64 !! Computes the internal force for a small deformation,
65 !! linear elastic 10-node tetrahedral.
66 !!
67 !! INPUTS
68 !!
69 !! NumNP -- Number of nodes
70 !! numcstet -- Number of elements
71 !! Coor -- number of coordinates
72 !! Matcstet -- Material id
73 !! d -- nodal displacement
74 !! ci -- compliance matrix
75 !!
76 !! stored in the follow format:
77 !!
78 !! [ ci(1) ci(2) ci(4) ]
79 !! [ ci(3) ci(5) ]
80 !! [ ci(6) ]
81 !! [ ci(7) ]
82 !! [ ci(8) ]
83 !! [ ci(9) ]
84 !!
85 !! lmcstet -- Nodal connectivity
86 !! nstart, nend -- element beginning and end loop counter
87 !! numat_vol -- number of materials
88 !!
89 !! OUTPUT
90 !!
91 !! Rin -- internal force vector
92 !! S11l,S22l,S33l,S12l,S23l,S13l -- Stresses at gauss points
93 !!
94 !!****
95 
96 !----- 4 Guass points
97  IMPLICIT NONE
98 !-----Global variables
99  INTEGER :: numnp ! number of nodes
100  INTEGER :: numat_vol ! number of volumetric materials
101  INTEGER :: numcstet ! number of LSTets
102 !-- coordinate array
103  REAL*8, DIMENSION(1:3,1:numnp) :: coor
104 !-- elastic stiffness consts
105  REAL*8, DIMENSION(1:9,1:numat_vol) :: ci
106 !-- internal force
107  REAL*8, DIMENSION(1:3*numnp) :: r_in
108 !-- displacement vector
109  REAL*8, DIMENSION(1:3*numnp) :: d
110 !-- CSTet stress
111  REAL*8, DIMENSION(1:4,1:numcstet) :: s11l, s22l, s33l, s12l, s23l, s13l
112 !-- connectivity table for CSTet
113  INTEGER, DIMENSION(1:10,1:numcstet) :: lmcstet
114 !-- mat number for CSTet element
115  INTEGER, DIMENSION(1:numcstet) :: matcstet
116 !---- Local variables
117 !-- node numbers
118  INTEGER :: n1,n2,n3,n4,n5,n6,n7,n8,n9,n10
119 !-- x, y, and z displacements of nodes
120  REAL*8 :: u1,u2,u3,u4,u5,u6,u7,u8,u9,u10
121  REAL*8 :: v1,v2,v3,v4,v5,v6,v7,v8,v9,v10
122  REAL*8 :: w1,w2,w3,w4,w5,w6,w7,w8,w9,w10
123 !-- 6*volume and inverse of 6*volume
124  REAL*8 :: vx6, vx6inv
125 !-- spacial derivatives
126  REAL*8 :: b1,b2,b3,b4,b5,b6,b7,b8,b9,b10
127  REAL*8 :: b11,b12,b13,b14,b15,b16,b17,b18,b19,b20
128  REAL*8 :: b21,b22,b23,b24,b25,b26,b27,b28,b29,b30
129 !-- strains
130  REAL*8 :: e11,e22,e33,e12,e23,e13
131 !-- coordinate holding variable
132  REAL*8 :: x1,x2,x3,x4,x5,x6,x7,x8,x9,x10
133  REAL*8 :: y1,y2,y3,y4,y5,y6,y7,y8,y9,y10
134  REAL*8 :: z1,z2,z3,z4,z5,z6,z7,z8,z9,z10
135 !-- dummy and counters
136  INTEGER :: i,j,nstart,nend
137  REAL*8 :: aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,aux10,aux11,aux12
138 !-- partial internal force
139  REAL*8 :: r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15,r16,r17,r18
140  REAL*8 :: r19,r20,r21,r22,r23,r24,r25,r26,r27,r28,r29,r30
141  REAL*8 :: g1, g2, g3, g4
142  REAL*8 :: xn1, xn2, xn3, xn4
143 !-- Coordinate subtractions
144  REAL*8 :: x14, x24, x34, y14, y24, y34, z14, z24, z34
145 !--
146  REAL*8 :: c11, c21, c31
147  INTEGER :: k1n1,k1n2,k1n3,k1n4,k1n5,k1n6,k1n7,k1n8,k1n9,k1n10
148  INTEGER :: k2n1,k2n2,k2n3,k2n4,k2n5,k2n6,k2n7,k2n8,k2n9,k2n10
149  INTEGER :: k3n1,k3n2,k3n3,k3n4,k3n5,k3n6,k3n7,k3n8,k3n9,k3n10
150 
151 
152  DO i = nstart, nend
153  j = matcstet(i)
154 
155  n1 = lmcstet(1,i)
156  n2 = lmcstet(2,i)
157  n3 = lmcstet(3,i)
158  n4 = lmcstet(4,i)
159  n5 = lmcstet(5,i)
160  n6 = lmcstet(6,i)
161  n7 = lmcstet(7,i)
162  n8 = lmcstet(8,i)
163  n9 = lmcstet(9,i)
164  n10 = lmcstet(10,i)
165 
166  k3n1 = 3*n1
167  k3n2 = 3*n2
168  k3n3 = 3*n3
169  k3n4 = 3*n4
170  k3n5 = 3*n5
171  k3n6 = 3*n6
172  k3n7 = 3*n7
173  k3n8 = 3*n8
174  k3n9 = 3*n9
175  k3n10 = 3*n10
176 
177  k2n1 = k3n1 - 1
178  k2n2 = k3n2 - 1
179  k2n3 = k3n3 - 1
180  k2n4 = k3n4 - 1
181  k2n5 = k3n5 - 1
182  k2n6 = k3n6 - 1
183  k2n7 = k3n7 - 1
184  k2n8 = k3n8 - 1
185  k2n9 = k3n9 - 1
186  k2n10 = k3n10 - 1
187 
188  k1n1 = k3n1 - 2
189  k1n2 = k3n2 - 2
190  k1n3 = k3n3 - 2
191  k1n4 = k3n4 - 2
192  k1n5 = k3n5 - 2
193  k1n6 = k3n6 - 2
194  k1n7 = k3n7 - 2
195  k1n8 = k3n8 - 2
196  k1n9 = k3n9 - 2
197  k1n10 = k3n10 - 2
198  ! k#n# dummy variables replaces:
199  u1 = d(k1n1) ! (3*n1 -2)
200  u2 = d(k1n2) ! (3*n2 -2)
201  u3 = d(k1n3) ! (3*n3 -2)
202  u4 = d(k1n4) ! (3*n4 -2)
203  u5 = d(k1n5) ! (3*n5 -2)
204  u6 = d(k1n6) ! (3*n6 -2)
205  u7 = d(k1n7) ! (3*n7 -2)
206  u8 = d(k1n8) ! (3*n8 -2)
207  u9 = d(k1n9) ! (3*n9 -2)
208  u10 = d(k1n10) ! (3*n10-2)
209  v1 = d(k2n1) ! (3*n1 -1)
210  v2 = d(k2n2) ! (3*n2 -1)
211  v3 = d(k2n3) ! (3*n3 -1)
212  v4 = d(k2n4) ! (3*n4 -1)
213  v5 = d(k2n5) ! (3*n5 -1)
214  v6 = d(k2n6) ! (3*n6 -1)
215  v7 = d(k2n7) ! (3*n7 -1)
216  v8 = d(k2n8) ! (3*n8 -1)
217  v9 = d(k2n9) ! (3*n9 -1)
218  v10 = d(k2n10) ! (3*n10-1)
219  w1 = d(k3n1) ! (3*n1)
220  w2 = d(k3n2) ! (3*n2)
221  w3 = d(k3n3) ! (3*n3)
222  w4 = d(k3n4) ! (3*n4)
223  w5 = d(k3n5) ! (3*n5)
224  w6 = d(k3n6) ! (3*n6)
225  w7 = d(k3n7) ! (3*n7)
226  w8 = d(k3n8) ! (3*n8)
227  w9 = d(k3n9) ! (3*n9)
228  w10 = d(k3n10) ! (3*n10)
229 
230  x1 = coor(1,n1)
231  x2 = coor(1,n2)
232  x3 = coor(1,n3)
233  x4 = coor(1,n4)
234  y1 = coor(2,n1)
235  y2 = coor(2,n2)
236  y3 = coor(2,n3)
237  y4 = coor(2,n4)
238  z1 = coor(3,n1)
239  z2 = coor(3,n2)
240  z3 = coor(3,n3)
241  z4 = coor(3,n4)
242 
243  x14 = x1 - x4
244  x24 = x2 - x4
245  x34 = x3 - x4
246  y14 = y1 - y4
247  y24 = y2 - y4
248  y34 = y3 - y4
249  z14 = z1 - z4
250  z24 = z2 - z4
251  z34 = z3 - z4
252 
253  c11 = y24*z34 - z24*y34
254  c21 = -( x24*z34 - z24*x34 )
255  c31 = x24*y34 - y24*x34
256 
257  vx6 = -( x14*c11 + y14*c21 + z14*c31 )
258 
259 ! Vx6 = x2*y3*z4 - x2*y4*z3 - y2*x3*z4 + y2*x4*z3 + z2*x3*y4
260 ! $ - z2*x4*y3 - x1*y3*z4 + x1*y4*z3 + x1*y2*z4 - x1*y2*z3
261 ! $ - x1*z2*y4 + x1*z2*y3 + y1*x3*z4 - y1*x4*z3 - y1*x2*z4
262 ! $ + y1*x2*z3 + y1*z2*x4 - y1*z2*x3 - z1*x3*y4 + z1*x4*y3
263 ! $ + z1*x2*y4 - z1*x2*y3 - z1*y2*x4 + z1*y2*x3
264 
265  vx6inv = 1.d0 / vx6
266 
267  aux1 = -(y3*z4 - y4*z3 - y2*z4 + y2*z3 + z2*y4 - z2*y3)
268  aux2 = (x3*z4 - x4*z3 - x2*z4 + x2*z3 + z2*x4 - z2*x3)
269  aux3 = -(x3*y4 - x4*y3 - x2*y4 + x2*y3 + y2*x4 - y2*x3)
270  aux4 = (y3*z4 - y4*z3 - y1*z4 + y1*z3 + z1*y4 - z1*y3)
271  aux5 = -(x3*z4 - x4*z3 - x1*z4 + x1*z3 + z1*x4 - z1*x3)
272  aux6 = (x3*y4 - x4*y3 - x1*y4 + x1*y3 + y1*x4 - y1*x3)
273  aux7 = -(y2*z4 - z2*y4 - y1*z4 + y1*z2 + z1*y4 - z1*y2)
274  aux8 = (x2*z4 - z2*x4 - x1*z4 + x1*z2 + z1*x4 - z1*x2)
275  aux9 = -(x2*y4 - y2*x4 - x1*y4 + x1*y2 + y1*x4 - y1*x2)
276  aux10 = (y2*z3 - z2*y3 - y1*z3 + y1*z2 + z1*y3 - z1*y2)
277  aux11 =-(x2*z3 - z2*x3 - x1*z3 + x1*z2 + z1*x3 - z1*x2)
278  aux12 = (x2*y3 - y2*x3 - x1*y3 + x1*y2 + y1*x3 - y1*x2)
279 
280 !-- Gauss Point 1
281 
282  g1 = 0.58541020d0
283  g2 = 0.13819660d0
284  g3 = 0.13819660d0
285  g4 = 0.13819660d0
286 
287  xn1 = (4.d0*g1-1.d0) ! derivative of shape function
288  xn2 = (4.d0*g2-1.d0) ! dN_i/dzeta_i
289  xn3 = (4.d0*g3-1.d0)
290  xn4 = (4.d0*g4-1.d0)
291 ! xN5 = 4.d0*g1*g2
292 ! xN6 = 4.d0*g2*g3
293 ! xN7 = 4.d0*g3*g1
294 ! xN8 = 4.d0*g1*g4
295 ! xN9 = 4.d0*g2*g4
296 ! xN10= 4.d0*g3*g4
297 
298  b1 = aux1*xn1
299  b2 = aux2*xn1
300  b3 = aux3*xn1
301  b4 = aux4*xn2
302  b5 = aux5*xn2
303  b6 = aux6*xn2
304  b7 = aux7*xn3
305  b8 = aux8*xn3
306  b9 = aux9*xn3
307  b10 = aux10*xn4
308  b11 = aux11*xn4
309  b12 = aux12*xn4
310 
311  b13 = 4.d0*(g2*aux1 + g1*aux4)
312  b14 = 4.d0*(g2*aux2 + g1*aux5)
313  b15 = 4.d0*(g2*aux3 + g1*aux6)
314 
315  b16 = 4.d0*(g3*aux4 + g2*aux7)
316  b17 = 4.d0*(g3*aux5 + g2*aux8)
317  b18 = 4.d0*(g3*aux6 + g2*aux9)
318 
319  b19 = 4.d0*(g1*aux7 + g3*aux1)
320  b20 = 4.d0*(g1*aux8 + g3*aux2)
321  b21 = 4.d0*(g1*aux9 + g3*aux3)
322 
323  b22 = 4.d0*(g4*aux1 + g1*aux10)
324  b23 = 4.d0*(g4*aux2 + g1*aux11)
325  b24 = 4.d0*(g4*aux3 + g1*aux12)
326 
327  b25 = 4.d0*(g4*aux4 + g2*aux10)
328  b26 = 4.d0*(g4*aux5 + g2*aux11)
329  b27 = 4.d0*(g4*aux6 + g2*aux12)
330 
331  b28 = 4.d0*(g4*aux7 + g3*aux10)
332  b29 = 4.d0*(g4*aux8 + g3*aux11)
333  b30 = 4.d0*(g4*aux9 + g3*aux12)
334 
335  e11 = (b1*u1 + b4*u2 + b7*u3 + b10*u4 + b13*u5 + &
336  b16*u6 + b19*u7 + b22*u8 + b25*u9 + b28*u10) * vx6inv
337  e22 = (b2*v1 + b5*v2 + b8*v3 + b11*v4 + b14*v5 + &
338  b17*v6 + b20*v7 + b23*v8 + b26*v9 + b29*v10) * vx6inv
339  e33 = (b3*w1 + b6*w2 + b9*w3 + b12*w4 + b15*w5 + &
340  b18*w6 + b21*w7 + b24*w8 + b27*w9 + b30*w10) * vx6inv
341  e12 = (b2*u1 + b1*v1 + b5*u2 + b4*v2 &
342  + b8*u3 + b7*v3 + b11*u4 + b10*v4 &
343  + b14*u5 + b13*v5 + b17*u6 + b16*v6 &
344  + b20*u7 + b19*v7 + b23*u8 + b22*v8 &
345  + b26*u9 + b25*v9 + b29*u10 + b28*v10) * vx6inv
346  e23 = (b3*v1 + b2*w1 + b6*v2 + b5*w2 &
347  + b9*v3 + b8*w3 + b12*v4 + b11*w4 &
348  + b15*v5 + b14*w5 + b18*v6 + b17*w6 &
349  + b21*v7 + b20*w7 + b24*v8 + b23*w8 &
350  + b27*v9 + b26*w9 + b30*v10 + b29*w10) * vx6inv
351  e13 = (b3*u1 + b1*w1 + b6*u2 + b4*w2 &
352  + b9*u3 + b7*w3 + b12*u4 + b10*w4 &
353  + b15*u5 + b13*w5 + b18*u6 + b16*w6 &
354  + b21*u7 + b19*w7 + b24*u8 + b22*w8 &
355  + b27*u9 + b25*w9 + b30*u10 + b28*w10) * vx6inv
356 
357  s11l(1,i) = e11*ci(1,j) + e22*ci(2,j) + e33*ci(4,j)
358  s22l(1,i) = e11*ci(2,j) + e22*ci(3,j) + e33*ci(5,j)
359  s33l(1,i) = e11*ci(4,j) + e22*ci(5,j) + e33*ci(6,j)
360  s12l(1,i) = e12*ci(7,j)
361  s23l(1,i) = e23*ci(8,j)
362  s13l(1,i) = e13*ci(9,j)
363 
364  r1 = s11l(1,i)*b1 + s12l(1,i)*b2 + s13l(1,i)*b3
365  r2 = s22l(1,i)*b2 + s12l(1,i)*b1 + s23l(1,i)*b3
366  r3 = s33l(1,i)*b3 + s23l(1,i)*b2 + s13l(1,i)*b1
367 
368  r4 = s11l(1,i)*b4 + s12l(1,i)*b5 + s13l(1,i)*b6
369  r5 = s22l(1,i)*b5 + s12l(1,i)*b4 + s23l(1,i)*b6
370  r6 = s33l(1,i)*b6 + s23l(1,i)*b5 + s13l(1,i)*b4
371 
372  r7 = s11l(1,i)*b7 + s12l(1,i)*b8 + s13l(1,i)*b9
373  r8 = s22l(1,i)*b8 + s12l(1,i)*b7 + s23l(1,i)*b9
374  r9 = s33l(1,i)*b9 + s23l(1,i)*b8 + s13l(1,i)*b7
375 
376  r10 = s11l(1,i)*b10 + s12l(1,i)*b11 + s13l(1,i)*b12
377  r11 = s22l(1,i)*b11 + s12l(1,i)*b10 + s23l(1,i)*b12
378  r12 = s33l(1,i)*b12 + s23l(1,i)*b11 + s13l(1,i)*b10
379 
380  r13 = s11l(1,i)*b13 + s12l(1,i)*b14 + s13l(1,i)*b15
381  r14 = s22l(1,i)*b14 + s12l(1,i)*b13 + s23l(1,i)*b15
382  r15 = s33l(1,i)*b15 + s23l(1,i)*b14 + s13l(1,i)*b13
383 
384  r16 = s11l(1,i)*b16 + s12l(1,i)*b17 + s13l(1,i)*b18
385  r17 = s22l(1,i)*b17 + s12l(1,i)*b16 + s23l(1,i)*b18
386  r18 = s33l(1,i)*b18 + s23l(1,i)*b17 + s13l(1,i)*b16
387 
388  r19 = s11l(1,i)*b19 + s12l(1,i)*b20 + s13l(1,i)*b21
389  r20 = s22l(1,i)*b20 + s12l(1,i)*b19 + s23l(1,i)*b21
390  r21 = s33l(1,i)*b21 + s23l(1,i)*b20 + s13l(1,i)*b19
391 
392  r22 = s11l(1,i)*b22 + s12l(1,i)*b23 + s13l(1,i)*b24
393  r23 = s22l(1,i)*b23 + s12l(1,i)*b22 + s23l(1,i)*b24
394  r24 = s33l(1,i)*b24 + s23l(1,i)*b23 + s13l(1,i)*b22
395 
396  r25 = s11l(1,i)*b25 + s12l(1,i)*b26 + s13l(1,i)*b27
397  r26 = s22l(1,i)*b26 + s12l(1,i)*b25 + s23l(1,i)*b27
398  r27 = s33l(1,i)*b27 + s23l(1,i)*b26 + s13l(1,i)*b25
399 
400  r28 = s11l(1,i)*b28 + s12l(1,i)*b29 + s13l(1,i)*b30
401  r29 = s22l(1,i)*b29 + s12l(1,i)*b28 + s23l(1,i)*b30
402  r30 = s33l(1,i)*b30 + s23l(1,i)*b29 + s13l(1,i)*b28
403 !-- Gauss Point 2
404 
405  g1 = 0.13819660d0
406  g2 = 0.58541020d0
407  g3 = 0.13819660d0
408  g4 = 0.13819660d0
409 
410  xn1 = (4.d0*g1-1.d0) ! derivative of shape function
411  xn2 = (4.d0*g2-1.d0) ! dN_i/dzeta_i
412  xn3 = (4.d0*g3-1.d0)
413  xn4 = (4.d0*g4-1.d0)
414 ! xN5 = 4.d0*g1*g2
415 ! xN6 = 4.d0*g2*g3
416 ! xN7 = 4.d0*g3*g1
417 ! xN8 = 4.d0*g1*g4
418 ! xN9 = 4.d0*g2*g4
419 ! xN10= 4.d0*g3*g4
420 
421  b1 = aux1*xn1
422  b2 = aux2*xn1
423  b3 = aux3*xn1
424  b4 = aux4*xn2
425  b5 = aux5*xn2
426  b6 = aux6*xn2
427  b7 = aux7*xn3
428  b8 = aux8*xn3
429  b9 = aux9*xn3
430  b10 = aux10*xn4
431  b11 = aux11*xn4
432  b12 = aux12*xn4
433  b13 = 4.d0*(g2*aux1 + g1*aux4)
434  b14 = 4.d0*(g2*aux2 + g1*aux5)
435  b15 = 4.d0*(g2*aux3 + g1*aux6)
436  b16 = 4.d0*(g3*aux4 + g2*aux7)
437  b17 = 4.d0*(g3*aux5 + g2*aux8)
438  b18 = 4.d0*(g3*aux6 + g2*aux9)
439  b19 = 4.d0*(g1*aux7 + g3*aux1)
440  b20 = 4.d0*(g1*aux8 + g3*aux2)
441  b21 = 4.d0*(g1*aux9 + g3*aux3)
442  b22 = 4.d0*(g4*aux1 + g1*aux10)
443  b23 = 4.d0*(g4*aux2 + g1*aux11)
444  b24 = 4.d0*(g4*aux3 + g1*aux12)
445  b25 = 4.d0*(g4*aux4 + g2*aux10)
446  b26 = 4.d0*(g4*aux5 + g2*aux11)
447  b27 = 4.d0*(g4*aux6 + g2*aux12)
448  b28 = 4.d0*(g4*aux7 + g3*aux10)
449  b29 = 4.d0*(g4*aux8 + g3*aux11)
450  b30 = 4.d0*(g4*aux9 + g3*aux12)
451 
452  e11 = (b1*u1 + b4*u2 + b7*u3 + b10*u4 + b13*u5 + &
453  b16*u6 + b19*u7 + b22*u8 + b25*u9 + b28*u10) * vx6inv
454  e22 = (b2*v1 + b5*v2 + b8*v3 + b11*v4 + b14*v5 + &
455  b17*v6 + b20*v7 + b23*v8 + b26*v9 + b29*v10) * vx6inv
456  e33 = (b3*w1 + b6*w2 + b9*w3 + b12*w4 + b15*w5 + &
457  b18*w6 + b21*w7 + b24*w8 + b27*w9 + b30*w10) * vx6inv
458  e12 = (b2*u1 + b1*v1 + b5*u2 + b4*v2 &
459  + b8*u3 + b7*v3 + b11*u4 + b10*v4 &
460  + b14*u5 + b13*v5 + b17*u6 + b16*v6 &
461  + b20*u7 + b19*v7 + b23*u8 + b22*v8 &
462  + b26*u9 + b25*v9 + b29*u10 + b28*v10) * vx6inv
463  e23 = (b3*v1 + b2*w1 + b6*v2 + b5*w2 &
464  + b9*v3 + b8*w3 + b12*v4 + b11*w4 &
465  + b15*v5 + b14*w5 + b18*v6 + b17*w6 &
466  + b21*v7 + b20*w7 + b24*v8 + b23*w8 &
467  + b27*v9 + b26*w9 + b30*v10 + b29*w10) * vx6inv
468  e13 = (b3*u1 + b1*w1 + b6*u2 + b4*w2 &
469  + b9*u3 + b7*w3 + b12*u4 + b10*w4 &
470  + b15*u5 + b13*w5 + b18*u6 + b16*w6 &
471  + b21*u7 + b19*w7 + b24*u8 + b22*w8 &
472  + b27*u9 + b25*w9 + b30*u10 + b28*w10) * vx6inv
473 
474  s11l(2,i) = e11*ci(1,j) + e22*ci(2,j) + e33*ci(4,j)
475  s22l(2,i) = e11*ci(2,j) + e22*ci(3,j) + e33*ci(5,j)
476  s33l(2,i) = e11*ci(4,j) + e22*ci(5,j) + e33*ci(6,j)
477  s12l(2,i) = e12*ci(7,j)
478  s23l(2,i) = e23*ci(8,j)
479  s13l(2,i) = e13*ci(9,j)
480 
481  r1 = r1 +s11l(2,i)*b1 + s12l(2,i)*b2 + s13l(2,i)*b3
482  r2 = r2 +s22l(2,i)*b2 + s12l(2,i)*b1 + s23l(2,i)*b3
483  r3 = r3 +s33l(2,i)*b3 + s23l(2,i)*b2 + s13l(2,i)*b1
484  r4 = r4 +s11l(2,i)*b4 + s12l(2,i)*b5 + s13l(2,i)*b6
485  r5 = r5 +s22l(2,i)*b5 + s12l(2,i)*b4 + s23l(2,i)*b6
486  r6 = r6 +s33l(2,i)*b6 + s23l(2,i)*b5 + s13l(2,i)*b4
487  r7 = r7 +s11l(2,i)*b7 + s12l(2,i)*b8 + s13l(2,i)*b9
488  r8 = r8 +s22l(2,i)*b8 + s12l(2,i)*b7 + s23l(2,i)*b9
489  r9 = r9 +s33l(2,i)*b9 + s23l(2,i)*b8 + s13l(2,i)*b7
490  r10 = r10 +s11l(2,i)*b10 + s12l(2,i)*b11 + s13l(2,i)*b12
491  r11 = r11 +s22l(2,i)*b11 + s12l(2,i)*b10 + s23l(2,i)*b12
492  r12 = r12 +s33l(2,i)*b12 + s23l(2,i)*b11 + s13l(2,i)*b10
493  r13 = r13 +s11l(2,i)*b13 + s12l(2,i)*b14 + s13l(2,i)*b15
494  r14 = r14 +s22l(2,i)*b14 + s12l(2,i)*b13 + s23l(2,i)*b15
495  r15 = r15 +s33l(2,i)*b15 + s23l(2,i)*b14 + s13l(2,i)*b13
496  r16 = r16 +s11l(2,i)*b16 + s12l(2,i)*b17 + s13l(2,i)*b18
497  r17 = r17 +s22l(2,i)*b17 + s12l(2,i)*b16 + s23l(2,i)*b18
498  r18 = r18 +s33l(2,i)*b18 + s23l(2,i)*b17 + s13l(2,i)*b16
499  r19 = r19 +s11l(2,i)*b19 + s12l(2,i)*b20 + s13l(2,i)*b21
500  r20 = r20 +s22l(2,i)*b20 + s12l(2,i)*b19 + s23l(2,i)*b21
501  r21 = r21 +s33l(2,i)*b21 + s23l(2,i)*b20 + s13l(2,i)*b19
502  r22 = r22 +s11l(2,i)*b22 + s12l(2,i)*b23 + s13l(2,i)*b24
503  r23 = r23 +s22l(2,i)*b23 + s12l(2,i)*b22 + s23l(2,i)*b24
504  r24 = r24 +s33l(2,i)*b24 + s23l(2,i)*b23 + s13l(2,i)*b22
505  r25 = r25 +s11l(2,i)*b25 + s12l(2,i)*b26 + s13l(2,i)*b27
506  r26 = r26 +s22l(2,i)*b26 + s12l(2,i)*b25 + s23l(2,i)*b27
507  r27 = r27 +s33l(2,i)*b27 + s23l(2,i)*b26 + s13l(2,i)*b25
508  r28 = r28 +s11l(2,i)*b28 + s12l(2,i)*b29 + s13l(2,i)*b30
509  r29 = r29 +s22l(2,i)*b29 + s12l(2,i)*b28 + s23l(2,i)*b30
510  r30 = r30 +s33l(2,i)*b30 + s23l(2,i)*b29 + s13l(2,i)*b28
511 !-- Gauss Point 3
512 
513  g1 = 0.13819660d0
514  g2 = 0.13819660d0
515  g3 = 0.58541020d0
516  g4 = 0.13819660d0
517 
518  xn1 = (4.d0*g1-1.d0) ! derivative of shape function
519  xn2 = (4.d0*g2-1.d0) ! dN_i/dzeta_i
520  xn3 = (4.d0*g3-1.d0)
521  xn4 = (4.d0*g4-1.d0)
522 ! xN5 = 4.d0*g1*g2
523 ! xN6 = 4.d0*g2*g3
524 ! xN7 = 4.d0*g3*g1
525 ! xN8 = 4.d0*g1*g4
526 ! xN9 = 4.d0*g2*g4
527 ! xN10= 4.d0*g3*g4
528 
529  b1 = aux1*xn1
530  b2 = aux2*xn1
531  b3 = aux3*xn1
532  b4 = aux4*xn2
533  b5 = aux5*xn2
534  b6 = aux6*xn2
535  b7 = aux7*xn3
536  b8 = aux8*xn3
537  b9 = aux9*xn3
538  b10 = aux10*xn4
539  b11 = aux11*xn4
540  b12 = aux12*xn4
541  b13 = 4.d0*(g2*aux1 + g1*aux4)
542  b14 = 4.d0*(g2*aux2 + g1*aux5)
543  b15 = 4.d0*(g2*aux3 + g1*aux6)
544  b16 = 4.d0*(g3*aux4 + g2*aux7)
545  b17 = 4.d0*(g3*aux5 + g2*aux8)
546  b18 = 4.d0*(g3*aux6 + g2*aux9)
547  b19 = 4.d0*(g1*aux7 + g3*aux1)
548  b20 = 4.d0*(g1*aux8 + g3*aux2)
549  b21 = 4.d0*(g1*aux9 + g3*aux3)
550  b22 = 4.d0*(g4*aux1 + g1*aux10)
551  b23 = 4.d0*(g4*aux2 + g1*aux11)
552  b24 = 4.d0*(g4*aux3 + g1*aux12)
553  b25 = 4.d0*(g4*aux4 + g2*aux10)
554  b26 = 4.d0*(g4*aux5 + g2*aux11)
555  b27 = 4.d0*(g4*aux6 + g2*aux12)
556  b28 = 4.d0*(g4*aux7 + g3*aux10)
557  b29 = 4.d0*(g4*aux8 + g3*aux11)
558  b30 = 4.d0*(g4*aux9 + g3*aux12)
559 
560  e11 = (b1*u1 + b4*u2 + b7*u3 + b10*u4 + b13*u5 + &
561  b16*u6 + b19*u7 + b22*u8 + b25*u9 + b28*u10) * vx6inv
562  e22 = (b2*v1 + b5*v2 + b8*v3 + b11*v4 + b14*v5 + &
563  b17*v6 + b20*v7 + b23*v8 + b26*v9 + b29*v10) * vx6inv
564  e33 = (b3*w1 + b6*w2 + b9*w3 + b12*w4 + b15*w5 + &
565  b18*w6 + b21*w7 + b24*w8 + b27*w9 + b30*w10) * vx6inv
566  e12 = (b2*u1 + b1*v1 + b5*u2 + b4*v2 &
567  + b8*u3 + b7*v3 + b11*u4 + b10*v4 &
568  + b14*u5 + b13*v5 + b17*u6 + b16*v6 &
569  + b20*u7 + b19*v7 + b23*u8 + b22*v8 &
570  + b26*u9 + b25*v9 + b29*u10 + b28*v10) * vx6inv
571  e23 = (b3*v1 + b2*w1 + b6*v2 + b5*w2 &
572  + b9*v3 + b8*w3 + b12*v4 + b11*w4 &
573  + b15*v5 + b14*w5 + b18*v6 + b17*w6 &
574  + b21*v7 + b20*w7 + b24*v8 + b23*w8 &
575  + b27*v9 + b26*w9 + b30*v10 + b29*w10) * vx6inv
576  e13 = (b3*u1 + b1*w1 + b6*u2 + b4*w2 &
577  + b9*u3 + b7*w3 + b12*u4 + b10*w4 &
578  + b15*u5 + b13*w5 + b18*u6 + b16*w6 &
579  + b21*u7 + b19*w7 + b24*u8 + b22*w8 &
580  + b27*u9 + b25*w9 + b30*u10 + b28*w10) * vx6inv
581 
582  s11l(3,i) = e11*ci(1,j) + e22*ci(2,j) + e33*ci(4,j)
583  s22l(3,i) = e11*ci(2,j) + e22*ci(3,j) + e33*ci(5,j)
584  s33l(3,i) = e11*ci(4,j) + e22*ci(5,j) + e33*ci(6,j)
585  s12l(3,i) = e12*ci(7,j)
586  s23l(3,i) = e23*ci(8,j)
587  s13l(3,i) = e13*ci(9,j)
588 
589  r1 = r1 + s11l(3,i)*b1 + s12l(3,i)*b2 + s13l(3,i)*b3
590  r2 = r2 + s22l(3,i)*b2 + s12l(3,i)*b1 + s23l(3,i)*b3
591  r3 = r3 +s33l(3,i)*b3 + s23l(3,i)*b2 + s13l(3,i)*b1
592  r4 = r4 +s11l(3,i)*b4 + s12l(3,i)*b5 + s13l(3,i)*b6
593  r5 = r5 +s22l(3,i)*b5 + s12l(3,i)*b4 + s23l(3,i)*b6
594  r6 = r6 +s33l(3,i)*b6 + s23l(3,i)*b5 + s13l(3,i)*b4
595  r7 = r7 +s11l(3,i)*b7 + s12l(3,i)*b8 + s13l(3,i)*b9
596  r8 = r8 +s22l(3,i)*b8 + s12l(3,i)*b7 + s23l(3,i)*b9
597  r9 = r9 +s33l(3,i)*b9 + s23l(3,i)*b8 + s13l(3,i)*b7
598  r10 = r10 +s11l(3,i)*b10 + s12l(3,i)*b11 + s13l(3,i)*b12
599  r11 = r11 +s22l(3,i)*b11 + s12l(3,i)*b10 + s23l(3,i)*b12
600  r12 = r12 +s33l(3,i)*b12 + s23l(3,i)*b11 + s13l(3,i)*b10
601  r13 = r13 +s11l(3,i)*b13 + s12l(3,i)*b14 + s13l(3,i)*b15
602  r14 = r14 +s22l(3,i)*b14 + s12l(3,i)*b13 + s23l(3,i)*b15
603  r15 = r15 +s33l(3,i)*b15 + s23l(3,i)*b14 + s13l(3,i)*b13
604  r16 = r16 +s11l(3,i)*b16 + s12l(3,i)*b17 + s13l(3,i)*b18
605  r17 = r17 +s22l(3,i)*b17 + s12l(3,i)*b16 + s23l(3,i)*b18
606  r18 = r18 +s33l(3,i)*b18 + s23l(3,i)*b17 + s13l(3,i)*b16
607  r19 = r19 +s11l(3,i)*b19 + s12l(3,i)*b20 + s13l(3,i)*b21
608  r20 = r20 +s22l(3,i)*b20 + s12l(3,i)*b19 + s23l(3,i)*b21
609  r21 = r21 +s33l(3,i)*b21 + s23l(3,i)*b20 + s13l(3,i)*b19
610  r22 = r22 +s11l(3,i)*b22 + s12l(3,i)*b23 + s13l(3,i)*b24
611  r23 = r23 +s22l(3,i)*b23 + s12l(3,i)*b22 + s23l(3,i)*b24
612  r24 = r24 +s33l(3,i)*b24 + s23l(3,i)*b23 + s13l(3,i)*b22
613  r25 = r25 +s11l(3,i)*b25 + s12l(3,i)*b26 + s13l(3,i)*b27
614  r26 = r26 +s22l(3,i)*b26 + s12l(3,i)*b25 + s23l(3,i)*b27
615  r27 = r27 +s33l(3,i)*b27 + s23l(3,i)*b26 + s13l(3,i)*b25
616  r28 = r28 +s11l(3,i)*b28 + s12l(3,i)*b29 + s13l(3,i)*b30
617  r29 = r29 +s22l(3,i)*b29 + s12l(3,i)*b28 + s23l(3,i)*b30
618  r30 = r30 +s33l(3,i)*b30 + s23l(3,i)*b29 + s13l(3,i)*b28
619 !-- Gauss Point 4
620 
621  g1 = 0.13819660d0
622  g2 = 0.13819660d0
623  g3 = 0.13819660d0
624  g4 = 0.58541020d0
625 
626  xn1 = (4.d0*g1-1.d0) ! derivative of shape function
627  xn2 = (4.d0*g2-1.d0) ! dN_i/dzeta_i
628  xn3 = (4.d0*g3-1.d0)
629  xn4 = (4.d0*g4-1.d0)
630 ! xN5 = 4.d0*g1*g2
631 ! xN6 = 4.d0*g2*g3
632 ! xN7 = 4.d0*g3*g1
633 ! xN8 = 4.d0*g1*g4
634 ! xN9 = 4.d0*g2*g4
635 ! xN10= 4.d0*g3*g4
636 
637  b1 = aux1*xn1
638  b2 = aux2*xn1
639  b3 = aux3*xn1
640  b4 = aux4*xn2
641  b5 = aux5*xn2
642  b6 = aux6*xn2
643  b7 = aux7*xn3
644  b8 = aux8*xn3
645  b9 = aux9*xn3
646  b10 = aux10*xn4
647  b11 = aux11*xn4
648  b12 = aux12*xn4
649  b13 = 4.d0*(g2*aux1 + g1*aux4)
650  b14 = 4.d0*(g2*aux2 + g1*aux5)
651  b15 = 4.d0*(g2*aux3 + g1*aux6)
652  b16 = 4.d0*(g3*aux4 + g2*aux7)
653  b17 = 4.d0*(g3*aux5 + g2*aux8)
654  b18 = 4.d0*(g3*aux6 + g2*aux9)
655  b19 = 4.d0*(g1*aux7 + g3*aux1)
656  b20 = 4.d0*(g1*aux8 + g3*aux2)
657  b21 = 4.d0*(g1*aux9 + g3*aux3)
658  b22 = 4.d0*(g4*aux1 + g1*aux10)
659  b23 = 4.d0*(g4*aux2 + g1*aux11)
660  b24 = 4.d0*(g4*aux3 + g1*aux12)
661  b25 = 4.d0*(g4*aux4 + g2*aux10)
662  b26 = 4.d0*(g4*aux5 + g2*aux11)
663  b27 = 4.d0*(g4*aux6 + g2*aux12)
664  b28 = 4.d0*(g4*aux7 + g3*aux10)
665  b29 = 4.d0*(g4*aux8 + g3*aux11)
666  b30 = 4.d0*(g4*aux9 + g3*aux12)
667 
668  e11 = (b1*u1 + b4*u2 + b7*u3 + b10*u4 + b13*u5 + &
669  b16*u6 + b19*u7 + b22*u8 + b25*u9 + b28*u10) * vx6inv
670  e22 = (b2*v1 + b5*v2 + b8*v3 + b11*v4 + b14*v5 + &
671  b17*v6 + b20*v7 + b23*v8 + b26*v9 + b29*v10) * vx6inv
672  e33 = (b3*w1 + b6*w2 + b9*w3 + b12*w4 + b15*w5 + &
673  b18*w6 + b21*w7 + b24*w8 + b27*w9 + b30*w10) * vx6inv
674  e12 = (b2*u1 + b1*v1 + b5*u2 + b4*v2 &
675  + b8*u3 + b7*v3 + b11*u4 + b10*v4 &
676  + b14*u5 + b13*v5 + b17*u6 + b16*v6 &
677  + b20*u7 + b19*v7 + b23*u8 + b22*v8 &
678  + b26*u9 + b25*v9 + b29*u10 + b28*v10) * vx6inv
679  e23 = (b3*v1 + b2*w1 + b6*v2 + b5*w2 &
680  + b9*v3 + b8*w3 + b12*v4 + b11*w4 &
681  + b15*v5 + b14*w5 + b18*v6 + b17*w6 &
682  + b21*v7 + b20*w7 + b24*v8 + b23*w8 &
683  + b27*v9 + b26*w9 + b30*v10 + b29*w10) * vx6inv
684  e13 = (b3*u1 + b1*w1 + b6*u2 + b4*w2 &
685  + b9*u3 + b7*w3 + b12*u4 + b10*w4 &
686  + b15*u5 + b13*w5 + b18*u6 + b16*w6 &
687  + b21*u7 + b19*w7 + b24*u8 + b22*w8 &
688  + b27*u9 + b25*w9 + b30*u10 + b28*w10) * vx6inv
689 
690  s11l(4,i) = e11*ci(1,j) + e22*ci(2,j) + e33*ci(4,j)
691  s22l(4,i) = e11*ci(2,j) + e22*ci(3,j) + e33*ci(5,j)
692  s33l(4,i) = e11*ci(4,j) + e22*ci(5,j) + e33*ci(6,j)
693  s12l(4,i) = e12*ci(7,j)
694  s23l(4,i) = e23*ci(8,j)
695  s13l(4,i) = e13*ci(9,j)
696 
697  r1 = r1 + s11l(4,i)*b1 + s12l(4,i)*b2 + s13l(4,i)*b3
698  r2 = r2 + s22l(4,i)*b2 + s12l(4,i)*b1 + s23l(4,i)*b3
699  r3 = r3 + s33l(4,i)*b3 + s23l(4,i)*b2 + s13l(4,i)*b1
700  r4 = r4 + s11l(4,i)*b4 + s12l(4,i)*b5 + s13l(4,i)*b6
701  r5 = r5 + s22l(4,i)*b5 + s12l(4,i)*b4 + s23l(4,i)*b6
702  r6 = r6 + s33l(4,i)*b6 + s23l(4,i)*b5 + s13l(4,i)*b4
703  r7 = r7 + s11l(4,i)*b7 + s12l(4,i)*b8 + s13l(4,i)*b9
704  r8 = r8 + s22l(4,i)*b8 + s12l(4,i)*b7 + s23l(4,i)*b9
705  r9 = r9 + s33l(4,i)*b9 + s23l(4,i)*b8 + s13l(4,i)*b7
706  r10 = r10 +s11l(4,i)*b10 + s12l(4,i)*b11 + s13l(4,i)*b12
707  r11 = r11 +s22l(4,i)*b11 + s12l(4,i)*b10 + s23l(4,i)*b12
708  r12 = r12 +s33l(4,i)*b12 + s23l(4,i)*b11 + s13l(4,i)*b10
709  r13 = r13 +s11l(4,i)*b13 + s12l(4,i)*b14 + s13l(4,i)*b15
710  r14 = r14 +s22l(4,i)*b14 + s12l(4,i)*b13 + s23l(4,i)*b15
711  r15 = r15 +s33l(4,i)*b15 + s23l(4,i)*b14 + s13l(4,i)*b13
712  r16 = r16 +s11l(4,i)*b16 + s12l(4,i)*b17 + s13l(4,i)*b18
713  r17 = r17 +s22l(4,i)*b17 + s12l(4,i)*b16 + s23l(4,i)*b18
714  r18 = r18 +s33l(4,i)*b18 + s23l(4,i)*b17 + s13l(4,i)*b16
715  r19 = r19 +s11l(4,i)*b19 + s12l(4,i)*b20 + s13l(4,i)*b21
716  r20 = r20 +s22l(4,i)*b20 + s12l(4,i)*b19 + s23l(4,i)*b21
717  r21 = r21 +s33l(4,i)*b21 + s23l(4,i)*b20 + s13l(4,i)*b19
718  r22 = r22 +s11l(4,i)*b22 + s12l(4,i)*b23 + s13l(4,i)*b24
719  r23 = r23 +s22l(4,i)*b23 + s12l(4,i)*b22 + s23l(4,i)*b24
720  r24 = r24 +s33l(4,i)*b24 + s23l(4,i)*b23 + s13l(4,i)*b22
721  r25 = r25 +s11l(4,i)*b25 + s12l(4,i)*b26 + s13l(4,i)*b27
722  r26 = r26 +s22l(4,i)*b26 + s12l(4,i)*b25 + s23l(4,i)*b27
723  r27 = r27 +s33l(4,i)*b27 + s23l(4,i)*b26 + s13l(4,i)*b25
724  r28 = r28 +s11l(4,i)*b28 + s12l(4,i)*b29 + s13l(4,i)*b30
725  r29 = r29 +s22l(4,i)*b29 + s12l(4,i)*b28 + s23l(4,i)*b30
726  r30 = r30 +s33l(4,i)*b30 + s23l(4,i)*b29 + s13l(4,i)*b28
727 
728 ! Wi (i.e. weight) for 4 guass integration is 1/4
729 
730 ! Wi * 1/6 because the volume of a reference tetrahedra in
731 ! volume coordinates is 1/6
732 
733 ! ASSEMBLE THE INTERNAL FORCE VECTOR
734 !
735 ! local node 1
736  r_in(k1n1) = r_in(k1n1) - r1*0.04166666666666667d0
737  r_in(k2n1) = r_in(k2n1) - r2*0.04166666666666667d0
738  r_in(k3n1) = r_in(k3n1) - r3*0.04166666666666667d0
739 ! local node 2
740  r_in(k1n2) = r_in(k1n2) - r4*0.04166666666666667d0
741  r_in(k2n2) = r_in(k2n2) - r5*0.04166666666666667d0
742  r_in(k3n2) = r_in(k3n2) - r6*0.04166666666666667d0
743 ! local node 3
744  r_in(k1n3) = r_in(k1n3) - r7*0.04166666666666667d0
745  r_in(k2n3) = r_in(k2n3) - r8*0.04166666666666667d0
746  r_in(k3n3) = r_in(k3n3) - r9*0.04166666666666667d0
747 ! local node 4
748  r_in(k1n4) = r_in(k1n4) - r10*0.04166666666666667d0
749  r_in(k2n4) = r_in(k2n4) - r11*0.04166666666666667d0
750  r_in(k3n4) = r_in(k3n4) - r12*0.04166666666666667d0
751 ! local node 5
752  r_in(k1n5) = r_in(k1n5) - r13*0.04166666666666667d0
753  r_in(k2n5) = r_in(k2n5) - r14*0.04166666666666667d0
754  r_in(k3n5) = r_in(k3n5) - r15*0.04166666666666667d0
755 ! local node 6
756  r_in(k1n6) = r_in(k1n6) - r16*0.04166666666666667d0
757  r_in(k2n6) = r_in(k2n6) - r17*0.04166666666666667d0
758  r_in(k3n6) = r_in(k3n6) - r18*0.04166666666666667d0
759 ! local node 7
760  r_in(k1n7) = r_in(k1n7) - r19*0.04166666666666667d0
761  r_in(k2n7) = r_in(k2n7) - r20*0.04166666666666667d0
762  r_in(k3n7) = r_in(k3n7) - r21*0.04166666666666667d0
763 ! local node 8
764  r_in(k1n8) = r_in(k1n8) - r22*0.04166666666666667d0
765  r_in(k2n8) = r_in(k2n8) - r23*0.04166666666666667d0
766  r_in(k3n8) = r_in(k3n8) - r24*0.04166666666666667d0
767 ! local node 9
768  r_in(k1n9) = r_in(k1n9) - r25*0.04166666666666667d0
769  r_in(k2n9) = r_in(k2n9) - r26*0.04166666666666667d0
770  r_in(k3n9) = r_in(k3n9) - r27*0.04166666666666667d0
771 ! local node 10
772  r_in(k1n10) = r_in(k1n10) - r28*0.04166666666666667d0
773  r_in(k2n10) = r_in(k2n10) - r29*0.04166666666666667d0
774  r_in(k3n10) = r_in(k3n10) - r30*0.04166666666666667d0
775  ENDDO
776 
777  RETURN
778 END SUBROUTINE v3d10
779 
780 
781 
782 
subroutine v3d10(coor, matcstet, lmcstet, R_in, d, ci, S11l, S22l, S33l, S12l, S23l, S13l, numnp, nstart, nend, numcstet, numat_vol)
Definition: v3d10.f90:53
const NT & d
blockLoc i
Definition: read.cpp:79
j indices j
Definition: Indexing.h:6