48 2 VR ,AR ,WA ,MS ,IN ,WEIGHT ,
49 3 STIFN ,STIFR ,KHIE ,ITAB ,FR_I2M ,IAD_I2M ,
50 4 ADDCNI2 ,PROCNI2 ,IADI2 ,I2MSCH ,DMAST ,ADM ,
51 5 SKEW ,I2SIZE ,FR_NBCCI2,ADI ,IGEO ,BUFGEO ,
52 6 FSAV ,NPF ,TF ,FNCONT ,IAD_ELEM ,FR_ELEM ,
53 7 NODNX_SMS,DMINT2 ,PDAMA2 ,NB_FRI2M,FR_LOCI2M,
54 8 DT2T ,NELTST ,ITYPTST ,INTBUF_TAB,TEMP ,MCP ,
55 9 FTHE ,CONDN ,GLOB_THERM,
56 A H3D_DATA ,T2FAC_SMS,FNCONTP ,FTCONTP)
67#include "implicit_f.inc"
83 INTEGER IPARI(NPARI,*), WEIGHT(*), FR_I2M(*), IAD_I2M(*),
84 . ITAB(*),KHIE,ADDCNI2(*),PROCNI2(*),IADI2(*),IGEO(*),
85 . FR_NBCCI2(2,*),NPF(*),IAD_ELEM(2,*),FR_ELEM(*),
86 . NODNX_SMS(*),,FR_LOCI2M(*)
87 INTEGER I2MSCH,ILAGM,I2SIZE,NELTST,ITYPTST
90 . X(3,*), (3,*), A(3,*), WA(*), MS(*),IN(*),
91 . AR(3,*),VR(3,*),STIFN(*),STIFR(*),DMAST,ADM(*),SKEW(*),
92 . ADI(*),BUFGEO(*),FSAV(NTHVKI,*),TF(*), FNCONT(3,*),
93 . dmint2(*),pdama2(*),dt2t,temp(*),fthe
95 . fncontp(3,*),ftcontp(3,*)
97 TYPE(intbuf_struct_) INTBUF_TAB(*)
98 TYPE (H3D_DATABASE) :: H3D_DATA
99 type (glob_therm_) ,
intent(inout) :: glob_therm
103 INTEGER N, NTY, JI, JB, NMN, NINT, LWA, I2OK,K,ITIED,
104 . , I0, NIR, SIZE, LENS, LENR, I, J, ILEV,
105 . K10, K11, K12, NSN, KSN,I25PENA,
106 . I2SIZETH,INTTH2, SIZE_INER_POFF,II
107 INTEGER,
DIMENSION(:),
ALLOCATABLE ::
109 my_real,
DIMENSION(:,:),
ALLOCATABLE :: fskyi2
110 my_real,
DIMENSION(:),
ALLOCATABLE :: ftheskyi2
111 my_real,
DIMENSION(:),
ALLOCATABLE :: condnskyi2
112 my_real,
DIMENSION(:,:),
ALLOCATABLE :: sav_for_pena
113 my_real,
DIMENSION(:),
ALLOCATABLE :: ms_pena,sav_iner_poff
116 CALL my_alloc(fskyi2,i2size,lcni2)
117 CALL my_alloc(ftheskyi2,lcni2)
118 CALL my_alloc(condnskyi2,lcni2)
129 i25pena=
max(i25pena,1)
130 ELSEIF (ilev == 26)
THEN
131 i25pena=
max(i25pena,2)
132 ELSEIF (ilev == 27 .or. ilev == 28)
THEN
133 i25pena=
max(i25pena,2)
135 IF (iroddl > 0) size_iner_poff = numnod
139 IF (i25pena == 2)
THEN
140 ALLOCATE(sav_for_pena(8,numnod))
141 sav_for_pena(1:8,1:numnod) = zero
142 ALLOCATE(ms_pena(numnod))
143 ms_pena(1:numnod) = ms(1:numnod)
144 ELSEIF (i25pena == 1)
THEN
145 ALLOCATE(sav_for_pena(4,numnod))
146 sav_for_pena(1:4,1:numnod) = zero
147 ALLOCATE(ms_pena(numnod))
148 ms_pena(1:numnod) = ms(1:numnod)
150 ALLOCATE(sav_for_pena(8,0))
155 ALLOCATE(sav_iner_poff(size_iner_poff))
156 IF (size_iner_poff>0) sav_iner_poff(1:numnod) = in(1:numnod)
164 IF (nty == 2 .AND. ilev >= 10 .AND. ilev < 23)
THEN
168 . ipari(1,n),ms ,in ,
169 . x ,v ,a ,stifn ,igeo ,
170 . weight ,fsav(1,n),ilev ,npf ,tf ,
171 . itab ,fncont ,pdama2 ,intbuf_tab(n),h3d_data,
177 IF (iparit == 0)
THEN
181 IF (ipari(26,n) == khie)
THEN
187 IF (nty == 2 .AND. ilagm == 0)
THEN
190 . a ,vr ,ar ,ms ,in ,
191 . weight ,stifn ,stifr ,mcp ,condn ,
192 . fthe ,intbuf_tab(n) ,glob_therm%ITHERM_FE,glob_therm%NODADT_THERM)
200 IF (ipari(26,n) == khie)
THEN
206 IF (nty == 2 .AND. ilagm == 0)
THEN
209 . a ,vr ,ar ,ms ,in ,
210 . weight ,stifn ,stifr ,
tagnod,intbuf_tab(n))
215 ELSEIF (iparit /= 0)
THEN
223 IF (iparit /= 0 .AND. glob_therm%INTHEAT /= 0)
THEN
227 IF (glob_therm%IDT_THERM == 1)
THEN
244 IF (ipari(26,n) == khie)
THEN
252 IF(nty == 2 .AND. ilagm == 0)
THEN
254 IF (ilev == 0.OR.ilev == 1.OR.ilev == 3.OR.ilev == 27.OR.ilev == 28) i2msch = 1
255 IF (ilev==25.OR.ilev==26.OR.ilev==27.OR.ilev==28) i7kglo=1
264 1 ipari(1,n),x ,v ,a ,
265 2 vr ,ar ,ms ,in ,weight ,stifn ,
266 3 stifr ,fskyi2 ,iadi2 ,i2msch ,dmast ,adm ,
267 4 i0 ,nir ,i2size ,adi ,igeo ,bufgeo ,
268 5 fsav(1,n) ,fncont ,nodnx_sms,dmint2(ksn) ,sav_for_pena,
269 6 ms_pena ,dt2t ,neltst ,ityptst ,intbuf_tab(n),temp,
270 7 fthe ,ftheskyi2,condn ,condnskyi2,itab,
271 8 sav_iner_poff ,h3d_data,t2fac_sms,fncontp ,
272 a ftcontp,glob_therm%IDT_THERM ,glob_therm%THEACCFACT)
276 IF(ilev==2.OR.ilev==4)
THEN
278 j=intbuf_tab(n)%MSR(ii)
279 intbuf_tab(n)%NMAS(ii) = ms(j)
283 IF (ilev==25 .or. ilev==26 .or. ilev==27 .or. ilev==28) ksn=ksn+4*nsn
284 ELSEIF(nty == 12)
THEN
287 . ipari(1,n),intbuf_tab(n) ,x ,v ,
288 . a ,ms ,itab ,weight ,stifn,wa,skew )
291 ELSEIF(iparit > 0)
THEN
293 IF(ipari(26,n) /= khie.AND.nty == 2.AND.ilagm == 0)
THEN
297 CALL i2skip(ipari(5,n) ,intbuf_tab(n)%NSV ,weight ,i0 )
300 IF(nty == 2 .AND. ipari
THEN
304 IF (intth2 == 1)
THEN
305 i2sizeth = i2size + 1
306 IF (glob_therm%IDT_THERM == 1) i2sizeth = i2sizeth + 1
313 IF (iparit == 0.AND.nspmd > 1)
THEN
315 lcomi2m = iad_i2m(nspmd+1)
318 . a ,ar ,ms ,in ,stifn,
319 . stifr,fr_i2m,iad_i2m,lcomi2m,i2sizeth,
320 . nb_fri2m,fr_loci2m,intth2,fthe,condn,
321 . fncont,fncontp,ftcontp,h3d_data,glob_therm%IDT_THERM)
324 . a ,ar ,ms ,in ,stifn,
325 . stifr,fr_i2m,iad_i2m,lcomi2m,i2sizeth,
326 . intth2,fthe ,condn ,fncont ,fncontp ,
327 . ftcontp,h3d_data ,glob_therm%IDT_THERM)
330 lcomi2m = iad_i2m(nspmd+1)
333 . a ,ar ,ms ,in ,stifn,
334 . stifr,fr_i2m,iad_i2m,lcomi2m,i2sizeth,
335 . nb_fri2m,fr_loci2m,
tagnod,intth2,fthe,
336 . condn,fncont,fncontp,ftcontp,h3d_data ,glob_therm%IDT_THERM)
339 . a ,ar ,ms ,in ,stifn,
340 . stifr,fr_i2m,iad_i2m,lcomi2m,i2sizeth,
341 .
tagnod,intth2,fthe ,condn ,fncont ,
342 . fncontp,ftcontp,h3d_data ,glob_therm%IDT_THERM)
345 ELSEIF (iparit > 0)
THEN
348 lens = fr_nbcci2(1,nspmd+1)
349 lenr = fr_nbcci2(2,nspmd+1)
350 lcomi2m = iad_i2m(nspmd+1)
352 1 fr_i2m ,iad_i2m,addcni2,procni2,fr_nbcci2,
353 2 i2sizeth,lenr ,lens ,fskyi2 ,intth2 ,
354 3 ftheskyi2,condnskyi2 ,i2size,lcomi2m,fncont,
355 4 fncontp,ftcontp,h3d_data ,glob_therm%IDT_THERM)
363 1 a ,ar ,stifn ,stifr ,ms ,
364 2 in ,fskyi2,i2size,addcni2,addcni2(numnod+2),
365 3 ftheskyi2, fthe ,condnskyi2,condn,glob_therm)
369 IF (i25pena > 0 .AND. i2nsnt>0)
THEN
371 a(1,i)=a(1,i)+sav_for_pena(1,i)
372 a(2,i)=a(2,i)+sav_for_pena(2,i)
373 a(3,i)=a(3,i)+sav_for_pena(3,i)
374 stifn(i) = stifn(i) + sav_for_pena(4,i)
376 IF (i25pena == 2 .and. iroddl == 1)
THEN
378 ar(1,i)=ar(1,i)+sav_for_pena(5,i)
379 ar(2,i)=ar(2,i)+sav_for_pena(6,i)
380 ar(3,i)=ar(3,i)+sav_for_pena(7,i)
381 stifr(i) = stifr(i) + sav_for_pena(8,i)
384 DEALLOCATE(sav_for_pena)
390 DEALLOCATE(ftheskyi2)
391 DEALLOCATE(condnskyi2)
subroutine intti1(ipari, x, v, a, vr, ar, wa, ms, in, weight, stifn, stifr, khie, itab, fr_i2m, iad_i2m, addcni2, procni2, iadi2, i2msch, dmast, adm, skew, i2size, fr_nbcci2, adi, igeo, bufgeo, fsav, npf, tf, fncont, iad_elem, fr_elem, nodnx_sms, dmint2, pdama2, nb_fri2m, fr_loci2m, dt2t, neltst, ityptst, intbuf_tab, temp, mcp, fthe, condn, glob_therm, h3d_data, t2fac_sms, fncontp, ftcontp)