51 1 JFT ,JLT ,NFT ,NPT ,MTN ,
52 2 ITHK ,NCYCLE ,ISTRAIN,IPLA ,PM ,
53 3 GEO ,IXC ,ELBUF_STR ,BUFMAT ,
54 4 OFFSET ,INDXOF ,ETAG , IDDL ,NDOF ,
55 5 K_DIAG ,K_LT , IADK ,JDIK ,
56 6 IHBE ,THKE ,ISMSTR ,X ,IKGEO ,
57 7 IPM ,IGEO ,IEXPAN ,IPARG ,ISUBSTACK,
58 8 STACK ,DRAPE_SH4N , INDX_DRAPE,SEDRAPE,NUMEL_DRAPE)
65 use element_mod ,
only : nixc
69#include "implicit_f.inc"
83 INTEGER JFT ,JLT ,NFT ,NPT ,
84 . MTN ,ITHK ,NCYCLE,ISUBSTACK,
85 . ISTRAIN ,IPLA ,OFFSET,IHBE ,ISMSTR,IKGEO,
86 INTEGER ,
INTENT(IN) :: SEDRAPE,NUMEL_DRAPE
87 INTEGER IXC(NIXC,*),IGEO(NPROPGI,*),IPM(*),IPARG(*)
88 INTEGER INDXOF(MVSIZ),
89 . ETAG(*),IDDL(*) ,NDOF(*) ,IADK(*) ,JDIK(*)
90 INTEGER,
DIMENSION(SEDRAPE) :: INDX_DRAPE
94 . pm(npropm,*),geo(npropg,*),bufmat(*),x(3,*),thke(*),
95 . off(mvsiz),k_diag(*) ,k_lt(*)
96 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
97 TYPE (STACK_PLY) :: STACK
98 TYPE (DRAPE_) :: DRAPE_SH4N(NUMELC_DRAPE)
135 . I, J,J1,J2, NEL, NPLAT,IPLAT(MVSIZ), NLAY,L_DIRA,L_DIRB,
137 INTEGER MAT(MVSIZ), PID(MVSIZ), NGL(MVSIZ),IORTH,IGTYP,IUN
139 . X13(MVSIZ), X24(MVSIZ), Y13(MVSIZ), Y24(MVSIZ),
140 . MX13(MVSIZ), MX23(MVSIZ), MX34(MVSIZ),
141 . MY13(MVSIZ), MY23(MVSIZ), MY34(MVSIZ), Z1(MVSIZ),
142 . px1(mvsiz), px2(mvsiz), py1(mvsiz),py2(mvsiz),
143 . sx(mvsiz), sy(mvsiz), rx(mvsiz),ry(mvsiz),
144 . sx2(mvsiz), sy2(mvsiz), rx2(mvsiz),ry2(mvsiz),
145 . rhx(mvsiz,4),rhy(mvsiz,4),shx(mvsiz,4),shy(mvsiz,4),
146 . ph1(mvsiz),ph2(mvsiz),hxx(mvsiz),hyy(mvsiz),hxy(mvsiz)
148 . vq(mvsiz,9),
area(mvsiz), vqn(mvsiz,12),thk0(mvsiz),vol(mvsiz),
149 . a_i(mvsiz), thk2(mvsiz),hm(mvsiz,4),hf(mvsiz,4),hc(mvsiz,2),
150 . hz(mvsiz),dhz(mvsiz),hmor(mvsiz,2),hfor(mvsiz,2),
151 . gs(mvsiz),hmfor(mvsiz,6)
155 . k11(9,mvsiz),k12(9,mvsiz),k13(9,mvsiz),k14(9,mvsiz),
156 . k22(9,mvsiz),k23(9,mvsiz),k24(9,mvsiz),k33(9,mvsiz),
157 . m11(9,mvsiz),m12(9,mvsiz),m13(9,mvsiz),m14(9,mvsiz),
158 . m22(9,mvsiz),m23(9,mvsiz),m24(9,mvsiz),m33(9,mvsiz),
159 . mf11(9,mvsiz),mf12(9,mvsiz),mf13(9,mvsiz),mf14(9,mvsiz),
160 . mf22(9,mvsiz),mf23(9,mvsiz),mf24(9,mvsiz),mf33(9,mvsiz),
161 . fm12(9,mvsiz),fm13(9,mvsiz),fm14(9,mvsiz),
162 . fm23(9,mvsiz),fm24(9,mvsiz),fm34(9,mvsiz),
163 . k34(9,mvsiz),k44(9,mvsiz),m34(9,mvsiz),m44(9,mvsiz),
164 . mf34(9,mvsiz),mf44(9,mvsiz)
166 . prx(4,mvsiz),pry(4,mvsiz),prxy(4,mvsiz),phkrx(4,mvsiz),
167 . phkry(4,mvsiz),phkrxy(4,mvsiz),pherx(4,mvsiz),phery(4,mvsiz),
168 . pherxy(4,mvsiz),prz(4,mvsiz),phkrz(4,mvsiz),pherz(4,mvsiz),
169 . phkx(mvsiz),phky(mvsiz),phex(mvsiz),phey(mvsiz)
171 . ke11(36,mvsiz),ke22(36,mvsiz),ke33(36,mvsiz),ke44(36,mvsiz),
172 . ke12(36,mvsiz),ke13(36,mvsiz),ke14(36,mvsiz),ke23(36,mvsiz),
173 . ke24(36,mvsiz),ke34(36,mvsiz)
176 .
DIMENSION(:) ,
POINTER :: dir_a, dir_b
178 .
ALLOCATABLE,
DIMENSION(:),
TARGET :: dira,dirb
179 TYPE(g_bufel_) ,
POINTER :: GBUF
186 gbuf => elbuf_str%GBUF
190 igtyp = igeo(11,ixc(6,1))
191 irep = igeo(6 ,ixc(6,1))
192 nlay = elbuf_str%NLAY
193 l_dira = elbuf_str%BUFLY(1)%LY_DIRA
194 l_dirb = elbuf_str%BUFLY(1)%LY_DIRB
195 ALLOCATE(dira(nlay*nel*l_dira))
196 ALLOCATE(dirb(nlay*nel*l_dirb))
199 dir_a => dira(1:nlay*nel*l_dira)
200 dir_b => dirb(1:nlay*nel*l_dirb)
203 j1 = 1+(j-1)*l_dira*nel
205 dira(j1:j2) = elbuf_str%BUFLY(j)%DIRA(1:nel*l_dira)
209 CALL czcoork3(jft ,jlt ,x ,ixc ,pm ,
210 1 gbuf%OFF,
area,a_i,vqn ,vq ,
211 2 x13 ,x24 ,y13 ,y24 ,mx13,
212 3 mx23,mx34 ,my13 ,my23 ,my34,
214 5 elbuf_str,gbuf%SMSTR,nlay,
216 7 dir_a,dir_b,pid,mat,ngl,nplat,iplat ,
217 8 corelv,off,thke,nel)
218 IF (ikproj>0.OR.idril>0)
THEN
251 CALL cmatc3(jft ,jlt ,pm ,mat ,geo ,
252 1 pid ,
area ,thk0 ,thk2 ,gbuf%THK ,
253 2 thke ,vol ,mtn ,npt ,ithk ,
254 3 hm ,hf ,hc ,hz ,igtyp ,
255 4 iorth ,hmor ,hfor ,dir_a ,igeo ,
256 5 idril ,ihbe ,hmfor ,gs ,isubstack,
257 6 stack ,elbuf_str ,nlay ,drape_sh4n ,nft ,
258 7 nel ,indx_drape,sedrape,numel_drape)
260 CALL cmatc3(jft ,jlt ,pm ,mat ,geo ,
261 1 pid ,
area ,thk0 ,thk2 ,gbuf%THK ,
262 2 thke ,vol ,mtn ,npt ,ithk ,
263 3 hm ,hf ,hc ,hz ,igtyp ,
264 4 iorth ,hmor ,hfor ,dira ,igeo ,
265 5 idril ,ihbe ,hmfor ,gs ,isubstack,
266 6 stack ,elbuf_str ,nlay ,drape_sh4n ,nft ,
267 7 nel ,indx_drape,sedrape,numel_drape)
273 CALL cmatip3(jft ,jlt ,pm ,mat ,pid ,
274 1 mtn ,npt ,hm ,hf ,iorth ,
275 2 hmor ,hfor ,hmfor ,iun )
277 IF (iorth >0 .AND.ikproj<=0 .AND.idril==0 )
THEN
303 2 x24 ,y13 ,y24 ,mx13 ,mx23 ,
304 3 mx34 ,my13 ,my23 ,my34 ,z1 ,
305 4 px1 ,px2 ,py1 ,py2 ,rx ,
307 6 sx2 ,sy2 ,rhx ,rhy ,shx ,
308 7 shy ,ph1 ,ph2 ,hxx ,hyy ,
316 CALL czlkec3(jft ,jlt ,vol ,thk0 ,thk2 ,
317 2 hm ,hf ,hz ,a_i ,z1 ,
318 3 px1 ,px2 ,py1 ,py2 ,nplat,
320 4 k11,k12,k13,k14,k22,k23,k24,k33,k34,k44,
321 5 m11,m12,m13,m14,m22,m23,m24,m33,m34,m44,
322 6 mf11,mf12,mf13,mf14,mf22,mf23,mf24,mf33,
323 7 mf34,mf44,fm12,fm13,fm14,fm23,fm24,fm34,
324 8 iorth,hmor,hfor,hmfor)
328 CALL czlkect3(jft ,jlt ,vol ,hc ,rx ,
329 4 ry ,sx ,sy ,rx2 ,ry2 ,
330 5 sx2 ,sy2 ,rhx ,rhy ,shx ,
331 6 shy ,gs ,nplat ,iplat,
332 9 k11,k12,k13,k14,k22,k23,k24,k33,k34,k44,
333 a m11,m12,m13,m14,m22,m23,m24,m33,m34,m44,
334 b mf11,mf12,mf13,mf14,mf22,mf23,mf24,mf33,
335 c mf34,mf44,fm12,fm13,fm14,fm23,fm24,fm34)
338 1 x24 ,y13 ,y24 ,mx13 ,mx23 ,
339 2 mx34 ,my13 ,my23 ,my34 ,z1 ,
340 3 rx ,ry ,sx ,sy ,prx ,
341 4 pry ,prxy ,prz ,phkrx,phkry,
342 5 phkrxy,pherx,phery,pherxy,
343 6 phkrz,pherz ,phkx ,phky ,phex ,
345 CALL czlkecr3(jft ,jlt ,vol ,thk0 ,thk2 ,
346 2 hm ,hf ,hz ,a_i ,z1 ,
347 3 px1 ,px2 ,py1 ,py2 ,
348 6 k11,k12,k13,k14,k22,k23,k24,k33,k34,k44,
349 7 m11,m12,m13,m14,m22,m23,m24,m33,m34,m44,
350 8 mf11,mf12,mf13,mf14,mf22,mf23,mf24,mf33,
351 9 mf34,mf44,fm12,fm13,fm14,fm23,fm24,fm34,
352 a iorth,hmor,hfor ,iplat,dhz ,
353 4 prx ,pry ,prxy ,prz ,hmfor,nplat)
359 IF ( iorth >0 .OR. mtn == 27)
THEN
362 CALL cmatch3(jft ,jlt ,pm ,mat ,geo ,
363 1 pid ,mtn ,idril ,igeo ,hm ,
366 CALL czlken3(jft ,jlt ,vol ,thk0 ,thk2 ,
367 2 hm ,hz ,a_i ,px1 ,px2 ,
368 3 py1 ,py2 ,hxx ,hyy ,hxy ,
369 4 ph1 ,ph2 ,z1 ,nplat,iplat,dhz ,
370 5 k11,k12,k13,k14,k22,k23,k24,k33,k34,k44,
371 6 m11,m12,m13,m14,m22,m23,m24,m33,m34,m44,
372 7 mf11,mf12,mf13,mf14,mf22,mf23,mf24,mf33,
373 8 mf34,mf44,fm12,fm13,fm14,fm23,fm24,fm34,
376 CALL czlkenr3(jft ,jlt ,vol ,thk0 ,thk2 ,
377 2 hm ,hz ,a_i ,px1 ,px2 ,
378 3 py1 ,py2 ,hxx ,hyy ,hxy ,
379 4 ph1 ,ph2 ,z1 ,nplat,iplat,dhz ,
380 5 k11,k12,k13,k14,k22,k23,k24,k33,k34,k44,
381 6 m11,m12,m13,m14,m22,m23,m24,m33,m34,m44,
382 7 mf11,mf12,mf13,mf14,mf22,mf23,mf24,mf33,
383 8 mf34,mf44,fm12,fm13,fm14,fm23,fm24,fm34,
384 9 phkrx,phkry,phkrxy,pherx,phery,pherxy,
385 a phkrz,pherz,phkx ,phky ,phex ,phey )
388 .
CALL czlkecg3(jft ,jlt ,vol ,thk0 ,thk2 ,
389 1 px1 ,px2 ,py1 ,py2 ,rx ,
390 2 ry ,sx ,sy ,rx2 ,ry2 ,
391 3 sx2 ,sy2 ,rhx ,rhy ,shx ,
392 4 shy ,nplat ,iplat,gbuf%FOR,gbuf%MOM,
393 5 k11,k12,k13,k14,k22,k23,k24,k33,k34,k44,
394 6 m11,m12,m13,m14,m22,m23,m24,m33,m34,m44,
395 7 mf11,mf12,mf13,mf14,mf22,mf23,mf24,mf33,
396 8 mf34,mf44,fm12,fm13,fm14,fm23,fm24,fm34,
402 1 jft ,jlt ,vqn ,vq ,nplat,
404 3 k11,k12,k13,k14,k22,k23,k24,k33,k34,k44,
405 4 m11,m12,m13,m14,m22,m23,m24,m33,m34,m44,
406 5 mf11,mf12,mf13,mf14,mf22,mf23,mf24,mf33,
407 6 mf34,mf44,fm12,fm13,fm14,fm23,fm24,fm34,
408 7 ke11,ke22,ke33,ke44,ke12,ke13,ke14,ke23,
409 8 ke24,ke34,corelv,z1 ,idril ,iorth)
412 1 jft, jlt, ixc, etag, off)
415 1 ixc ,nel ,iddl ,ndof ,k_diag ,
416 2 k_lt ,iadk ,jdik ,ke11 ,ke12 ,
417 3 ke13 ,ke14 ,ke22 ,ke23 ,ke24 ,
418 5 ke33 ,ke34 ,ke44 ,off )
429 8 KE11 ,KE22 ,KE33 ,KE44 ,
430 8 KE12 ,KE13 ,KE14 ,KE23 ,
431 8 KE24 ,KE34 ,UI ,RI ,
436#include "implicit_f.inc"
440#include "mvsiz_p.inc"
446 . UI(3,4,MVSIZ),RI(3,4,MVSIZ),FI(3,4,MVSIZ),MI(3,4,MVSIZ)
448 . KE11(36,MVSIZ),KE22(36,MVSIZ),KE33(36,MVSIZ),KE44(36,MVSIZ),
449 . KE12(36,MVSIZ),KE13(36,MVSIZ),KE14(36,MVSIZ),KE23(36,MVSIZ),
450 . KE24(36,MVSIZ),KE34(36,MVSIZ)
455 . I, J ,EP,ITRAN0,ITRAN1
457 . fj(3),mj(3),uj(3),rj(3)
476 print *,
'KE(1,4),KE(1,5),KE(1,6)='
477 print *,ke11(19,1),ke11(25,1),ke11(31,1)
478 print *,ke11(19,1)*rj(1),ke11(25,1)*rj(2),ke11(31,1)*rj(3)
479 CALL czfikijuj (ke11(1,ep),uj ,rj ,fj ,mj ,
482 fi(i,1,ep)=fi(i,1,ep)+fj(i)
483 mi(i,1,ep)=mi(i,1,ep)+mj(i)
485 print *,
'KE12(1,4),KE(1,5),KE(1,6)='
486 print *,ke12(19,1),ke12(25,1),ke12(31,1)
487 print *,ke12(19,1)*rj(1),ke12(25,1)*rj(2),ke12(31,1)*rj(3)
488 CALL czfikijuj (ke12(1,ep),uj ,rj ,fj ,mj ,
491 fi(i,2,ep)=fi(i,2,ep)+fj(i)
492 mi(i,2,ep)=mi(i,2,ep)+mj(i)
494 print *,
'KE(1,4),KE(1,5),KE(1,6)='
495 print *,ke13(19,1),ke13(25,1),ke13(31,1)
496 print *,ke13(19,1)*rj(1),ke13(25,1)*rj(2),ke13(31,1)*rj(3)
497 CALL czfikijuj (ke13(1,ep),uj ,rj ,fj ,mj ,
500 fi(i,3,ep)=fi(i,3,ep)+fj(i)
501 mi(i,3,ep)=mi(i,3,ep)+mj(i)
503 print *,
'KE14(1,4),KE(1,5),KE(1,6)='
504 print *,ke14(19,1),ke14(25,1),ke14(31,1)
505 print *,ke14(19,1)*rj(1),ke14(25,1)*rj(2),ke14(31,1)*rj(3)
506 CALL czfikijuj (ke14(1,ep),uj ,rj ,fj ,mj ,
509 fi(i,4,ep)=fi(i,4,ep)+fj(i)
510 mi(i,4,ep)=mi(i,4,ep)+mj(i)
517 CALL czfikijuj (ke12(1,ep),uj ,rj ,fj ,mj ,
520 fi(i,1,ep)=fi(i,1,ep)+fj(i)
521 mi(i,1,ep)=mi(i,1,ep)+mj(i)
523 CALL czfikijuj (ke22(1,ep),uj ,rj ,fj ,mj ,
526 fi(i,2,ep)=fi(i,2,ep)+fj(i)
527 mi(i,2,ep)=mi(i,2,ep)+mj(i)
529 CALL czfikijuj (ke23(1,ep),uj ,rj ,fj ,mj ,
532 fi(i,3,ep)=fi(i,3,ep)+fj(i)
533 mi(i,3,ep)=mi(i,3,ep)+mj(i)
535 CALL czfikijuj (ke24(1,ep),uj ,rj ,fj ,mj ,
538 fi(i,4,ep)=fi(i,4,ep)+fj(i)
539 mi(i,4,ep)=mi(i,4,ep)+mj(i)
546 CALL czfikijuj (ke13(1,ep),uj ,rj ,fj ,mj ,
549 fi(i,1,ep)=fi(i,1,ep)+fj(i)
550 mi(i,1,ep)=mi(i,1,ep)+mj(i)
552 CALL czfikijuj (ke23(1,ep),uj ,rj ,fj ,mj ,
555 fi(i,2,ep)=fi(i,2,ep)+fj(i)
556 mi(i,2,ep)=mi(i,2,ep)+mj(i)
558 CALL czfikijuj (ke33(1,ep),uj ,rj ,fj ,mj ,
561 fi(i,3,ep)=fi(i,3,ep)+fj(i)
562 mi(i,3,ep)=mi(i,3,ep)+mj(i)
564 CALL czfikijuj (ke34(1,ep),uj ,rj ,fj ,mj ,
567 fi(i,4,ep)=fi(i,4,ep)+fj(i)
568 mi(i,4,ep)=mi(i,4,ep)+mj(i)
575 CALL czfikijuj (ke14(1,ep),uj ,rj ,fj ,mj
578 fi(i,1,ep)=fi(i,1,ep)+fj(i)
579 mi(i,1,ep)=mi(i,1,ep)+mj(i)
581 CALL czfikijuj (ke24(1,ep),uj ,rj ,fj ,mj ,
584 fi(i,2,ep)=fi(i,2,ep)+fj(i)
585 mi(i,2,ep)=mi(i,2,ep)+mj(i)
587 CALL czfikijuj (ke34(1,ep),uj ,rj ,fj ,mj ,
590 fi(i,3,ep)=fi(i,3,ep)+fj(i)
591 mi(i,3,ep)=mi(i,3,ep)+mj(i)
593 CALL czfikijuj (ke44(1,ep),uj ,rj ,fj ,mj ,
596 fi(i,4,ep)=fi(i,4,ep)+fj(i)
597 mi(i,4,ep)=mi(i,4,ep)+mj(i)