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 . vy,vz
80
81
82
83 DO i=1,nel
84 vy13(i) = vy1(i)-vy3(i)
85 vy24(i) = vy2(i)-vy4(i)
86 vz13(i) = vz1(i)-vz3(i)
87 vz24(i) = vz2(i)-vz4(i)
88 ENDDO
89
90
91 DO i=1,nel
92 IF(aire(i)>zero) THEN
93 dzy(i) = pyc1(i)*vz13(i)+pyc2(i)*vz24(i)
94 dyz(i) = pzc1(i)*vy13(i)+pzc2(i)*vy24(i)
95 dyy(i) = pyc1(i)*vy13(i)+pyc2(i)*vy24(i)
96 dzz(i) = pzc1(i)*vz13(i)+pzc2(i)*vz24(i)
97 ELSE
98 dzy(i) = zero
99 dyz(i) = zero
100 dyy(i) = zero
101 dzz(i) = zero
102 ENDIF
103 ENDDO
104 IF(jcvt==0) THEN
105 DO i=1,nel
106
107 eyz(i) = dzy(i)+dyz(i)
108 ENDDO
109 ELSE
110 DO i=1,nel
111
112 eyz(i) = dzy(i)+dyz(i)-dt1*(dyy(i)*dyz(i)+dzy(i)*dzz(i))
113 ENDDO
114 ENDIF
115
116
117 IF(n2d/=1) THEN
118 DO i=1,nel
119 exx(i) = zero
120 ENDDO
121 ENDIF
122
123
124 IF(icp>0) THEN
125 DO i=1,nel
126 dsv(i) = dyy(i)+dzz(i)+exx(i)
127 ENDDO
128 ENDIF
129
130 RETURN