34
35
36
37#include "implicit_f.inc"
38
39
40
41#include "mvsiz_p.inc"
42
43
44
45#include "com01_c.inc"
46#include "com08_c.inc"
47
48
49
50 INTEGER, INTENT(IN) :: NEL
51 INTEGER, INTENT(IN) :: JCVT
52
54 . vy1(*),vy2(*),vy3(*),vy4(*),
55 . vz1(*),vz2(*),vz3(*),vz4(*),
56 . pyc1(*),pyc2(*),pzc1(*),pzc2(*),aire(*),
57 . eyz(*),exx(*),dsv(*)
58 INTEGER ICP
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 INTEGER I
77 . vy13(mvsiz),vy24(mvsiz),vz13(mvsiz),vz24(mvsiz),
78 . dyz(mvsiz),dzy(mvsiz),dyy(mvsiz),dzz(mvsiz)
79
80
81
82 DO i=1,nel
83 vy13(i) = vy1(i)-vy3(i)
84 vy24(i) = vy2(i)-vy4(i)
85 vz13(i) = vz1(i)-vz3(i)
86 vz24(i) = vz2(i)-vz4(i)
87 ENDDO
88
89
90 DO i=1,nel
91 IF(aire(i)>zero) THEN
92 dzy(i) = pyc1(i)*vz13(i)+pyc2(i)*vz24(i)
93 dyz(i) = pzc1(i)*vy13(i)+pzc2(i)*vy24(i)
94 dyy(i) = pyc1(i)*vy13(i)+pyc2(i)*vy24(i)
95 dzz(i) = pzc1(i)*vz13(i)+pzc2(i)*vz24(i)
96 ELSE
97 dzy(i) = zero
98 dyz(i) = zero
99 dyy(i) = zero
100 dzz(i) = zero
101 ENDIF
102 ENDDO
103 IF(jcvt==0) THEN
104 DO i=1,nel
105
106 eyz(i) = dzy(i)+dyz(i)
107 ENDDO
108 ELSE
109 DO i=1,nel
110
111 eyz(i) = dzy(i)+dyz(i)-dt1*(dyy(i)*dyz(i)+dzy(i)*dzz(i))
112 ENDDO
113 ENDIF
114
115
116 IF(n2d/=1) THEN
117 DO i=1,nel
118 exx(i) = zero
119 ENDDO
120 ENDIF
121
122
123 IF(icp>0) THEN
124 DO i=1,nel
125 dsv(i) = dyy(i)+dzz(i)+exx(i)
126 ENDDO
127 ENDIF
128
129 RETURN