OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
czcorp5.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "impl1_c.inc"
#include "scr05_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine czcorp5 (numnod, nel, numelc, vr, npt, tol, ixc, plat, area, area_i, v13, v24, vhi, rlxyz, vqn, vq, x13, x24, y13, y24, mx13, my13, z1, di, db, corel, rlz, ll, l13, l24, idril, diz)

Function/Subroutine Documentation

◆ czcorp5()

subroutine czcorp5 ( integer, intent(in) numnod,
integer, intent(in) nel,
integer, intent(in) numelc,
intent(in) vr,
integer, intent(in) npt,
intent(inout) tol,
integer, dimension(nixc,numelc), intent(in) ixc,
logical, dimension(nel), intent(inout) plat,
intent(inout) area,
intent(inout) area_i,
intent(inout) v13,
intent(inout) v24,
intent(inout) vhi,
intent(inout) rlxyz,
intent(inout) vqn,
intent(inout) vq,
intent(inout) x13,
intent(inout) x24,
intent(inout) y13,
intent(inout) y24,
intent(inout) mx13,
intent(inout) my13,
intent(inout) z1,
intent(inout) di,
intent(inout) db,
intent(inout) corel,
intent(inout) rlz,
intent(inout) ll,
intent(inout) l13,
intent(inout) l24,
integer, intent(in) idril,
intent(inout) diz )

Definition at line 32 of file czcorp5.F.

