49 SUBROUTINE rdresa(ITSTV1 , LHEADER, LVARINT, LVARREA, PRADIOS,
50 . PRESFIL,MULTI_FVM,H3D_DATA,
51 . PINCH_DATA,DYNAIN_DATA,INTERFACES,SENSORS,LOADS,
52 . MAT_ELEM, NAMES_AND_TITLES,SKEWS ,GLOB_THERM,PBLAST,
68 USE skew_mod !< skew type
69 use glob_therm_mod !< global parameters and flags
for thermal analysis
75#include "implicit_f.inc"
89 INTEGER , LHEADER, LVARINT, LVARREA, PRADIOS,
91 TYPE(MULTI_FVM_STRUCT) :: MULTI_FVM
92 TYPE(H3D_DATABASE) :: H3D_DATA
93 TYPE(
pinch) :: PINCH_DATA
94 TYPE (DYNAIN_DATABASE),
INTENT(INOUT) :: DYNAIN_DATA
95 TYPE (INTERFACES_) ,
INTENT(INOUT) :: INTERFACES
96 TYPE (SENSORS_) ,
INTENT(INOUT) :: SENSORS
97 TYPE (LOADS_) ,
INTENT(INOUT) :: LOADS
98 TYPE (MAT_ELEM_) ,
INTENT(INOUT) :: MAT_ELEM
99 TYPE (NAMES_AND_TITLES_),
INTENT(INOUT) :: NAMES_AND_TITLES
100 TYPE (SKEW_) ,
INTENT(INOUT) :: SKEWS
101 type (glob_therm_) ,
intent(inout) :: glob_therm
102 TYPE (PBLAST_) ,
INTENT(INOUT) :: PBLAST
103 TYPE (RBE3_) ,
INTENT(INOUT) :: RBE3
109 PARAMETER (LMXHEAD=100)
110 parameter (lmxvint=4000)
111 INTEGER TABHEAD(LMXHEAD),(LMXVINT)
114 INTEGER,
DIMENSION(LTITLE) :: ITITLE
126 names_and_titles%TITLE
136 IF(pradios/=iradios)
RETURN
139 IF(presfil/=iresfil
RETURN
142 itestv = iabs(itestv)
144 IF (ir4r8==2) itestv = -itestv
145 IF(itestv/=itstv1.AND.debug(2)<2)
RETURN
172 IF(lvarint>lmxvint)
THEN
173 CALL ancmsg(msgid=31,anmode=aninfo,i1=lvarint,i2=lmxvint)
181 CALL rdcomi(tabvint,multi_fvm,h3d_data,dynain_data,
182 . interfaces%PARAMETERS,sensors,loads ,mat_elem,skews,
183 . glob_therm,pblast,rbe3 )
186 IF(anim_ply > 0 .AND.iplyxfem == 0)
THEN
187 WRITE(istdo,*)
'**WARNING** /ANIM/SHELL/PLY '
189 .
'IS AVAILABLE JUST WITH NEW DELAMINATION SHELL FORMULATION'
190 WRITE(iout,*)
'**WARNING** /ANIM/SHELL/PLY '
192 .
'IS AVAILABLE JUST WITH NEW DELAMINATION SHELL FORMULATION'
211 SUBROUTINE iniresa(H3D_DATA,PINCH_DATA,GLOB_THERM)
224#include "implicit_f.inc"
228#include "mvsiz_p.inc"
232#include "com01_c.inc"
233#include "com04_c.inc"
234#include "com_xfem1.inc"
235#include "param_c.inc"
236#include "units_c.inc"
237#include "scr03_c.inc"
238#include "scr06_c.inc"
239#include "scr07_c.inc"
240#include "scr14_c.inc"
241#include "scr16_c.inc"
242#include "parit_c.inc"
244#include "scrnoi_c.inc"
245#include "scrfs_c.inc"
246#include "scrcut_c.inc"
247#include "scr_fac_c.inc"
250#include "tabsiz_c.inc"
251#include "scr17_c.inc"
257 TYPE(PINCH) :: PINCH_DATA
258 type (glob_therm_) ,
intent(inout) :: GLOB_THERM
262 INTEGER I,NVAR,M16STAK,NPE,NIPMAX,NPSAV_OLD
266 pinch_data%SAPINCH = 0
268 IF(iparit==-1)iparit=ipari0
271 IF(iparit /= 1) iparit = ipari0
274 IF(ipari0==0.AND.iparit==1)
THEN
276 WRITE(istdo,*)
' **WARNING PARALLEL ARITHMETIC DISABLED'
277 WRITE(iout,*)
' **WARNING PREVIOUS RUN WITHOUT PARITH/ON'
278 WRITE(iout,*)
' **PARALLEL ARITHMETIC IS NO MORE ACTIVABLE'
283 nisky0 = 8*numels + 4*numelq + 4*numelc + 2*numelt +
284 . 2*numelp + 3*numelr + 3*numeltg +
285 . 6*numels10 + 12*numels20 + 8*numels16 + 3*numeltg6
288 nisky0 = nisky0 + 4*nskymv0
290 nisky0 = nisky0 + 4*nconld
292 nisky0 = nisky0 + 4*glob_therm%NUMCONV + 4*glob_therm%NUMRADIA + 4*glob_therm%NFXFLUX
293 nisky0 = nisky0 + slloadp
295 IF(iparit>=1) iparit=1
296 IF( lwamp /= 0 .AND. lwanmp/=0)
THEN
297 lwamp =
max(lwamp,2*mvsiz*100)
298 lenwa =
max( nthread * lwamp,lwanmp)
302 sicodt=numnod+2*numnod*
max(iale,ieuler,ialelag)
312 IF(npsav==0)npsav_old = 23
315 sa = 3*numnod+9*numnod*nthread
316 sar = 3*numnod+9*numnod*nthread
317 sstifn = numnod+3*numnod*nthread
318 sviscn = numnod+3*numnod*nthread
319 sstifr = numnod*iroddl+3*numnod*nthread*iroddl
327 lskyi_sms =
max(nint(5*
max(4*numnod,imaximp)*probint)+4*(numsph+nskyi18)+lcni2,isumnx)
347 ELSEIF(iparit/=0)
THEN
353 IF(sol2sph_flag/=0)
THEN
358 spartsav = npsav*(npart+nthpart)*nthread
363 lskypxfem = lcnepxfem
365 lskycrkxfem = lcnecrkxfem
367 IF(iale+ieuler+glob_therm%ITHERM+ialelag/=0)
THEN
373 IF(sol2sph_flag/=0)
THEN
381 lskyi =
max(nint(5*
max(4*numnod,imaximp)*probint)
382 + +4*(numsph+nskyi18),isumnx)
383 sfskyi = nfskyi*lskyi
386 lskyi_sms = lskyi+lcni2
390 sadsky = sadsky + numnod
392 sprocne_pxfe = lcnepxfem
393 sprocne_crkxfe = lcnecrkxfem
398 IF(ivector==1) saddcni2 = saddcni2 + numnod
426 sa = 3*numnod*nthread
427 sar = 3*numnod*nthread
428 sstifn = numnod*nthread
431 pinch_data%SAPINCH = nthread*numnod
433 pinch_data%SAPINCH = 0
436 IF(sol2sph_flag/=0)
THEN
437 sdmsph = numnod*nthread
442 sviscn = numnod*nthread
443 sstifr = numnod*iroddl*nthread
444 spartsav = npsav*(npart+nthpart)*nthread
451 lskyi_sms =
max(nint(5*
max(4*numnod,imaximp)*probint
452 + +4*(numsph+nskyi18)+lcni2,isumnx)
473 IF (ns10e >0 .AND. ipari0
THEN
474 saddcncnd = numnod + 1
483 IF(
ale%GLOBAL%INCOMP==0)
THEN
484 sval2=
max(iale,glob_therm%ITHERM,ieuler
486 sphi =
max(iale,glob_therm%ITHERM,ieuler,ialelag)*( numels + numelq + numeltg + nsvois + nqvois + ntgvois + nsegflu )
498 sfr_rl = (nspmd+2)*nrlink
516 .
min(1,anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT)
517 . +
min(1,anim_v(5)+outp_v(5)+h3d_data%N_VECT_FINT)
518 . +
min(1,anim_v(6)+outp_v(6)+h3d_data%N_VECT_FEXT) )
519 . + 6*(nsect+nrbody+nrwall)
520 . + 6*numnod*
min(1,anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT)
521 . + 3*numnod*
min(1,anim_v(13)+h3d_data%N_VECT_CONT2)
522 . + 6*numnod*
min(1,anim_v(27)+h3d_data%N_VECT_PCONT2)
526 .
min(1,anim_n(1)+outp_n(1)+h3d_data%N_SCAL_DT)
527 . +
min(1,anim_n(2)+outp_n(2)+h3d_data%N_SCAL_DMAS)
528 . +
min(1,anim_n(12)+outp_n(3)+h3d_data%N_SCAL_DINER))
529 . + numelr*(anim_fe(11)+anim_fe(12)+anim_fe(13)) + 2*numnod*
min(1,anim_n(15)*anim_n(16)+h3d_data%N_SCAL_DAMA2)
530 stani = 6*(numelc+numeltg)*iepsdot + 15*(numelt+numelp+numelr)*(
max(anim_ft(1),h3d_data%UND_FORC))
532 ssecfcum = 7*numnod*nsect*isecut
540 IF(anim_se(10) == 1 .OR. h3d_data%SOL_SCAL_VORTX == 1)
fani_cell%IS_VORT_X_REQUESTED=.true.
541 IF(anim_se(4960) == 1 .OR. h3d_data%SOL_SCAL_VORTY == 1)
fani_cell%IS_VORT_Y_REQUESTED=.true.
542 IF(anim_se(4961) == 1 .OR. h3d_data%SOL_SCAL_VORTZ == 1)
fani_cell%IS_VORT_Z_REQUESTED=.true.
547 IF(h3d_data%N_VECT_CONT == 1)
fani_cell%IS_F18_FVM_REQUESTED = .true.
553 m16stak = (11*nipmax+15*npe+3*nipmax*npe)*mvsiz
558 m16stak =
max(m16stak,(10*nipmax+15*npe
564 m16stak =
max(m16stak,12*nipmax*mvsiz)
566 sw16 = m16stak * nthread
583 IF((noisev+noisea+noisep)==0) noisev = 1
584 nvar=3*noisev+3*noisea+noisep
594 mfif = (6*nvar*nnoise+1)
595 sinoise = 2*nnoise+10
596 sfnoise = 6*nvar*nnoise+1
subroutine rdresa(itstv1, lheader, lvarint, lvarrea, pradios, presfil, multi_fvm, h3d_data, pinch_data, dynain_data, interfaces, sensors, loads, mat_elem, names_and_titles, skews, glob_therm, pblast, rbe3)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)