31
32
33
34#include "implicit_f.inc"
35
36
37
38#include "mvsiz_p.inc"
39
40
41
42 INTEGER NEL,NPG
43
45 . vxloc(mvsiz,8),vyloc(mvsiz,8),vzloc(mvsiz,8),hh(4,npg),
46 . dzx(mvsiz,npg),dyz(mvsiz,npg),dzz(mvsiz,npg)
47
48
49
50 INTEGER IEL,IPG
51
53 . pg,p1,p2,p3,dxinf,dyinf,dzinf,dxsup,dysup,dzsup
54 DATA pg/0.5773502691896257645091488/
55
56 p1 = (one + pg)*(one - pg) * fourth
57 p2 = (one + pg)*(one + pg) * fourth
58 p3 = (one - pg)*(one - pg) * fourth
59
60 hh(1,1) = p2
61 hh(2,1) = p1
62 hh(3,1) = p3
63 hh(4,1) = p1
64
65 hh(1,2) = p1
66 hh(2,2) = p2
67 hh(3,2) = p1
68 hh(4,2) = p3
69
70 hh(1,3) = p3
71 hh(2,3) = p1
72 hh(3,3) = p2
73 hh(4,3) = p1
74
75 hh(1,4) = p1
76 hh(2,4) = p3
77 hh(3,4) = p1
78 hh(4,4) = p2
79
80 DO ipg = 1,npg
81 DO iel = 1,nel
82 dxsup = hh(1,ipg)*vxloc(iel,5)+hh(2,ipg)*vxloc(iel,6)
83 . + hh(3,ipg)*vxloc(iel,7)+hh(4,ipg)*vxloc(iel,8)
84 dxinf = hh(1,ipg)*vxloc(iel,1)+hh(2,ipg)*vxloc(iel,2)
85 . + hh(3,ipg)*vxloc(iel,3)+hh(4,ipg)*vxloc(iel,4)
86 dysup = hh(1,ipg)*vyloc(iel,5)+hh(2,ipg)*vyloc(iel,6)
87 . + hh(3,ipg)*vyloc(iel,7)+hh(4,ipg)*vyloc(iel,8)
88 dyinf = hh(1,ipg)*vyloc(iel,1)+hh(2,ipg)*vyloc(iel,2)
89 . + hh(3,ipg)*vyloc(iel,3)+hh(4,ipg)*vyloc(iel,4)
90 dzsup = hh(1,ipg)*vzloc(iel,5)+hh(2,ipg)*vzloc(iel,6)
91 . + hh(3,ipg)*vzloc(iel,7)+hh(4,ipg)*vzloc(iel,8)
92 dzinf = hh(1,ipg)*vzloc(iel,1)+hh(2,ipg)*vzloc(iel,2)
93 . + hh(3,ipg)*vzloc(iel,3)+hh(4,ipg)*vzloc(iel,4)
94
95 dzz(iel,ipg) = dzsup - dzinf
96 dyz(iel,ipg) = dysup - dyinf
97 dzx(iel,ipg) = dxsup - dxinf
98 ENDDO
99 ENDDO
100
101 RETURN