40 use element_mod , only : nixc
41C-----------------------------------------------
42C I m p l i c i t T y p e s
43C-----------------------------------------------
44#include "implicit_f.inc"
45C-----------------------------------------------
46C G l o b a l P a r a m e t e r s
47C-----------------------------------------------
48#include "mvsiz_p.inc"
49#include "impl1_c.inc"
50#include "scr05_c.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 INTEGER, INTENT(IN) :: NUMNOD,NEL,NUMELC,IDRIL,NPT
55 LOGICAL, DIMENSION(NEL), INTENT(INOUT) :: PLAT
56 INTEGER, DIMENSION(NIXC,NUMELC), INTENT(IN) :: IXC
57 my_real, DIMENSION(3,NUMNOD), INTENT(IN) :: vr
58 my_real, DIMENSION(MVSIZ,3), INTENT(INOUT) :: v13,v24,vhi,diz
59 my_real, DIMENSION(MVSIZ,6), INTENT(INOUT) :: di
60 my_real, DIMENSION(MVSIZ,3,3), INTENT(INOUT) :: vq
61 my_real, DIMENSION(MVSIZ,3,4), INTENT(INOUT) :: vqn,db
62 my_real, DIMENSION(MVSIZ,2,4), INTENT(INOUT) :: rlxyz,corel
63 my_real, DIMENSION(MVSIZ,4), INTENT(INOUT) :: rlz
64 my_real, DIMENSION(NEL), INTENT(INOUT) :: mx13,my13
65 my_real, DIMENSION(NEL), INTENT(INOUT) :: x13,x24,y13,y24
66 my_real, DIMENSION(NEL), INTENT(INOUT) :: area,z1,area_i
67 my_real, DIMENSION(NEL), INTENT(INOUT) :: ll,l13,l24
68 my_real, INTENT(INOUT) :: tol
69C-----------------------------------------------
70C L O C A L V A R I A B L E S
71C-----------------------------------------------
72 INTEGER NNOD,I,J,K
73 parameter(nnod = 4)
74 my_real :: deta,
75 . rrxyz(mvsiz,3,nnod),
76 . z2(mvsiz),a_4,sz,sz1,sz2,sl,c1,
77 . ar(mvsiz,3),btb(6),xx(mvsiz),yy(mvsiz),zz(mvsiz),xy(mvsiz),xz(mvsiz),yz(mvsiz),
78 . abc,xxyz2,yyxz2,zzxy2,d(mvsiz,6),diz1(mvsiz,6),diz2(mvsiz,6),
79 . alr(3),ald(nnod),dbad(3),alrz
80 my_real, DIMENSION(MVSIZ,NNOD) :: ad
81C----------------------------------
82 DO i=1,nel
83 z2(i)=z1(i)*z1(i)
84 IF (z2(i)<ll(i)*tol.OR.npt == 1) THEN
85 z1(i)=zero
86 plat(i)=.true.
87 ELSE
88 plat(i)=.false.
89C--------------------------------------------------
90C WARPING SPECIAL TREATMENT
91C full projection eliminer drilling rotations and rigid rotations
92C--------------------------------------------------------------------------
93 a_4=area(i)*fourth
94C
95C---------- node N ----------
96 sz1=mx13(i)*y24(i)-my13(i)*x24(i)
97 sz2=a_4+sz1
98 sz=z2(i)*l24(i)
99 sl=one/sqrt(sz+sz2*sz2)
100 vqn(i,1,1)=-z1(i)*y24(i)
101 vqn(i,2,1)= z1(i)*x24(i)
102 vqn(i,3,1)= sz2*sl
103 vqn(i,1,3)=-vqn(i,1,1)
104 vqn(i,2,3)=-vqn(i,2,1)
105 vqn(i,1,1)= vqn(i,1,1)*sl
106 vqn(i,2,1)= vqn(i,2,1)*sl
107C
108 sz2=a_4-sz1
109 sl=one/sqrt(sz+sz2*sz2)
110 vqn(i,1,3)= vqn(i,1,3)*sl
111 vqn(i,2,3)= vqn(i,2,3)*sl
112 vqn(i,3,3)= sz2*sl
113C
114 sz1=mx13(i)*y13(i)-my13(i)*x13(i)
115 sz2=a_4+sz1
116 sz=z2(i)*l13(i)
117 sl=one/sqrt(sz+sz2*sz2)
118 vqn(i,1,2)=-z1(i)*y13(i)
119 vqn(i,2,2)= z1(i)*x13(i)
120 vqn(i,3,2)= sz2*sl
121 vqn(i,1,4)=-vqn(i,1,2)
122 vqn(i,2,4)=-vqn(i,2,2)
123 vqn(i,1,2)= vqn(i,1,2)*sl
124 vqn(i,2,2)= vqn(i,2,2)*sl
125C
126 sz2=a_4-sz1
127 sl=one/sqrt(sz+sz2*sz2)
128 vqn(i,1,4)= vqn(i,1,4)*sl
129 vqn(i,2,4)= vqn(i,2,4)*sl
130 vqn(i,3,4)= sz2*sl
131C
132 k=ixc(2,i)
133 rrxyz(i,1,1) =rlxyz(i,1,1)
134 rrxyz(i,2,1) =rlxyz(i,2,1)
135 rrxyz(i,3,1) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)
136 1 +vq(i,3,3)*vr(3,k)
137 k=ixc(3,i)
138 rrxyz(i,1,2) =rlxyz(i,1,2)
139 rrxyz(i,2,2) =rlxyz(i,2,2)
140 rrxyz(i,3,2) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)
141 1 +vq(i,3,3)*vr(3,k)
142 k=ixc(4,i)
143 rrxyz(i,1,3) =rlxyz(i,1,3)
144 rrxyz(i,2,3) =rlxyz(i,2,3)
145 rrxyz(i,3,3) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)
146 1 +vq(i,3,3)*vr(3,k)
147 k=ixc(5,i)
148 rrxyz(i,1,4) =rlxyz(i,1,4)
149 rrxyz(i,2,4) =rlxyz(i,2,4)
150 rrxyz(i,3,4) =vq(i,1,3)*vr(1,k)+vq(i,2,3)*vr(2,k)
151 1 +vq(i,3,3)*vr(3,k)
152 ENDIF
153 ENDDO
154
155 IF (impl_s>0.AND.ikproj<=0) THEN
156C-------------------------------------
157C DRILLING PROJECTION ONLY
158C-------------------------------------
159 DO i=1,nel
160 IF(.NOT.plat(i)) THEN
161 IF (idril>0.0 ) THEN
162 rlz(i,1)=area_i(i)*(vqn(i,1,1)*rrxyz(i,1,1)+
163 1 vqn(i,2,1)*rrxyz(i,2,1)+vqn(i,3,1)*rrxyz(i,3,1))
164 rlz(i,2)=area_i(i)*(vqn(i,1,2)*rrxyz(i,1,2)+
165 1 vqn(i,2,2)*rrxyz(i,2,2)+vqn(i,3,2)*rrxyz(i,3,2))
166 rlz(i,3)=area_i(i)*(vqn(i,1,3)*rrxyz(i,1,3)+
167 1 vqn(i,2,3)*rrxyz(i,2,3)+vqn(i,3,3)*rrxyz(i,3,3))
168 rlz(i,4)=area_i(i)*(vqn(i,1,4)*rrxyz(i,1,4)+
169 1 vqn(i,2,4)*rrxyz(i,2,4)+vqn(i,3,4)*rrxyz(i,3,4))
170 END IF
171 rlxyz(i,1,1)=(1.-vqn(i,1,1)*vqn(i,1,1))*rrxyz(i,1,1)
172 1 -vqn(i,1,1)*vqn(i,2,1) *rrxyz(i,2,1)
173 2 -vqn(i,1,1)*vqn(i,3,1) *rrxyz(i,3,1)
174 rlxyz(i,2,1)=(1.-vqn(i,2,1)*vqn(i,2,1))*rrxyz(i,2,1)
175 1 -vqn(i,1,1)*vqn(i,2,1) *rrxyz(i,1,1)
176 2 -vqn(i,2,1)*vqn(i,3,1) *rrxyz(i,3,1)
177C
178 rlxyz(i,1,2)=(1.-vqn(i,1,2)*vqn(i,1,2))*rrxyz(i,1,2)
179 1 -vqn(i,1,2)*vqn(i,2,2) *rrxyz(i,2,2)
180 2 -vqn(i,1,2)*vqn(i,3,2) *rrxyz(i,3,2)
181 rlxyz(i,2,2)=(1.-vqn(i,2,2)*vqn(i,2,2))*rrxyz(i,2,2)
182 1 -vqn(i,1,2)*vqn(i,2,2) *rrxyz(i,1,2)
183 2 -vqn(i,2,2)*vqn(i,3,2) *rrxyz(i,3,2)
184C
185 rlxyz(i,1,3)=(1.-vqn(i,1,3)*vqn(i,1,3))*rrxyz(i,1,3)
186 1 -vqn(i,1,3)*vqn(i,2,3) *rrxyz(i,2,3)
187 2 -vqn(i,1,3)*vqn(i,3,3) *rrxyz(i,3,3)
188 rlxyz(i,2,3)=(1.-vqn(i,2,3)*vqn(i,2,3))*rrxyz(i,2,3)
189 1 -vqn(i,1,3)*vqn(i,2,3) *rrxyz(i,1,3)
190 2 -vqn(i,2,3)*vqn(i,3,3) *rrxyz(i,3,3)
191C
192 rlxyz(i,1,4)=(1.-vqn(i,1,4)*vqn(i,1,4))*rrxyz(i,1,4)
193 1 -vqn(i,1,4)*vqn(i,2,4) *rrxyz(i,2,4)
194 2 -vqn(i,1,4)*vqn(i,3,4) *rrxyz(i,3,4)
195 rlxyz(i,2,4)=(1.-vqn(i,2,4)*vqn(i,2,4))*rrxyz(i,2,4)
196 1 -vqn(i,1,4)*vqn(i,2,4) *rrxyz(i,1,4)
197 2 -vqn(i,2,4)*vqn(i,3,4) *rrxyz(i,3,4)
198 ENDIF ! plat
199 ENDDO
200 ELSE
201C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
202C-----------------------full projection------------------
203 DO i=1,nel
204 IF(.NOT.plat(i)) THEN
205 ar(i,1)=-z1(i)*vhi(i,2)+y13(i)*v13(i,3)+y24(i)*v24(i,3)
206 1 +my13(i)*vhi(i,3)
207 2 +rrxyz(i,1,1)+rrxyz(i,1,2)+rrxyz(i,1,3)+rrxyz(i,1,4)
208 ar(i,2)= z1(i)*vhi(i,1)-x13(i)*v13(i,3)-x24(i)*v24(i,3)
209 1 -mx13(i)*vhi(i,3)
210 2 +rrxyz(i,2,1)+rrxyz(i,2,2)+rrxyz(i,2,3)+rrxyz(i,2,4)
211 ar(i,3)= x13(i)*v13(i,2)+x24(i)*v24(i,2)+mx13(i)*vhi(i,2)
212 1 -y13(i)*v13(i,1)-y24(i)*v24(i,1)-my13(i)*vhi(i,1)
213 2 +rrxyz(i,3,1)+rrxyz(i,3,2)+rrxyz(i,3,3)+rrxyz(i,3,4)
214 ad(i,1)= vqn(i,1,1)*rrxyz(i,1,1)+vqn(i,2,1)*rrxyz(i,2,1)+
215 1 vqn(i,3,1)*rrxyz(i,3,1)
216 ad(i,2)= vqn(i,1,2)*rrxyz(i,1,2)+vqn(i,2,2)*rrxyz(i,2,2)+
217 1 vqn(i,3,2)*rrxyz(i,3,2)
218 ad(i,3)= vqn(i,1,3)*rrxyz(i,1,3)+vqn(i,2,3)*rrxyz(i,2,3)+
219 1 vqn(i,3,3)*rrxyz(i,3,3)
220 ad(i,4)= vqn(i,1,4)*rrxyz(i,1,4)+vqn(i,2,4)*rrxyz(i,2,4)+
221 1 vqn(i,3,4)*rrxyz(i,3,4)
222C
223C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
224 xx(i) = corel(i,1,1)*corel(i,1,1)+corel(i,1,2)*corel(i,1,2)
225 1 +corel(i,1,3)*corel(i,1,3)+corel(i,1,4)*corel(i,1,4)
226 yy(i) = corel(i,2,1)*corel(i,2,1)+corel(i,2,2)*corel(i,2,2)
227 1 +corel(i,2,3)*corel(i,2,3)+corel(i,2,4)*corel(i,2,4)
228 xy(i) = corel(i,1,1)*corel(i,2,1)+corel(i,1,2)*corel(i,2,2)
229 1 +corel(i,1,3)*corel(i,2,3)+corel(i,1,4)*corel(i,2,4)
230 xz(i) =(corel(i,1,1)-corel(i,1,2)+corel(i,1,3)-corel(i,1,4))
231 . *z1(i)
232 yz(i) =(corel(i,2,1)-corel(i,2,2)+corel(i,2,3)-corel(i,2,4))
233 . *z1(i)
234 zz(i) = four*z2(i)
235C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
236 btb(1)= vqn(i,1,1)*vqn(i,1,1)+vqn(i,1,2)*vqn(i,1,2)
237 1 +vqn(i,1,3)*vqn(i,1,3)+vqn(i,1,4)*vqn(i,1,4)
238 btb(2)= vqn(i,2,1)*vqn(i,2,1)+vqn(i,2,2)*vqn(i,2,2)
239 1 +vqn(i,2,3)*vqn(i,2,3)+vqn(i,2,4)*vqn(i,2,4)
240 btb(3)= vqn(i,3,1)*vqn(i,3,1)+vqn(i,3,2)*vqn(i,3,2)
241 1 +vqn(i,3,3)*vqn(i,3,3)+vqn(i,3,4)*vqn(i,3,4)
242 btb(4)= vqn(i,1,1)*vqn(i,2,1)+vqn(i,1,2)*vqn(i,2,2)
243 1 +vqn(i,1,3)*vqn(i,2,3)+vqn(i,1,4)*vqn(i,2,4)
244 btb(5)= vqn(i,1,1)*vqn(i,3,1)+vqn(i,1,2)*vqn(i,3,2)
245 1 +vqn(i,1,3)*vqn(i,3,3)+vqn(i,1,4)*vqn(i,3,4)
246 btb(6)= vqn(i,2,1)*vqn(i,3,1)+vqn(i,2,2)*vqn(i,3,2)
247 1 +vqn(i,2,3)*vqn(i,3,3)+vqn(i,2,4)*vqn(i,3,4)
248 d(i,1)= yy(i)+zz(i)+four-btb(1)
249 d(i,2)= xx(i)+zz(i)+four-btb(2)
250 d(i,3)= xx(i)+yy(i)+four-btb(3)
251 d(i,4)= -xy(i)-btb(4)
252 d(i,5)= -xz(i)-btb(5)
253 d(i,6)= -yz(i)-btb(6)
254 ENDIF
255 ENDDO
256 IF(iresp == 1)THEN
257 CALL a3invdp_v(d,diz2,nel,plat)
258 DO i=1,nel
259 IF(.NOT.plat(i)) THEN
260 di(i,1) = diz2(i,1)
261 di(i,2) = diz2(i,2)
262 di(i,3) = diz2(i,3)
263 di(i,4) = diz2(i,4)
264 di(i,5) = diz2(i,5)
265 di(i,6) = diz2(i,6)
266 ENDIF
267 ENDDO
268 ELSE
269 DO i=1,nel
270 IF(.NOT.plat(i)) THEN
271 abc = d(i,1)*d(i,2)*d(i,3)
272 xxyz2 = d(i,1)*d(i,6)*d(i,6)
273 yyxz2 = d(i,2)*d(i,5)*d(i,5)
274 zzxy2 = d(i,3)*d(i,4)*d(i,4)
275 deta = abs(abc+two*d(i,4)*d(i,5)*d(i,6)-xxyz2-yyxz2-zzxy2)
276 deta = one/max(deta,em20)
277 di(i,1) = (abc-xxyz2)*deta/max(d(i,1),em20)
278 di(i,2) = (abc-yyxz2)*deta/max(d(i,2),em20)
279 di(i,3) = (abc-zzxy2)*deta/max(d(i,3),em20)
280 di(i,4) = (d(i,5)*d(i,6)-d(i,4)*d(i,3))*deta
281 di(i,5) = (d(i,6)*d(i,4)-d(i,5)*d(i,2))*deta
282 di(i,6) = (d(i,4)*d(i,5)-d(i,6)*d(i,1))*deta
283 ENDIF
284 ENDDO
285 END IF !(IRESP == 1)THEN
286 DO j=1,nnod
287 DO i=1,nel
288 IF(.NOT.plat(i)) THEN
289 db(i,1,j)= di(i,1)*vqn(i,1,j)+di(i,4)*vqn(i,2,j)
290 1 +di(i,5)*vqn(i,3,j)
291 db(i,2,j)= di(i,4)*vqn(i,1,j)+di(i,2)*vqn(i,2,j)
292 1 +di(i,6)*vqn(i,3,j)
293 db(i,3,j)= di(i,5)*vqn(i,1,j)+di(i,6)*vqn(i,2,j)
294 1 +di(i,3)*vqn(i,3,j)
295 ENDIF
296 ENDDO
297 ENDDO
298C
299 DO i=1,nel
300 IF(.NOT.plat(i)) THEN
301 dbad(1)= db(i,1,1)*ad(i,1)+db(i,1,2)*ad(i,2)
302 1 +db(i,1,3)*ad(i,3)+db(i,1,4)*ad(i,4)
303 dbad(2)= db(i,2,1)*ad(i,1)+db(i,2,2)*ad(i,2)
304 1 +db(i,2,3)*ad(i,3)+db(i,2,4)*ad(i,4)
305 dbad(3)= db(i,3,1)*ad(i,1)+db(i,3,2)*ad(i,2)
306 1 +db(i,3,3)*ad(i,3)+db(i,3,4)*ad(i,4)
307C
308 alr(1) =di(i,1)*ar(i,1)+di(i,4)*ar(i,2)+di(i,5)*ar(i,3)-dbad(1)
309 alr(2) =di(i,4)*ar(i,1)+di(i,2)*ar(i,2)+di(i,6)*ar(i,3)-dbad(2)
310 alr(3) =di(i,5)*ar(i,1)+di(i,6)*ar(i,2)+di(i,3)*ar(i,3)-dbad(3)
311C
312 ald(1) = ad(i,1)+vqn(i,1,1)*dbad(1)+vqn(i,2,1)*dbad(2)
313 1 +vqn(i,3,1)*dbad(3)
314 2 -db(i,1,1)*ar(i,1)-db(i,2,1)*ar(i,2)-db(i,3,1)*ar(i,3)
315 ald(2) = ad(i,2)+vqn(i,1,2)*dbad(1)+vqn(i,2,2)*dbad(2)
316 1 +vqn(i,3,2)*dbad(3)
317 2 -db(i,1,2)*ar(i,1)-db(i,2,2)*ar(i,2)-db(i,3,2)*ar(i,3)
318 ald(3) = ad(i,3)+vqn(i,1,3)*dbad(1)+vqn(i,2,3)*dbad(2)
319 1 +vqn(i,3,3)*dbad(3)
320 2 -db(i,1,3)*ar(i,1)-db(i,2,3)*ar(i,2)-db(i,3,3)*ar(i,3)
321 ald(4) = ad(i,4)+vqn(i,1,4)*dbad(1)+vqn(i,2,4)*dbad(2)
322 1 +vqn(i,3,4)*dbad(3)
323 2 -db(i,1,4)*ar(i,1)-db(i,2,4)*ar(i,2)-db(i,3,4)*ar(i,3)
324C
325 c1 = two*alr(3)
326 v13(i,1)= v13(i,1)+c1*y13(i)
327 v24(i,1)= v24(i,1)+c1*y24(i)
328 vhi(i,1)= vhi(i,1)+four*(alr(3)*my13(i)-z1(i)*alr(2))
329 v13(i,2)= v13(i,2)-c1*x13(i)
330 v24(i,2)= v24(i,2)-c1*x24(i)
331 vhi(i,2)= vhi(i,2)-four*(alr(3)*mx13(i)-z1(i)*alr(1))
332 v13(i,3)= v13(i,3)-two*(y13(i)*alr(1)-x13(i)*alr(2))
333 v24(i,3)= v24(i,3)-two*(y24(i)*alr(1)-x24(i)*alr(2))
334 vhi(i,3)= vhi(i,3)+four*(mx13(i)*alr(2)-my13(i)*alr(1))
335 rlxyz(i,1,1)= rrxyz(i,1,1)-alr(1)-vqn(i,1,1)*ald(1)
336 rlxyz(i,1,2)= rrxyz(i,1,2)-alr(1)-vqn(i,1,2)*ald(2)
337 rlxyz(i,1,3)= rrxyz(i,1,3)-alr(1)-vqn(i,1,3)*ald(3)
338 rlxyz(i,1,4)= rrxyz(i,1,4)-alr(1)-vqn(i,1,4)*ald(4)
339C
340 rlxyz(i,2,1)= rrxyz(i,2,1)-alr(2)-vqn(i,2,1)*ald(1)
341 rlxyz(i,2,2)= rrxyz(i,2,2)-alr(2)-vqn(i,2,2)*ald(2)
342 rlxyz(i,2,3)= rrxyz(i,2,3)-alr(2)-vqn(i,2,3)*ald(3)
343 rlxyz(i,2,4)= rrxyz(i,2,4)-alr(2)-vqn(i,2,4)*ald(4)
344 ENDIF
345 ENDDO
346 IF (idril>0) THEN
347 DO i=1,nel
348 IF(.NOT.plat(i)) THEN
349 d(i,1)= yy(i)+zz(i)+four
350 d(i,2)= xx(i)+zz(i)+four
351 d(i,3)= xx(i)+yy(i)+four
352 d(i,4)= -xy(i)
353 d(i,5)= -xz(i)
354 d(i,6)= -yz(i)
355 ENDIF
356 ENDDO
357 IF(iresp == 1)THEN
358 CALL a3invdp_v(d,diz1,nel,plat)
359 DO i=1,nel
360 IF(.NOT.plat(i)) THEN
361 diz(i,3) = diz1(i,3)
362 diz(i,1) = diz1(i,5)
363 diz(i,2) = diz1(i,6)
364 ENDIF
365 ENDDO
366 ELSE
367 DO i=1,nel
368 IF(.NOT.plat(i)) THEN
369 abc = d(i,1)*d(i,2)*d(i,3)
370 xxyz2 = d(i,1)*d(i,6)*d(i,6)
371 yyxz2 = d(i,2)*d(i,5)*d(i,5)
372 zzxy2 = d(i,3)*d(i,4)*d(i,4)
373 deta = abs(abc+two*d(i,4)*d(i,5)*d(i,6)-xxyz2-yyxz2-zzxy2)
374 deta = one/max(deta,em20)
375 diz(i,3) = (abc-zzxy2)*deta/max(d(i,3),em20)
376 diz(i,1) = (d(i,6)*d(i,4)-d(i,5)*d(i,2))*deta
377 diz(i,2) = (d(i,4)*d(i,5)-d(i,6)*d(i,1))*deta
378 ENDIF
379 ENDDO
380 END IF !(IRESP == 1)THEN
381C
382 DO i=1,nel
383 IF(.NOT.plat(i)) THEN
384 alrz=area_i(i)*(diz(i,1)*ar(i,1)+diz(i,2)*ar(i,2)+diz(i,3)*ar(i,3))
385 rlz(i,1)=rlz(i,1)-alrz
386 rlz(i,2)=rlz(i,2)-alrz
387 rlz(i,3)=rlz(i,3)-alrz
388 rlz(i,4)=rlz(i,4)-alrz
389 ENDIF
390 ENDDO
391 END IF !IF (IDRIL>0) THEN
392C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
393 END IF !((IMPL_S>0.AND.IKPROJ<0).OR.IDRIL>0) THEN
394
395 RETURN
subroutine a3invdp_v(d, di, nel, plat)
Definition a3invdp_v.F:29
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)
#define max(a, b)
Definition macros.h:21