OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
rdcomm.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| rdcomi ../engine/source/output/restart/rdcomm.F
25!||--- called by ------------------------------------------------------
26!|| rdresa ../engine/source/output/restart/rdresa.F
27!||--- calls -----------------------------------------------------
28!|| read_array ../common_source/comm/read_array.F
29!||--- uses -----------------------------------------------------
30!|| ale_mod ../common_source/modules/ale/ale_mod.F
31!|| alefvm_mod ../common_source/modules/ale/alefvm_mod.F
32!|| alemuscl_mod ../common_source/modules/ale/alemuscl_mod.F
33!|| anim_mod ../common_source/modules/output/anim_mod.F
34!|| damp_mod ../engine/share/modules/damp_mod.F
35!|| drape_mod ../engine/share/modules/drape_mod.F
36!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
37!|| h3d_mod ../engine/share/modules/h3d_mod.F
38!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
39!|| loads_mod ../common_source/modules/loads/loads_mod.F90
40!|| mat_elem_mod ../common_source/modules/mat_elem/mat_elem_mod.F90
41!|| multi_fvm_mod ../common_source/modules/ale/multi_fvm_mod.F90
42!|| outmax_mod ../common_source/modules/outmax_mod.F
43!|| output_mod ../common_source/modules/output/output_mod.F90
44!|| outputs_mod ../common_source/modules/outputs_mod.f
45!|| parameters_mod ../common_source/modules/interfaces/parameters_mod.F
46!|| pblast_mod ../common_source/modules/loads/pblast_mod.f90
47!|| pinchtype_mod ../common_source/modules/pinchtype_mod.F
48!|| pload_cyl_mod ../common_source/modules/loads/pload_cyl_mod.F
49!|| rbe3_mod ../common_source/modules/constraints/rbe3_mod.f90
50!|| sensor_mod ../common_source/modules/sensor_mod.F90
51!|| skew_mod ../common_source/modules/skew_mod.F90
52!|| state_mod ../common_source/modules/state_mod.F
53!|| th_mod ../engine/share/modules/th_mod.F
54!||====================================================================
55 SUBROUTINE rdcomi(TABVINT,MULTI_FVM,H3D_DATA,DYNAIN_DATA,
56 . INTER_PARAMETERS,SENSORS,LOADS ,MAT_ELEM,SKEWS,
57 . GLOB_THERM,PBLAST,RBE3 )
58C-----------------------------------------------
59C M o d u l e s
60C-----------------------------------------------
61 USE multi_fvm_mod
62 USE h3d_mod
64 USE outmax_mod
65 USE anim_mod
66 USE outputs_mod
68 USE drape_mod
69 USE state_mod
70 USE intbufdef_mod
72 USE alefvm_mod , only:alefvm_param
73 USE ale_mod
75 USE sensor_mod
76 USE loads_mod
77 USE mat_elem_mod
78 USE damp_mod
79 USE skew_mod
80 USE glob_therm_mod
81 USE pblast_mod
82 USE rbe3_mod
83 USE th_mod , ONLY : th_has_noda_pext
84 USE output_mod , ONLY : anim_has_noda_pext, h3d_has_noda_pext
85C-----------------------------------------------
86C I m p l i c i t T y p e s
87C-----------------------------------------------
88#include "implicit_f.inc"
89 INTEGER TABVINT(*)
90 TYPE(MULTI_FVM_STRUCT) :: MULTI_FVM
91 TYPE(h3d_database) :: H3D_DATA
92 TYPE (DYNAIN_DATABASE),INTENT(INOUT) :: DYNAIN_DATA
93 TYPE (PARAMETERS_) ,INTENT(INOUT) :: INTER_PARAMETERS
94 TYPE (SENSORS_) ,INTENT(INOUT) :: SENSORS
95 TYPE (LOADS_) ,INTENT(INOUT) :: LOADS
96 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
97 TYPE (SKEW_) ,INTENT(INOUT) :: SKEWS
98 TYPE (GLOB_THERM_) ,INTENT(INOUT) :: GLOB_THERM
99 TYPE (PBLAST_) ,INTENT(INOUT) :: PBLAST
100 TYPE (RBE3_) ,INTENT(INOUT) :: RBE3
101C-----------------------------------------------
102C C o m m o n B l o c k s
103C-----------------------------------------------
104#include "lagmult.inc"
105#include "r4r8_p.inc"
106#include "com01_c.inc"
107#include "com04_c.inc"
108#include "com09_c.inc"
109#include "com10_c.inc"
110#include "sphcom.inc"
111#include "param_c.inc"
112#include "scr03_c.inc"
113#include "scr05_c.inc"
114#include "scr06_c.inc"
115#include "scr07_c.inc"
116#include "scr14_c.inc"
117#include "scr16_c.inc"
118#include "cong1_c.inc"
119#include "task_c.inc"
120#include "scrnoi_c.inc"
121#include "scrfs_c.inc"
122#include "scrcut_c.inc"
123#include "warn_c.inc"
124#include "couple_c.inc"
125#include "scr18_c.inc"
126#include "scr02_c.inc"
127#include "check.inc"
128#include "stati_c.inc"
129#include "timeri_c.inc"
130#include "scr17_c.inc"
131#include "rad2r_c.inc"
132#include "spmd_c.inc"
133#include "fxbcom.inc"
134#include "eigcom.inc"
135#include "chara_c.inc"
136#include "flowcom.inc"
137#include "impl1_c.inc"
138#include "tabsiz_c.inc"
139#include "remesh_c.inc"
140#include "com_xfem1.inc"
141#include "sysunit.inc"
142#include "intstamp_c.inc"
143#include "sms_c.inc"
144#include "submodel.inc"
145#include "inter18.inc"
146#include "inter22.inc"
147#include "drape_c.inc"
148#include "ige3d_c.inc"
149C----------------------------------------------
150C L o c a l V a r i a b l e s
151C-----------------------------------------------
152 INTEGER LWASPH44C, I, NEXT,IDUM1,ISUSED,SENS_NSTOP,SENS_NSTAT,SENS_NOUTP,SENS_NANIM
153C-----------------------------------------------
154C LECTURE DES VARIABLES ENTIERES.
155C-----------------------------------------------
156 n2d =tabvint(1)
157 ncpri =tabvint(2)
158 !IUSERWI =TABVINT(3)
159 iale =tabvint(4)
160 ngroup =tabvint(5)
161 mat_elem%NGROUP = ngroup
162 ncycle =tabvint(6)
163 irun =tabvint(7)
164 iger =tabvint(8)
165 lbufel =tabvint(9)
166 iroddl =tabvint(10)
167 ieuler =tabvint(11)
168 glob_therm%ITHERM =tabvint(12)
169 ihsh =tabvint(13)
170 itestv =tabvint(14)
171 iturb =tabvint(15)
172 ilag =tabvint(16)
173 isecut =tabvint(17)
174 idamp =tabvint(18)
175 irxdp =tabvint(19)
176 nmult =tabvint(20)
177 integ8 =tabvint(21)
178 isigi =tabvint(22)
179 nspmd =tabvint(23)
180 lenwa =tabvint(24)
181 isgifl =tabvint(25)
182 th_has_noda_pext = tabvint(26)
183 nnods =tabvint(27)
184 ncnois =tabvint(28)
185 lcne0 =tabvint(29)
186 ipari0 =tabvint(30)
187 imaximp =tabvint(31)
188 nnoiser =tabvint(32)
189 nspgroup=tabvint(33)
190 iresmd =tabvint(34)
191 ifrwv =tabvint(35)
192C-----
193 itestv = iabs(itestv)
194 IF (ir4r8==2) itestv = -itestv
195C ITESTV = IABS(ITESTV)
196C-----
197C -------- Size of integer arrays --------
198 sicode = tabvint(37)
199 ! = TABVINT(38)
200 siskew = tabvint(39)
201 siskwn = tabvint(40)
202 siframe = tabvint(41)
203 sneth = tabvint(42)
204 sibcslag = tabvint(43)
205 sipart = tabvint(44)
206 snom_opt = tabvint(45)
207 snpc = tabvint(46)
208C Empty field = TABVINT(47)
209 sixtg = tabvint(48)
210 sixtg1 = tabvint(49)
211 sixs = tabvint(50)
212 sixq = tabvint(51)
213 sixc = tabvint(52)
214 sixt = tabvint(53)
215 sixp = tabvint(54)
216 sixr = tabvint(55)
217 sitab = tabvint(56)
218 sitabm1 = tabvint(57)
219 sgjbufi = tabvint(58)
220 ale%GLOBAL%SNALE = tabvint(59)
221 ale%GLOBAL%SIELVS = tabvint(60)
222 sifill = tabvint(62)
223 sims = tabvint(63)
224!! to empty+++
225 sisubs = tabvint(64)
226 sigrn = tabvint(65)
227 sisurf = tabvint(66)
228 sislin = tabvint(67)
229 sibufssg = tabvint(68)
230!! to empty---
231 skxx = tabvint(69)
232 sixx = tabvint(70)
233 skxsp = tabvint(71)
234 sixsp = tabvint(72)
235 snod2sp = tabvint(73)
236 sispsym = tabvint(74)
237 sispcond = tabvint(75)
238 sisphio = tabvint(76)
239 slprtsph = tabvint(77)
240 slonfsph = tabvint(78)
241 sibcl = tabvint(79)
242 sibfv = tabvint(80)
243 siecran = tabvint(81)
244 silas = tabvint(82)
245 siebcs = tabvint(83)
246 slaccelm = tabvint(84)
247
248 snnlink = tabvint(86)
249 slnlink = tabvint(87)
250 !SIUSER = TABVINT(88) - unused
251 siparg = tabvint(89)
252 sdd_iad = tabvint(90)
253 sigrv = tabvint(91)
254 slgrav = tabvint(92)
255 siexlnk = tabvint(93)
256 sibvel = tabvint(94)
257 slbvel = tabvint(95)
258 siactiv = tabvint(96)
259 sibmpc = tabvint(97)
260 skinet = tabvint(98)
261 sipari = tabvint(99)
262 sinbuf = 0 !TABVINT(100)
263 snprw = tabvint(101)
264 ! TABVINT(102) obsolete option removed
265 siconx = tabvint(103)
266 smadprt = tabvint(104)
267 smadsh4 = tabvint(105)
268 smadsh3 = tabvint(106)
269 smadsol = tabvint(107)
270 smadnod = tabvint(108)
271 smadfail = tabvint(109)
272 snpby = tabvint(110)
273 snpbyl = tabvint(111)
274 slpby = tabvint(112)
275 slpbyl = tabvint(113)
276 slrivet = tabvint(114)
277 snstrf = tabvint(115)
278 sljoint = tabvint(116)
279 snodpor = tabvint(117)
280 smonvol = tabvint(118)
281 slagbuf = tabvint(119)
282! SITHGRP = TABVINT(120) - obsolete
283 siad_elem = tabvint(121)
284 siad_rby = tabvint(122)
285 siad_rby2 = tabvint(123)
286 siad_i2m = tabvint(124)
287 siadcj = tabvint(125)
288 siad_rbm = tabvint(126)
289 siad_rbm2 = tabvint(127)
290 siad_sec = tabvint(128)
291 siad_cut = tabvint(129)
292 sfr_elem = tabvint(130)
293 sfr_rby = tabvint(131)
294 sfr_wall = tabvint(132)
295 sfr_rby2 = tabvint(133)
296 sfr_i2m = tabvint(134)
297 sfr_mv = tabvint(135)
298 sfr_ll = tabvint(136)
299 sfr_cj = tabvint(137)
300 sfr_rbm = tabvint(138)
301 sfr_rbm2 = tabvint(139)
302 sfr_sec = tabvint(140)
303 sfr_cut = tabvint(141)
304 srg_cut = tabvint(142)
305 sfr_mad = tabvint(143)
306 sfr_i18 = tabvint(144)
307 sweight = tabvint(145)
308 snewfront = tabvint(146)
309 snodglob = tabvint(147)
310 snbrcvois = tabvint(148)
311 snbsdvois = tabvint(149)
312 slnrcvois = tabvint(150) ! NRCVOIS
313 slnsdvois = tabvint(151)
314 snercvois = tabvint(152)
315 snesdvois = tabvint(153)
316 slercvois = tabvint(154)
317 slesdvois = tabvint(155)
318 !TABVINT(156) obsolete option removed
319 !TABVINT(157) obsolete option removed
320 snpsegcom = tabvint(158)
321 slsegcom = tabvint(159)
322 snporgeo = tabvint(160)
323 slnodpor = tabvint(161)
324C-----
325C siz of real arrays
326C
327C TABVINT(162) = 3*(NUMNOD_L+NRCVVOIS_L)
328C TABVINT(163) = 3*(NUMNOD_L+NRCVVOIS_L)
329C TABVINT(164) = 3*(NUMNOD_L+NRCVVOIS_L)
330C TABVINT(165) = 3*NUMNOD_L*IRODDL
331c IF(ISECUT > 0 .OR. IISROT > 0 .OR. IMPOSE_DR /= 0 .OR. IDROT > 0)THEN
332c TABVINT(166) = 3*NUMNOD_L*IRODDL
333c ELSE
334c TABVINT(166) = 0
335c ENDIF
336
337 sx = tabvint(162)
338 sd = tabvint(163)
339 sv = tabvint(164)
340 svr = tabvint(165)
341 sdr = tabvint(166)
342 sthke = tabvint(167)
343 sdampr = tabvint(168)
344 sdamp = tabvint(169)
345 sms = tabvint(170) ! NUMNOD
346 sin = tabvint(171) ! NUMNOD * IRODDL
347 stf = tabvint(172)
348 spm = tabvint(173)
349 sskew = tabvint(174)
350 sxframe = tabvint(175)
351 sgeo = tabvint(176)
352 seani = tabvint(177)
353 sbufmat = tabvint(178)
354 sbufgeo = tabvint(179)
355 sbufsf = tabvint(180)
356 srbmpc = tabvint(181)
357 sgjbufr = tabvint(182)
358 sw = tabvint(183) ! IALE > 0 => 3 * NUMNOD
359 sveul = tabvint(184)
360 sfill = tabvint(185)
361 sdfill = tabvint(186)
362 salph = tabvint(187)
363 swb = tabvint(188) ! 0 or 3 * NUMNOD or 4 * NUMNOD
364 sdsave = tabvint(189) ! 0 or 3 * NUMNOD
365 ! = TABVINT(190)
366 sasave = tabvint(191)
367 ! = TABVINT(192)
368 ! = TABVINT(193)
369 ! = TABVINT(194)
370 ! = tabvint(195)
371 sspbuf = tabvint(196)
372 svsphio = tabvint(200)
373 ssphveln = tabvint(201)
374 smsnf = tabvint(202)
375 sforc = tabvint(203)
376 svel = tabvint(204)
377 sfsav = tabvint(205)
378 sfzero = tabvint(206) !3*NUMNOD or 12 *(NUMELC+NUMELTG/)
379 sxlas = tabvint(207)
380 srebcs = tabvint(208)
381 saccelm = tabvint(209)
382
383 sfbvel = tabvint(211)
384 sgrav = tabvint(212)
385 sfr_wave = tabvint(213)
386 sparts0 = tabvint(214)
387 !SUSER = TABVINT(215) unused
388 selbuf = tabvint(216)
389 sbufin = 0 !TABVINT(217)
390 srwbuf = tabvint(218)
391 srwsav = tabvint(219)
392 ! TABVINT(220) obsolete option removed
393 srby = tabvint(221)
394 srbyl = tabvint(222)
395 srivet = tabvint(223)
396 ssecbuf = tabvint(224)
397 svolmon = tabvint(225)
398 slambda = tabvint(226)
399 srconx = tabvint(227)
400 sfasolfr = tabvint(228)
401 sdd_r2r = tabvint(229)
402 slprw = tabvint(230)
403 !TABVINT(231) obsolete option removed
404 siexmad = tabvint(232)
405 sigeo = tabvint(233)
406 sipm = tabvint(234)
407 skippon = tabvint(235)
408 ssegquadfr= tabvint(236)
409C-----1
410 nummat =tabvint(238)
411 mat_elem%NUMMAT = nummat
412 numnod =tabvint(239) ! NUMNOD
413 numskw =tabvint(240)
414 numbcs =tabvint(241)
415 nanaly =tabvint(242)
416 numelq =tabvint(243)
417 numels =tabvint(244)
418 numelc =tabvint(245)
419 numelt =tabvint(246)
420 numgeo =tabvint(247)
421 nfunct =tabvint(248)
422 nconld =tabvint(249)
423 ninvel =tabvint(250)
424 nlaser =tabvint(251)
425 ninter =tabvint(252)
426 nrwall =tabvint(253)
427 nrbody =tabvint(254)
428 nodmas =tabvint(255)
429 nfxvel =tabvint(256)
430 nrivet =tabvint(257)
431 numelr =tabvint(258)
432 numelp =tabvint(259)
433 !obsolete option removed : TABVINT(260)=0
434 nsect =tabvint(261)
435 nrbag =tabvint(262)
436 njoint =tabvint(263)
437 ale%GRID%NWALE_RST = tabvint(264)
438 ale%GRID%NWALE = ale%GRID%NWALE_RST
439!------------------------------!
440 numeltg=tabvint(265)
441 nslag =tabvint(266)
442 nfacx =tabvint(267)
443 numpor =tabvint(268)
444 naccelm=tabvint(269)
445 sensors%NSENSOR=tabvint(270)
446 npreten=tabvint(271)
447 nvolu =tabvint(272)
448 npart =tabvint(273)
449 nsurf =tabvint(274)
450 nsubs =tabvint(275)
451 ngrav =tabvint(276)
452 nrby2 =tabvint(277)
453 ngrnod =tabvint(278)
454 ngrbric=tabvint(279)
455 ngrquad=tabvint(280)
456 ngrshel=tabvint(281)
457 ngrsh3n=tabvint(282)
458 ngrbeam=tabvint(283)
459 ngrtrus=tabvint(284)
460 ngrspri=tabvint(285)
461 nlink =tabvint(286)
462 invstr =tabvint(287)
463 nslin =tabvint(288)
464 numelx =tabvint(289)
465 nconx =tabvint(290)
466 isumnx =tabvint(291)
467 nanim1d=tabvint(292)
468 nr2rlnk=tabvint(293)
469C-----
470 anim_has_noda_pext = max(tabvint(294)/10 , anim_has_noda_pext) !last digit, unless /ANIM/NODA/PEXT is present
471 h3d_has_noda_pext = max(mod(tabvint(294),10), h3d_has_noda_pext) !2nd digit, unless /H3D/NODA/PEXT is present
472 ianim =tabvint(295)
473 ioutp =tabvint(296)
474 nhin2 =tabvint(297)
475 ideli7=tabvint(298)
476C-----2
477 nsnod =tabvint(299)
478 nselq =tabvint(300)
479 nsels =tabvint(301)
480 nselc =tabvint(302)
481 nselt =tabvint(303)
482 nselp =tabvint(304)
483 nselr =tabvint(305)
484 nsrby =tabvint(306)
485 nsmat =tabvint(307)
486 nseltg =tabvint(308)
487 nthgrp =tabvint(309)
488 nthgrp0=tabvint(310)
489 nselu =tabvint(311)
490C-----
491 npropm =tabvint(312)
492 nvsiz =tabvint(313)
493 npropg =tabvint(314)
494 nparg =tabvint(315)
495 lveul =tabvint(316)
496 nixfr1 =tabvint(325)
497 nixfr2 =tabvint(326)
498 npari =tabvint(327)
499 lwamp =tabvint(328)
500 lwanmp =tabvint(329)
501 nisx =tabvint(330)
502 ligrn1 =tabvint(331)
503 lisub1 =tabvint(332)
504 nimv =tabvint(333)
505 nnpby =tabvint(334)
506 nrby =tabvint(335)
507 nifv =tabvint(336)
508 nthvki =tabvint(337)
509 npsav =tabvint(338)
510 nrcnx =tabvint(339)
511 nr2r =tabvint(340)
512 numfram=tabvint(379)
513 numsph =tabvint(380)
514 nselsp =tabvint(381)
515 nspcond =tabvint(382)
516 nsphsym =tabvint(384)
517 maxpjet =tabvint(385)
518 nisp =tabvint(386)
519 kvoisph =tabvint(387)
520 nspbuf =tabvint(388)
521 nispcond=tabvint(389)
522 intbag=tabvint(425)
523 ibagsurf=tabvint(426)
524 nrvolu =tabvint(427)
525 IF(nrvolu==0)nrvolu=24
526 numels10 =tabvint(428)
527 numels20 =tabvint(429)
528 idampg=tabvint(430)
529 iclose=tabvint(431)
530c TABVINT(432)
531c TABVINT(433)
532 nibvel=tabvint(434)
533 lwasph=tabvint(435)
534 IF(lwasph==0)lwasph=16*numsph
535C from version 4.4c :
536 lwasph44c=17*numsph
537 IF(lwasph<lwasph44c)lwasph=lwasph44c
538C-----
539 numels16 =tabvint(436)
540 numels8 =tabvint(437)
541C test pour compatibilite avec anciens restarts
542 IF(numels8==0)numels8 =
543 . numels - (numels10+numels20+numels16)
544 nrivf = tabvint(438)
545 IF (nrivf==0) nrivf = 1
546 nxframe=tabvint(439)
547 nsphio =tabvint(440)
548 nisphio =tabvint(441)
549 lag_ncf =tabvint(442)
550 lag_nkf =tabvint(443)
551 lag_nhf =tabvint(444)
552 lag_ncl =tabvint(445)
553 lag_nkl =tabvint(446)
554 lag_nhl =tabvint(447)
555 nbcslag =tabvint(448)
556 lactiv =tabvint(449)
557 nactiv =tabvint(450)
558 ndamp =tabvint(451)
559C-----
560 nicbag=tabvint(452)
561C versions 4.4X, X <= D :
562 IF(nicbag==0)nicbag=3
563 nrcbag=tabvint(453)
564C versions 4.4X, X <= D :
565 IF(nrcbag==0)nrcbag=3
566C not available for version <= 4.4D :
567 licbag =tabvint(454)
568 lrcbag =tabvint(455)
569 nibjet =tabvint(456)
570 nrbjet =tabvint(457)
571 nibhol =tabvint(458)
572 nrbhol =tabvint(459)
573 libagjet=tabvint(460)
574 lrbagjet=tabvint(461)
575 libaghol=tabvint(462)
576 lrbaghol=tabvint(463)
577 ngjoint =tabvint(464)
578 nummpc =tabvint(465)
579 lvsphio =tabvint(466)
580! SITHGRPA = TABVINT(467) - obsolete
581! SITHGRPB = TABVINT(468)
582! SITHGRPC = TABVINT(469)
583! sithgrpd = tabvint(470)
584! SITHGRPE = TABVINT(471)
585! SITHGRPF = TABVINT(472)
586! SITHGRPG = TABVINT(473)
587! SITHGRPH = TABVINT(474)
588! SITHGRPI = TABVINT(475)
589C
590 nthgrp01(1) = tabvint(476)
591 nthgrp01(2) = tabvint(477)
592 nthgrp01(3) = tabvint(478)
593 nthgrp01(4) = tabvint(479)
594 nthgrp01(5) = tabvint(480)
595 nthgrp01(6) = tabvint(481)
596 nthgrp01(7) = tabvint(482)
597 nthgrp01(8) = tabvint(483)
598 nthgrp01(9) = tabvint(484)
599C
600 nthgrp1(1) = tabvint(485)
601 nthgrp1(2) = tabvint(486)
602 nthgrp1(3) = tabvint(487)
603 nthgrp1(4) = tabvint(488)
604 nthgrp1(5) = tabvint(489)
605 nthgrp1(6) = tabvint(490)
606 nthgrp1(7) = tabvint(491)
607 nthgrp1(8) = tabvint(492)
608 nthgrp1(9) = tabvint(493)
609
610 next = 493
611
612 !output data must be read in case of mcheck/=0 (dynamic size)
613 !otherwise LVARINT is increased to skip related range in TABVINT
614 CALL read_array(outp_v ,tabvint, next, mcheck)
615 CALL read_array(outp_ss,tabvint, next, mcheck)
616 CALL read_array(outp_st,tabvint, next, mcheck)
617 CALL read_array(outp_cs,tabvint, next, mcheck)
618 CALL read_array(outp_ct,tabvint, next, mcheck)
619 CALL read_array(outp_ts,tabvint, next, mcheck)
620 CALL read_array(outp_ps,tabvint, next, mcheck)
621 CALL read_array(outp_pt,tabvint, next, mcheck)
622 CALL read_array(outp_rs,tabvint, next, mcheck)
623 CALL read_array(outp_rt,tabvint, next, mcheck)
624 CALL read_array(anim_v ,tabvint, next, mcheck)
625 CALL read_array(anim_t ,tabvint, next, mcheck)
626 CALL read_array(anim_e ,tabvint, next, mcheck)
627 CALL read_array(anim_ce,tabvint, next, mcheck)
628 CALL read_array(anim_se,tabvint, next, mcheck)
629 CALL read_array(anim_fe,tabvint, next, mcheck)
630 CALL read_array(anim_ct,tabvint, next, mcheck)
631 CALL read_array(anim_st,tabvint, next, mcheck)
632 CALL read_array(anim_ft,tabvint, next, mcheck)
633
634 IF(mcheck/=0)THEN
635 next=next+1
636 anim_m = tabvint(next)
637 next=next+1
638 anim_k = tabvint(next)
639 next=next+1
640 anim_u = tabvint(next)
641 next=next+1
642 anim_mat = tabvint(next)
643 next=next+1
644 ncuts = tabvint(next)
645 next=next+1
646 iepsdot = tabvint(next)
647 next=next+1
648 fmt_ani = tabvint(next)
649 next=next+1
650 anim_vers = tabvint(next)
651 next=next+1
652 izip = tabvint(next)
653 ELSE
654 next=next+9
655 ENDIF
656
657 next=next+1
658 nrbylag = tabvint(next)
659 next = next+1
660 nfvlag = tabvint(next)
661 next = next+1
662 nnprw = tabvint(next)
663 next = next+1
664 nrwlag = tabvint(next)
665 next = next+1
666 nhmax = tabvint(next)
667 next = next+1
668 lagmod = tabvint(next)
669 next = next+1
670 lagopt = tabvint(next)
671 next = next+1
672 nsegflu = tabvint(next)
673 next = next+1
674 ale%GLOBAL%NVCONV = tabvint(next)
675C-----
676 DO i=1,ale%GLOBAL%LCONV
677 ale%GLOBAL%CODV(i)=tabvint(next+i)
678 ENDDO
679C-----
680 next = next+ale%GLOBAL%LCONV+1
681 npebc = tabvint(next)
682 next = next+1
683 nebcs = tabvint(next)
684 next = next+1
685 nrbykin =tabvint(next)
686 next = next+1
687 nbcskin = tabvint(next)
688 next = next+1
689 numels8a = tabvint(next)
690 next = next+1
691 numeltg6 = tabvint(next)
692C--------------------------------------
693 IF(mcheck/=0)THEN
694 DO i=1,12
695 idtmin(i)= tabvint(next + i)
696 ENDDO
697 idtgr(11) = tabvint(next + 13 )
698 nodadt = tabvint(next + 14 )
699 nproc = tabvint(next + 15 )
700C No more used TABVINT(NEXT + 16 )
701 th_vers = tabvint(next + 17 )
702 istatg = tabvint(next + 18 )
703 istat = tabvint(next + 19 )
704 nth = tabvint(next + 20 )
705 nanim = tabvint(next + 21 )
706C No more used TABVINT(NEXT + 22 )
707 imon = tabvint(next + 23 )
708 idum1 = tabvint(next + 24 )
709 DO i =1,10
710 debug(i) = tabvint(next + 24 + i )
711 ENDDO
712 itrace = tabvint(next + 35 )
713 ale%GLOBAL%INCOMP = tabvint(next + 36 )
714
715 ale%SUB%IALESUB = tabvint(next + 38 )
716 impl = tabvint(next + 39 )
717 nitmx = tabvint(next + 40 )
718 ale%UPWIND%UPWM = tabvint(next + 41 )
719 iddw = tabvint(next + 43 )
720 ipread = tabvint(next + 44 )
721 nsflsw = tabvint(next + 45 )
722 ntflsw = tabvint(next + 46 )
723 ! IUSERW = TABVINT(NEXT + 47 )
724 ! NUSERW = TABVINT(NEXT + 48 )
725 irad2r = tabvint(next + 49 )
726 nnoise = tabvint(next + 50 )
727 rnoi = tabvint(next + 51 )
728 noisev = tabvint(next + 52 )
729 noisea = tabvint(next + 53 )
730 noisep = tabvint(next + 54 )
731c link
732 nrlink = tabvint(next + 55 )
733 nalelk = tabvint(next + 56 )
734 lllink = tabvint(next + 57 )
735 ENDIF
736
737 next=next+58
738 CALL read_array(anim_n ,tabvint, next, mcheck)
739C
740 next = next+1
741 ioutp_fmt = tabvint(next)
742 next = next+1
743 npropgi = tabvint(next)
744 next = next+1
745 npropmi = tabvint(next)
746 next = next+1
747 nexmad =tabvint(next)
748 next = next+1
749 nmadprt =tabvint(next)
750 next = next+1
751 nmadsh4 =tabvint(next)
752 next = next+1
753 nmadsh3 =tabvint(next)
754 next = next+1
755 nmadsol =tabvint(next)
756 next = next+1
757 nmadnod =tabvint(next)
758 next = next+1
759 ishfram =tabvint(next)
760C--------------------------------------
761 next = next+1
762 nskyrw0 = tabvint(next)
763 next = next+1
764 nskyrbk0 = tabvint(next)
765 next = next+1
766 nbddnod = tabvint(next)
767 next = next+1
768 nbddnrb = tabvint(next)
769 next = next+1
770 multimax = tabvint(next)
771 next = next+1
772 nbddi2m = tabvint(next)
773 next = next+1
774 niskyi2 = tabvint(next)
775 next = next+1
776 lcni2 = tabvint(next)
777 next = next+1
778 i2nsnt = tabvint(next)
779 next = next+1
780 nskymv0 = tabvint(next)
781 next = next+1
782 nskymvc0 = tabvint(next)
783 next = next+1
784 nskyll0 = tabvint(next)
785 next = next+1
786 nbddncj = tabvint(next)
787 next = next+1
788 nbddnrbm = tabvint(next)
789 next = next+1
790 nskyrbm0 = tabvint(next)
791 next = next+1
792 nnodtcut = tabvint(next)
793 next = next+1
794 nnodlcut = tabvint(next)
795 next = next+1
796 nbddrbe3m = tabvint(next)
797 next = next+1
798 nskyrbe30 = tabvint(next)
799C
800 next = next+1
801 nparir = tabvint(next)
802 next = next+1
803 numnodg = tabvint(next)
804 next = next+1
805 numnodm = tabvint(next)
806 next = next+1
807 numelqg = tabvint(next)
808 next = next+1
809 numelcg = tabvint(next)
810 next = next+1
811 numeltgg = tabvint(next)
812 next = next+1
813C empty field
814 next = next+1
815 numelsg = tabvint(next)
816 next = next+1
817 numelpg = tabvint(next)
818 next = next+1
819 numelrg = tabvint(next)
820 next = next+1
821 numeltrg = tabvint(next)
822 next = next+1
823 nb1dg = tabvint(next)
824 next = next+1
825 nskewag = tabvint(next)
826 next = next+1
827 sectiom = tabvint(next)
828 next = next+1
829 numels16g = tabvint(next)
830 next = next+1
831 num16shift = tabvint(next)
832 next = next+1
833 outyy_fmt = tabvint(next)
834 next = next+1
835 nfxbody=tabvint(next)
836 next = next+1
837 lennod=tabvint(next)
838 next = next+1
839 lenmod=tabvint(next)
840 next = next+1
841 lenglm=tabvint(next)
842 next = next+1
843 lencp=tabvint(next)
844 next = next+1
845 lenlm=tabvint(next)
846 next = next+1
847 lenfls=tabvint(next)
848 next = next+1
849 lendls=tabvint(next)
850 next = next+1
851 lenvar=tabvint(next)
852 next = next+1
853 lenrpm=tabvint(next)
854 next = next+1
855 lenmcd=tabvint(next)
856 next = next+1
857 lenelm=tabvint(next)
858 next = next+1
859 lensig=tabvint(next)
860 next = next+1
861 lengrvi=tabvint(next)
862 next = next+1
863 lengrvr=tabvint(next)
864 next = next+1
865 nbipm=tabvint(next)
866 next = next+1
867 nsfxby=tabvint(next)
868 next = next+1
869 neig=tabvint(next)
870 next=next+1
871 neipm=tabvint(next)
872 next=next+1
873 nerpm=tabvint(next)
874 next=next+1
875 leibuf=tabvint(next)
876 next = next+1
877 nintsub = tabvint(next)
878C--------------------------------------
879 next = next+1
880 irootyy = tabvint(next)
881 IF(mcheck/=0)THEN
882 invers = tabvint(next + 1)
883 ncrst = tabvint(next + 2)
884 irltyp = tabvint(next + 3)
885 iretyp = tabvint(next + 4)
886 multirest = tabvint(next + 5)
887 irprev = tabvint(next + 6)
888 ENDIF
889 next = next + 6
890 next = next+1
891 trimat=tabvint(next)
892 next = next+1
893 sphshift = tabvint(next)
894 next = next+1
895 numsphg = tabvint(next)
896 next = next+1
897 numelxg=tabvint(next)
898 next = next+1
899 nithgr=tabvint(next)
900 next = next+1
901 npebcr=tabvint(next)
902 next = next+1
903 nbi18=tabvint(next)
904 next = next+1
905 nskyi18=tabvint(next)
906C partie commun spmd cfd
907 next = next+1
908 nsvois=tabvint(next)
909 next = next+1
910 nqvois=tabvint(next)
911 next = next+1
912 ntgvois = tabvint(next)
913 next = next + 1
914 nrcvvois=tabvint(next)
915 next = next+1
916 nsndvois=tabvint(next)
917 next = next+1
918 nervois=tabvint(next)
919 next = next+1
920 nesvois=tabvint(next)
921 next = next+1
922 ilaw11=tabvint(next)
923 next = next+1
924 nsegcom=tabvint(next)
925 next = next+1
926 numporl=tabvint(next)
927 next = next+1
928 ale%GLOBAL%ICAA=tabvint(next)
929 next = next+1
930 isphbuc=tabvint(next)
931 next = next+1
932 nrdamp=tabvint(next)
933 IF(nrdamp==0) nrdamp=4
934 next=next+1
935 nsproc=tabvint(next)
936 next=next+1
937 ndsolv=tabvint(next)
938 next=next+1
939 nsbmax=tabvint(next)
940 next=next+1
941 nsvmaxt=tabvint(next)
942 next=next+1
943 nsmod=tabvint(next)
944 next=next+1
945 nflow=tabvint(next)
946 next=next+1
947 liflow=tabvint(next)
948 next=next+1
949 lrflow=tabvint(next)
950 next=next+1
951 niflow=tabvint(next)
952 next=next+1
953 niioflow=tabvint(next)
954 next=next+1
955 nrflow=tabvint(next)
956 next=next+1
957 nrioflow=tabvint(next)
958 next=next+1
959 icondp=tabvint(next)
960 next=next+1
961 impl_s0=tabvint(next)
962 next=next+1
963 nfasolfr=tabvint(next)
964 next=next+1
965 nsegquadfr=tabvint(next)
966 next=next+1
967 sfr_lagf=tabvint(next)
968 next=next+1
969 sllagf=tabvint(next)
970 next=next+1
971 nventtot=tabvint(next)
972 next = next + 1
973 numelc0= tabvint(next)
974 next = next + 1
975 numeltg0= tabvint(next)
976 next = next + 1
977 numnod0= tabvint(next)
978 next = next + 1
979 nadmesh = tabvint(next)
980 next = next + 1
981 levelmax = tabvint(next)
982 next = next + 1
983 iadmrule = tabvint(next)
984 next = next + 1
985 ksh4tree= tabvint(next)
986 next = next + 1
987 ksh3tree= tabvint(next)
988 next = next + 1
989 kpadmesh= tabvint(next)
990 next = next + 1
991 kcontact= tabvint(next)
992 next = next + 1
993 kipadmesh= tabvint(next)
994 next = next + 1
995 sicontact= tabvint(next)
996 next = next + 1
997 srcontact= tabvint(next)
998 next = next + 1
999 siskwp= tabvint(next)
1000 next = next + 1
1001 snskwp= tabvint(next)
1002 next = next + 1
1003 sisensp= tabvint(next)
1004 next = next + 1
1005 snsensp= tabvint(next)
1006 next = next + 1
1007 siaccp= tabvint(next)
1008 next = next + 1
1009 snaccp= tabvint(next)
1010 next = next + 1
1011 iisrots = tabvint(next)
1012C
1013C .sta files
1014 next = next + 1
1015 mx_stat0 = tabvint(next)
1016 next = next + 1
1017 istatf = tabvint(next)
1018 IF(mcheck/=0)THEN
1019 DO i=1, mx_stat0
1020 next = next + 1
1021 stat_c(i) = tabvint(next)
1022 ENDDO
1023 ELSE
1024 next = next + mx_stat0
1025 END IF
1026C .dyain files
1027 next = next + 1
1028 dynain_data%IDYNAINF = tabvint(next)
1029 IF(mcheck/=0)THEN
1030 DO i=1, dynain_data%MX_DYNAIN
1031 next = next + 1
1032 dynain_data%DYNAIN_C(i) = tabvint(next)
1033 ENDDO
1034 ELSE
1035 next = next + dynain_data%MX_DYNAIN
1036 END IF
1037 next = next + 1
1038 dynain_data%DYNAIN_CHECK = tabvint(next)
1039C heat transfer + int7
1040 next=next+1
1041 glob_therm%INTHEAT = tabvint(next)
1042C xfem
1043 next=next+1
1044 numelcrk=tabvint(next)
1045 next=next+1
1046 nlevset=tabvint(next)
1047C---------------------------------------
1048C heat transfer
1049 next=next+1
1050 glob_therm%ITHERM_FE=tabvint(next)
1051C Static condensation
1052 next=next+1
1053 istatcnd=tabvint(next)
1054C Unit info
1055 next = next + 1
1056 lunit = tabvint(next)
1057 next = next + 1
1058 nunit0 = tabvint(next)
1059 next = next + 1
1060 nunits = tabvint(next)
1061C
1062 next = next + 1
1063 lsh4trim = tabvint(next)
1064 next = next + 1
1065 lsh3trim = tabvint(next)
1066C
1067 next = next + 1
1068 iadmerrt = tabvint(next)
1069C
1070 next = next + 1
1071 impose_dr = tabvint(next)
1072C
1073 next = next + 1
1074 nintstamp = tabvint(next)
1075C
1076 next = next + 1
1077 inter_ithknod = tabvint(next) !defined in interface module (common_source directory)
1078C
1079C rigid material
1080C
1081 next = next + 1
1082 irigid_mat = tabvint(next)
1083C
1084 next = next + 1
1085 nrbym = tabvint(next)
1086C
1087 next = next + 1
1088 ngslnrbym = tabvint(next)
1089C
1090 next = next + 1
1091 nfrbym = tabvint(next)
1092C
1093 next = next + 1
1094 nirbym = tabvint(next)
1095c
1096 next = next + 1
1097 nskyrbmk0 = tabvint(next)
1098C-----------
1099 next = next + 1
1100 glob_therm%NIFT = tabvint(next)
1101 next = next + 1
1102 glob_therm%NICONV = tabvint(next)
1103 next = next + 1
1104 glob_therm%LFACTHER = tabvint(next)
1105 next = next + 1
1106 glob_therm%NUMCONV = tabvint(next)
1107 next = next + 1
1108 glob_therm%NFXTEMP = tabvint(next)
1109C--------------------------------------
1110C stapming : modification of warning messages in engine
1111 next = next + 1
1112 istamping = tabvint(next)
1113C-----RBE3
1114 next = next + 1
1115 nrbe3 = tabvint(next)
1116 rbe3%NRBE3 = nrbe3 ! Number of RBE3 on domain
1117 next = next + 1
1118 sirbe3 = tabvint(next) ! zize of irbe3 = nrbe3 * irbe3_variables (10)
1119 next = next + 1
1120 slrbe3 = tabvint(next)
1121 rbe3%lrbe3_sz = slrbe3 ! Size of lrbe3
1122 next = next + 1
1123 sfrbe3 = tabvint(next)
1124 rbe3%frbe3_sz = sfrbe3 ! Size of frbe3
1125 next = next + 1
1126 siad_rbe3m = tabvint(next)
1127 ! = nspmd+1
1128 next = next + 1
1129 sfr_rbe3m = tabvint(next)
1130 rbe3%mpi%fr_rbe3_sz = sfr_rbe3m
1131C-------------------------------------------------------------------
1132C spmd rigid material
1133 next = next + 1
1134 sfr_rbym =tabvint(next)
1135 next = next + 1
1136 sfr_rbym2 =tabvint(next)
1137C Noise arrays
1138 next = next + 1
1139 sinoise = tabvint(next)
1140 next = next + 1
1141 sfnoise = tabvint(next)
1142 next = next + 1
1143 nnoise_sav = tabvint(next)
1144C--------------------------------------
1145C shell xfem
1146 next = next + 1
1147 iplyxfem = tabvint(next)
1148 next = next + 1
1149 nplymax = tabvint(next)
1150 next = next + 1
1151 iplybcs = tabvint(next)
1152 next = next + 1
1153 nplyxfe = tabvint(next)
1154 next = next + 1
1155 eplyxfe = tabvint(next)
1156C--------------------------------------
1157 next = next + 1
1158 ngrpart = tabvint(next)
1159C--------------------------------------
1160C Madymo array
1161 next = next + 1
1162 smadidx = tabvint(next)
1163C--------------------------------------
1164C Madcl nodes
1165 next = next + 1
1166 madclnods = tabvint(next)
1167C
1168 next = next + 1
1169 idtmins_old = tabvint(next)
1170 next = next + 1
1171 idtgrs_old = tabvint(next)
1172C--------------------------------------
1173 next = next + 1
1174 ireac = tabvint(next)
1175C--------------------------------------
1176 next = next + 1
1177 snom_sect = tabvint(next)
1178C--------------------------------------
1179 next = next + 1
1180 igrelem = tabvint(next)
1181C--------------------------------------
1182 next = next + 1
1183 nthpart = tabvint(next)
1184C--------------------------------------
1185 next = next + 1
1186 irest_mselt = tabvint(next)
1187C--------------------------------------
1188 next = next + 1
1189 nthread0= tabvint(next)
1190C--------------------------------------
1191 next = next + 1
1192 idrot = tabvint(next)
1193 next = next + 1
1194 glob_therm%NIRADIA = tabvint(next)
1195 next = next + 1
1196 glob_therm%NUMRADIA = tabvint(next)
1197C--------------------------------------
1198 next = next+1
1199 glob_therm%NITFLUX = tabvint(next)
1200 next = next+1
1201 glob_therm%NFXFLUX = tabvint(next)
1202C--------------------------------------
1203 next = next + 1
1204 IF(mcheck/=0)nsmspcg = tabvint(next)
1205C--------------------------------------
1206 next = next + 1
1207 ntable = tabvint(next)
1208C----Rbe2----
1209 next = next+1
1210 nbddnrbe2 = tabvint(next)
1211 next = next + 1
1212 nrbe2 = tabvint(next)
1213 next = next + 1
1214 sirbe2 = tabvint(next)
1215 next = next + 1
1216
1217 slrbe2 = tabvint(next)
1218 next = next + 1
1219 siad_rbe2 = tabvint(next)
1220 next = next + 1
1221 sfr_rbe2 = tabvint(next)
1222 next = next + 1
1223 nhrbe2 = tabvint(next)
1224C
1225C --- simplified ale option + lagrange
1226C
1227 next = next + 1
1228 ialelag = tabvint(next)
1229C
1230 next = next + 1
1231 nrbe2g=tabvint(next)
1232C
1233 next = next + 1
1234 nrbe3g=tabvint(next)
1235C
1236C--------------------------------------
1237C ... shell 4-N + shell 3-N (X-FEM)
1238 next=next+1
1239 icrack3d=tabvint(next)
1240C ply xfem (parit on)
1241 next=next+1
1242 lcnepxfem =tabvint(next)
1243 next = next + 1
1244 sithvar = tabvint(next)
1245 next=next+1
1246 nplynodg = tabvint(next)
1247C --- Need NXREF Option for Modif files / SPMD
1248 next = next + 1
1249 nxref = tabvint(next)
1250C
1251 next = next + 1
1252 idtmins_int_old = tabvint(next)
1253C
1254 next = next +1
1255 slcfield = tabvint(next)
1256 next = next + 1
1257 nload = tabvint(next)
1258 next = next + 1
1259 idamp_rdof = tabvint(next)
1260 next = next + 1
1261 lskew = tabvint(next)
1262 next = next + 1
1263 liskn = tabvint(next)
1264 next = next + 1
1265 lfxvelr = tabvint(next)
1266C
1267 next = next + 1
1268 nloadc = tabvint(next)
1269 next = next + 1
1270 slloadp = tabvint(next)
1271 next = next + 1
1272 nloadp = tabvint(next)
1273 next = next + 1
1274 nloadp_hyd = tabvint(next)
1275 next = next + 1
1276 nintloadp = tabvint(next)
1277 next = next + 1
1278 nintloadp21 = tabvint(next)
1279C xfem for layered shell (cracks)
1280 next=next+1
1281 lcnecrkxfem=tabvint(next)
1282 next = next + 1
1283 ncrkxfe = tabvint(next)
1284 next = next + 1
1285 ecrkxfe = tabvint(next)
1286 next = next + 1
1287 nlevmax = tabvint(next)
1288 next = next + 1
1289 ncrknodg = tabvint(next)
1290 next = next + 1
1291 ienrnod = tabvint(next)
1292 next = next + 1
1293 sibufssg_io = tabvint(next)
1294 next = next + 1
1295 nibsph = tabvint(next)
1296 next = next + 1
1297 slinale = tabvint(next)
1298 next = next + 1
1299 nsubmod = tabvint(next)
1300 next = next + 1
1301 ale%GLOBAL%NALENOVS = tabvint(next)
1302C
1303 next = next + 1
1304 lnopt1 = tabvint(next)
1305 next = next + 1
1306 lilset1 = tabvint(next)
1307 next = next + 1
1308 lislin1 = tabvint(next)
1309 next = next + 1
1310 ltitr = tabvint(next)
1311 next = next + 1
1312 lisurf1 = tabvint(next)
1313 next = next + 1
1314 lipart1 = tabvint(next)
1315 next = next + 1
1316 sizfield = tabvint(next)
1317 next = next + 1
1318 sizloadp = tabvint(next)
1319 next = next + 1
1320 i2nsn25 = tabvint(next)
1321 next = next + 1
1322 lvoisph = tabvint(next)
1323 next = next + 1
1324 IF(mcheck /= 0 ) anim_ply = tabvint(next)
1325 next = next + 1
1326 sibordnode = tabvint(next)
1327 next = next + 1
1328 siedgesh = tabvint(next)
1329C multilayer xfem shell
1330 next = next + 1
1331 ecrkxfec = tabvint(next)
1332 next = next + 1
1333 ecrkxfetg = tabvint(next)
1334 next = next + 1
1335 numedges = tabvint(next)
1336c inter22
1337 next = next + 1
1338 int22 = tabvint(next)
1339 next = next + 1
1340 i22_aleul= tabvint(next)
1341 next = next + 1
1342 nsub22 = tabvint(next)
1343 next = next + 1
1344 ioutp22 = tabvint(next)
1345 next = next + 1
1346 i22law37 = tabvint(next)
1347 next = next + 1
1348 i22law51 = tabvint(next)
1349c
1350 next = next + 1
1351 icrash = tabvint(next)
1352C
1353 next = next + 1
1354 siad_edge = tabvint(next)
1355 next = next + 1
1356 sfr_edge = tabvint(next)
1357 next = next + 1
1358 sfr_nbedge= tabvint(next)
1359C
1360 next = next + 1
1361 nbgauge = tabvint(next)
1362 next = next + 1
1363 llaccelm = tabvint(next)
1364 next = next + 1
1365 llgauge = tabvint(next)
1366c
1367 next = next + 1
1368 sigaup= tabvint(next)
1369 next = next + 1
1370 sngaup= tabvint(next)
1371C
1372 next=next+1
1373 sdd_r2r_elem=tabvint(next)
1374 next=next+1
1375 r2r_siu=tabvint(next)
1376C heat trasfert for interface Type21 : main temperature is variable
1377 next = next + 1
1378 ftempvar21 = tabvint(next)
1379C
1380 next = next + 1
1381 numnodxfe=tabvint(next)
1382 next = next + 1
1383 snodglobxfe=tabvint(next)
1384c
1385 next = next + 1
1386 nsphsol= tabvint(next)
1387 next = next + 1
1388 first_sphsol= tabvint(next)
1389C
1390 next = next + 1
1391 iddom=tabvint(next)
1392 next = next + 1
1393 nummat0=tabvint(next)
1394 next = next + 1
1395 numgeo0=tabvint(next)
1396C
1397 next = next + 1
1398 intplyxfem = tabvint(next)
1399C
1400 next = next + 1
1401 i22len = tabvint(next)
1402C
1403 next = next + 1
1404 ncluster = tabvint(next)
1405C
1406 next = next + 1
1407 nxlaymax = tabvint(next)
1408C
1409 next = next+1
1410 srthbuf = tabvint(next)
1411C
1412 next = next + 1
1413 numelig3d = tabvint(next)
1414 next = next + 1
1415 skxig3d = tabvint(next)
1416 next = next + 1
1417 sixig3d = tabvint(next)
1418 next = next + 1
1419 sknot = tabvint(next)
1420 next = next + 1
1421 sknotlocpc = tabvint(next)
1422 next = next + 1
1423 sknotlocel = tabvint(next)
1424 next = next + 1
1425 numfakenodigeo = tabvint(next)
1426 next = next + 1
1427 deg_max = tabvint(next)
1428C
1429 next = next + 1
1430 nxel = tabvint(next)
1431C
1432 next = next + 1
1433 nfilsol = tabvint(next)
1434C
1435 next=next+1
1436 sensors%SFSAV = tabvint(next)
1437C
1438 next=next+1
1439 sensors%STABSEN = tabvint(next)
1440C Stack info
1441 next = next + 1
1442 ipart_stack = tabvint(next)
1443 next = next + 1
1444 npt_stack = tabvint(next)
1445 next = next + 1
1446 ns_stack = tabvint(next)
1447C
1448 next = next + 1
1449 alefvm_param%IEnabled = tabvint(next)
1450 next = next + 1
1451 alefvm_param%ISOLVER = tabvint(next)
1452C MUSCL keyword, compression parameter beta
1453 next = next + 1
1454 alemuscl_param%IALEMUSCL = tabvint(next)
1455 alemuscl_param%IALEMUSCL = alemuscl_param%IALEMUSCL * (1-alemuscl_param%I_MUSCL_OFF) !/ALE/MUSCL/OFF : freform.F
1456 next = next + 1
1457 alemuscl_param%BETA = tabvint(next)
1458 next = next + 1
1459 alemuscl_param%I_LAW = tabvint(next)
1460C ITETRA=3
1461 next=next+1
1462 isfem =tabvint(next)
1463C /LOAD/PBLAST
1464 next = next + 1
1465 nloadp_f = tabvint(next)
1466 next = next + 1
1467 pblast%NLOADP_B = tabvint(next)
1468 next = next + 1
1469 loads%NLOAD_CYL = tabvint(next)
1470C
1471 next = next + 1
1472 IF(mcheck/=0) idtmin(51)= tabvint(next)
1473C /DT/FVMBAG
1474 next = next + 1
1475 IF(mcheck/=0) idtmin(52)= tabvint(next)
1476C
1477 next = next + 1
1478 nbr_gpmp = tabvint(next)
1479C
1480 next = next + 1
1481 taille = tabvint(next)
1482C
1483 next = next + 1
1484 ninter25 = tabvint(next)
1485C
1486 next = next + 1
1487 numnor = tabvint(next)
1488C
1489 next = next + 1
1490 nbddnort = tabvint(next)
1491C
1492 next = next + 1
1493 nbddnor_max = tabvint(next)
1494C
1495 next = next + 1
1496 nbccfr25 = tabvint(next)
1497C
1498 next = next + 1
1499 nbccnor = tabvint(next)
1500C
1501 next = next + 1
1502 nbddedgt = tabvint(next)
1503C
1504 next = next + 1
1505 nbddedg_max = tabvint(next)
1506C
1507 next = next + 1
1508 nsnt25 = tabvint(next)
1509C
1510 next = next + 1
1511 nrtmx25 = tabvint(next)
1512C--------------------------------------
1513C drape option
1514 next = next + 1
1515 ndrape = tabvint(next)
1516C Element activation
1517 next = next + 1
1518 lractiv = tabvint(next)
1519C ID_PLY -> animation file
1520 next = next + 1
1521 numply = tabvint(next)
1522C ID_PLY -> animation file
1523 next = next + 1
1524 numstack = tabvint(next)
1525C
1526 next = next + 1
1527 tabmp_l = tabvint(next)
1528C SOL2SPH flag
1529 next = next + 1
1530 sol2sph_flag = tabvint(next)
1531 next = next + 1
1532 itsol2sph = tabvint(next)
1533C ISFINT flag
1534 next = next + 1
1535 IF(ale%GLOBAL%ISFINT==0)THEN
1536 !no engine keyword (/ALE/SOLVER) affecting ISFINT, then use starter setting
1537 ale%GLOBAL%ISFINT = tabvint(next)
1538 ENDIF
1539C ICNDS10 dyna condensation for S10
1540 next = next + 1
1541 ns10e = tabvint(next)
1542 next = next + 1
1543 lcncnd = tabvint(next)
1544 next = next + 1
1545 siad_cndm = tabvint(next)
1546 next = next + 1
1547 sfr_cndm = tabvint(next)
1548C---- old local sys of shell3n
1549 next = next+1
1550 ish3nfram =tabvint(next)
1551 next = next+1
1552 stab_mat = tabvint(next)
1553C SMS auto switch
1554 next = next + 1
1555 isms_selec = tabvint(next)
1556 next = next + 1
1557 isused = tabvint(next)
1558 multi_fvm%IS_USED = .false.
1559 IF (isused == 1) THEN
1560 multi_fvm%IS_USED = .true.
1561 multi_fvm%BETA = alemuscl_param%BETA
1562 ENDIF
1563 next = next + 1
1564 isused = tabvint(next)
1565 multi_fvm%NBMAT = isused
1566C---- old Isolid17
1567 next = next+1
1568 is17_old =tabvint(next)
1569C IH3D -> H3D count
1570 next = next + 1
1571 h3d_data%IH3D = tabvint(next)
1572C
1573 next = next + 1
1574 numels10g = tabvint(next)
1575C
1576 next = next + 1
1577 numels20g = tabvint(next)
1578!
1579 next = next + 1
1580 ale%GLOBAL%I_DT_NODA_ALE_ON = tabvint(next)
1581c interface adhesion
1582 next = next + 1
1583 interadhesion = tabvint(next)
1584C Friction interface
1585 next = next + 1
1586 ninterfric = tabvint(next)
1587!
1588 next = next + 1
1589 lensubs = tabvint(next)
1590!
1591 next = next + 1
1592 lenigrnod = tabvint(next)
1593!
1594 next = next + 1
1595 lenigrbric = tabvint(next)
1596!
1597 next = next + 1
1598 lenigrquad = tabvint(next)
1599!
1600 next = next + 1
1601 lenigrsh4n = tabvint(next)
1602!
1603 next = next + 1
1604 lenigrsh3n = tabvint(next)
1605!
1606 next = next + 1
1607 lenigrtrus = tabvint(next)
1608!
1609 next = next + 1
1610 lenigrbeam = tabvint(next)
1611!
1612 next = next + 1
1613 lenigrspri = tabvint(next)
1614!
1615 next = next + 1
1616 lenigrpart = tabvint(next)
1617!
1618 next = next + 1
1619 lenisurf = tabvint(next)
1620!
1621 next = next + 1
1622 lenislin = tabvint(next)
1623!
1624 IF(mcheck/=0)THEN
1625 next = next + 1
1626 idts6 = tabvint(next)
1627 next = next + 1
1628 idt1sol = tabvint(next)
1629 next = next + 1
1630 idt1tet10= tabvint(next)
1631 next = next + 1
1632 idt1sh = tabvint(next)
1633
1634 ELSE
1635 next = next + 4
1636 END IF
1637!
1638! H3D -> number of inter skid lines
1639 next = next + 1
1640 nintskidold= tabvint(next)
1641! H3D ANIM-> Is maximum contact force /contact pressure computed
1642 next = next + 1
1643 ifcontmax = tabvint(next)
1644 next = next + 1
1645 ifcontpmax = tabvint(next)
1646 next = next + 1
1647 ifcont2max = tabvint(next)
1648 next = next + 1
1649 ifcontp2max= tabvint(next)
1650 next = next + 1
1651 ifcont2min = tabvint(next)
1652 next = next + 1
1653 ifcontp2min= tabvint(next)
1654 next = next + 1
1655 s_efric = tabvint(next)
1656 next = next + 1
1657 s_efricint = tabvint(next)
1658 next = next + 1
1659 s_efricg = tabvint(next)
1660 next = next + 1
1661 s_efricintg = tabvint(next)
1662 next = next + 1
1663 ninefric = tabvint(next)
1664 next = next + 1
1665 ninefric_stamp = tabvint(next)
1666C NITSCHE METHOD
1667 next=next+1
1668 nitsche = tabvint(next)
1669C Pinching
1670 next = next+1
1671 npinch = tabvint(next)
1672 next = next+1
1673 nploadpinch = tabvint(next)
1674
1675!
1676 next=next+1
1677 IF(ale%UPWIND%I_SUPG_ON_OFF==0) ale%UPWIND%I_SUPG_ON_OFF = tabvint(next)
1678
1679 next = next + 1
1680 nledge = tabvint(next)
1681!
1682 next = next + 1
1683 inispri = tabvint(next)
1684!
1685 next = next + 1
1686 sens_nstop = tabvint(next)
1687 next = next + 1
1688 sens_nstat = tabvint(next)
1689 next = next + 1
1690 sens_noutp = tabvint(next)
1691 next = next + 1
1692 sens_nanim = tabvint(next)
1693 IF (mcheck /= 0) THEN ! rerun after chkpoint restart => use previous run settings
1694 sensors%NSTOP = sens_nstop
1695 sensors%NSTAT = sens_nstat
1696 sensors%NOUTP = sens_noutp
1697 sensors%NANIM = sens_nanim
1698 ALLOCATE (sensors%STOP(sensors%NSTOP))
1699 ALLOCATE (sensors%OUTP(sensors%NOUTP))
1700 ALLOCATE (sensors%STAT(sensors%NSTAT))
1701 ALLOCATE (sensors%ANIM(sensors%NANIM))
1702 sensors%STOP = 0
1703 sensors%OUTP = 0
1704 sensors%STAT = 0
1705 sensors%ANIM = 0
1706 END IF
1707!
1708 next = next + 1
1709 nibcld = tabvint(next)
1710 next = next + 1
1711 lfaccld = tabvint(next)
1712!
1713 next = next + 1
1714 nigrv = tabvint(next)
1715 next = next + 1
1716 lfacgrv = tabvint(next)
1717!
1718C BCS/CYCLIC
1719 next = next + 1
1720 nbcscyc = tabvint(next)
1721 next = next + 1
1722 sibcscyc = tabvint(next)
1723 next = next + 1
1724 slbcscyc = tabvint(next)
1725
1726 next = next + 1
1727 inter18_autoparam = tabvint(next)
1728 next = next + 1
1729 IF(tabvint(next) == 1)inter18_is_variable_gap_defined = .true.
1730
1731 IF ((iale > 0 .AND. ale%GRID%NWALE_RST == 6) .OR.
1732 . inter18_autoparam == 1 .OR. inter18_is_variable_gap_defined) THEN
1733 next = next + 1
1734 ne_slercvois = tabvint(next)
1735 next = next + 1
1736 ne_slesdvois = tabvint(next)
1737 next = next + 1
1738 ne_nsvois = tabvint(next)
1739 next = next + 1
1740 ne_nqvois = tabvint(next)
1741 next = next + 1
1742 ne_ntgvois = tabvint(next)
1743 ENDIF
1744
1745 next = next + 1
1746 pdel = tabvint(next)
1747
1748C-----Seatbelts - slipring / retractors
1749 next = next + 1
1750 nslipring = tabvint(next)
1751 next = next + 1
1752 nretractor = tabvint(next)
1753 next = next + 1
1754 nslipring_g = tabvint(next)
1755 next = next + 1
1756 nretractor_g = tabvint(next)
1757 next = next + 1
1758 n_anchor_remote = tabvint(next)
1759 next = next + 1
1760 n_anchor_remote_send = tabvint(next)
1761 next = next + 1
1762 n_seatbelt = tabvint(next)
1763 next = next + 1
1764 n_seatbelt_2d = tabvint(next)
1765C
1766 next = next + 1
1767 lastanimcycle = tabvint(next)
1768
1769 next = next + 1
1770 lasth3dcycle = tabvint(next)
1771
1772 next = next + 1
1773 lastdyncycle = tabvint(next)
1774
1775 next = next + 1
1776 laststatcycle = tabvint(next)
1777C
1778C---- Starter input version
1779 next = next + 1
1780 st_invers = tabvint(next)
1781C
1782C---- Number of RBODY before merge
1783 next = next + 1
1784 nrbody0 = tabvint(next)
1785C---- MAX (/H3D)
1786 next = next + 1
1787 lmax_dis = tabvint(next)
1788 next = next + 1
1789 lmax_vel = tabvint(next)
1790 next = next + 1
1791 lmax_nsig = tabvint(next)
1792 next = next + 1
1793 lmax_nstra = tabvint(next)
1794C---- Time history strain flag
1795 next = next + 1
1796 th_strain = tabvint(next)
1797C draped shell element
1798 next = next + 1
1799 numelc_drape= tabvint(next)
1800 next = next + 1
1801 numeltg_drape= tabvint(next)
1802C
1803 next = next + 1
1804 inter_parameters%ISTIF_DT = tabvint(next)
1805C
1806 next = next + 1
1807 inter_parameters%INTCAREA = tabvint(next)
1808C
1809C /LOAD/CLOAD
1810 next = next + 1
1811 loads%NLOAD_CLOAD = tabvint(next)
1812C /LOAD/PLOAD
1813 next = next + 1
1814 loads%NLOAD_PLOAD = tabvint(next)
1815C-----/DAMP/VREL
1816 next = next + 1
1817 ndamp_vrel = tabvint(next)
1818!
1819 next = next + 1
1820 inter_parameters%INT25_EROSION_SOLID = tabvint(next)
1821C /INIVEL
1822 next = next + 1
1823 loads%NINIVELT = tabvint(next)
1824! ALE%REZON
1825 next = next + 1
1826 ale%REZON%NUM_NUVAR_MAT = tabvint(next)
1827 next = next + 1
1828 ale%REZON%NUM_NUVAR_EOS = tabvint(next)
1829C
1830 ! Initialize variables from Restart
1831 ! ----------------------------------
1832 ! Skews
1833 skews%SKEW_NUMBER=numskw ! Copy the Skew Number in SKEW_ type
1834 skews%N_SKEW_VAR= lskew ! Copy the number of variables per skew
1835 skews%TOTAL_SKEW_NUMBER = numskw + 1 + min(1,nspcond)*numsph + nsubmod ! skew array contains deck skews + 1 skew per SPH + 1 Skew per Submodel
1836C--------------------------------------
1837 RETURN
1838 END
1839!||====================================================================
1840!|| rdcomr ../engine/source/output/restart/rdcomm.F
1841!||--- called by ------------------------------------------------------
1842!|| rdresb ../engine/source/output/restart/rdresb.F
1843!||--- uses -----------------------------------------------------
1844!|| ale_mod ../common_source/modules/ale/ale_mod.F
1845!|| anim_mod ../common_source/modules/output/anim_mod.F
1846!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
1847!|| multimat_param_mod ../common_source/modules/multimat_param_mod.F90
1848!|| output_mod ../common_source/modules/output/output_mod.F90
1849!|| outputs_mod ../common_source/modules/outputs_mod.F
1850!|| parameters_mod ../common_source/modules/interfaces/parameters_mod.F
1851!|| state_mod ../common_source/modules/state_mod.F
1852!||====================================================================
1853 SUBROUTINE rdcomr(LMXVREA,TABVREA,DYNAIN_DATA,INTER_PARAMETERS,
1854 . OUTPUT,GLOB_THERM)
1855C-----------------------------------------------
1856C M o d u l e s
1857C-----------------------------------------------
1858 USE anim_mod
1859 USE outputs_mod
1860 USE state_mod
1861 USE ale_mod
1862 USE parameters_mod
1863 USE output_mod
1864 USE multimat_param_mod , ONLY : m51_iflg6
1865 USE glob_therm_mod
1866C-----------------------------------------------
1867C I m p l i c i t T y p e s
1868C-----------------------------------------------
1869#include "implicit_f.inc"
1870C-----------------------------------------------
1871C A r g u m e n t s
1872C-----------------------------------------------
1873 INTEGER LMXVREA
1874 my_real TABVREA(LMXVREA)
1875 TYPE (DYNAIN_DATABASE), INTENT(INOUT) :: DYNAIN_DATA
1876 TYPE (PARAMETERS_) ,INTENT(INOUT):: INTER_PARAMETERS
1877 TYPE(output_), INTENT(INOUT) :: OUTPUT !< output structure
1878 TYPE (glob_therm_) , INTENT(INOUT) :: GLOB_THERM
1879C-----------------------------------------------
1880C C o m m o n B l o c k s
1881C-----------------------------------------------
1882#include "com06_c.inc"
1883#include "com08_c.inc"
1884#include "cong2_c.inc"
1885#include "couple_c.inc"
1886#include "lagmult.inc"
1887#include "remesh_c.inc"
1888#include "scr06_c.inc"
1889#include "scr07_c.inc"
1890#include "scr11_c.inc"
1891#include "scr18_c.inc"
1892#include "scr19_c.inc"
1893#include "scrnoi_c.inc"
1894#include "sms_c.inc"
1895#include "sphcom.inc"
1896#include "sysunit.inc"
1897#include "statr_c.inc"
1898#include "inter22.inc"
1899#include "itet2_c.inc"
1900C-----------------------------------------------
1901#include "ddspmd_c.inc"
1902C-----------------------------------------------
1903C L o c a l V a r i a b l e s
1904C-----------------------------------------------
1905 INTEGER I,RVARINT,J
1906C-----------------------------------------------
1907C-----
1908 tt =tabvrea(1)
1909 dt1 =tabvrea(2)
1910 dt2 =tabvrea(3)
1911 dt12 =tabvrea(4)
1912 dt2old =tabvrea(5)
1913 tstop =tabvrea(6)
1914 !TABVREA(7) no longer used
1915 output%TH%THIS =tabvrea(8)
1916C-----
1917 !TABVREA(9) no longer used
1918 output%TH%DTHIS =tabvrea(10)
1919 dtfac =tabvrea(11)
1920 dtmin =tabvrea(12)
1921 volmin =tabvrea(13)
1922 output%TH%WFEXT =tabvrea(14)
1923 reint =tabvrea(15)
1924 !TABVREA(16) no longer used
1925 !TABVREA(17) no longer used
1926 dtanim =tabvrea(18)
1927 tanim =tabvrea(19)
1928 ureint =tabvrea(20)
1929 econtv =tabvrea(21)
1930 ehour =tabvrea(22)
1931 dtoutp =tabvrea(23)
1932 toutp =tabvrea(24)
1933 t1s =tabvrea(25)
1934 dt2s =tabvrea(26)
1935 epor =tabvrea(27)
1936 ! unused USREINT=TABVREA(28)
1937 r2rfx1 =tabvrea(29)
1938 r2rfx2 =tabvrea(30)
1939 dampa =tabvrea(31)
1940 dampb =tabvrea(32)
1941 dampw =tabvrea(33)
1942C-----
1943 ale%GRID%ALPHA = tabvrea(34)
1944 ale%GRID%GAMMA = tabvrea(35)
1945 ale%GRID%VGX = tabvrea(36)
1946 ale%GRID%VGY = tabvrea(37)
1947 ale%GRID%VGZ = tabvrea(38)
1948C-----
1949 spasort=tabvrea(39)
1950 spatrue=tabvrea(40)
1951 DO i=1,9
1952 output%TH%DTHIS1(i) = tabvrea(40+i)
1953 output%TH%THIS1(i) = tabvrea(49+i)
1954 ENDDO
1955 mass0 = tabvrea(59)
1956 entot0 = tabvrea(60)
1957 lagm_tol =tabvrea(61)
1958 lag_alph =tabvrea(62)
1959 lag_alphs=tabvrea(63)
1960
1961C-----
1962C read/write next real variable at TABVREA(LVR44A+1) if LVARREA > LVR44A, else, set its value to zero.
1963C (whatever the real common to store the variable).
1964C--------------------------------------
1965 IF(mcheck/=0)THEN
1966 DO i=1,12
1967 dtfac1(i) = tabvrea(63 + i)
1968 dtmin1(i) = tabvrea(63 + 12 +i)
1969 ENDDO
1970 beta = tabvrea(88)
1971 betate = tabvrea(89)
1972 period = tabvrea(90)
1973 dmtmxs = tabvrea(91)
1974 dmnmxs = tabvrea(92)
1975 dmnmxs = tabvrea(93)
1976 dtin = tabvrea(94)
1977 dtmx = tabvrea(95)
1978 madul = tabvrea(96)
1979 madut = tabvrea(97)
1980 madum = tabvrea(98)
1981 ale%SUB%DTFSUB = tabvrea(99)
1982 ale%SUB%DTMSUB = tabvrea(100)
1983 eps = tabvrea(101)
1984 eps2 = tabvrea(102)
1985 ale%UPWIND%CUPWM = tabvrea(103)
1986c noise
1987 tnoise = tabvrea(104)
1988 dtnoise= tabvrea(105)
1989 ENDIF
1990
1991 dwmad = tabvrea(106)
1992 fac_mass = tabvrea(107)
1993 fac_length = tabvrea(108)
1994 fac_time = tabvrea(109)
1995 t1sh = tabvrea(110)
1996 ale%UPWIND%UPWSM = tabvrea(111)
1997
1998 rvarint = 111
1999
2000 rvarint = rvarint + 1
2001 tpsref = tabvrea(rvarint)
2002C THERMAL ANALYSIS
2003 rvarint = rvarint + 1
2004 glob_therm%HEAT_STORED = tabvrea(rvarint)
2005 rvarint = rvarint + 1
2006 glob_therm%HEAT_MECA = tabvrea(rvarint)
2007 rvarint = rvarint + 1
2008 glob_therm%HEAT_CONV = tabvrea(rvarint)
2009 rvarint = rvarint + 1
2010 glob_therm%HEAT_RADIA = tabvrea(rvarint)
2011 rvarint = rvarint + 1
2012 glob_therm%HEAT_FFLUX = tabvrea(rvarint)
2013C SOL1TNL array
2014 DO i=0, maxlaw
2015 rvarint = rvarint + 1
2016 sol1tnl(i,1) = tabvrea(rvarint)
2017 rvarint = rvarint + 1
2018 sol1tnl(i,2) = tabvrea(rvarint)
2019 ENDDO
2020C SOL8TNL array
2021 DO i=0, maxlaw
2022 rvarint = rvarint + 1
2023 sol8tnl(i,1) = tabvrea(rvarint)
2024 rvarint = rvarint + 1
2025 sol8tnl(i,2) = tabvrea(rvarint)
2026 ENDDO
2027
2028C TET4TNL array
2029 DO i=0, maxlaw
2030 rvarint = rvarint + 1
2031 tet4tnl(i,1) = tabvrea(rvarint)
2032 ENDDO
2033C TET10TNL array
2034 DO i=0, maxlaw
2035 rvarint = rvarint + 1
2036 tet10tnl(i,1) = tabvrea(rvarint)
2037 ENDDO
2038
2039C SHTNL array
2040 DO i=0, maxlaw
2041 DO j=0,3
2042 rvarint = rvarint + 1
2043 shtnl(i,j,1) = tabvrea(rvarint)
2044 rvarint = rvarint + 1
2045 shtnl(i,j,2) = tabvrea(rvarint)
2046 rvarint = rvarint + 1
2047 shtnl(i,j,3) = tabvrea(rvarint)
2048 ENDDO
2049 ENDDO
2050C TRITNL array
2051 DO i=0, maxlaw
2052 DO j=0,3
2053 rvarint = rvarint + 1
2054 tritnl(i,j,1) = tabvrea(rvarint)
2055 rvarint = rvarint + 1
2056 tritnl(i,j,2) = tabvrea(rvarint)
2057 rvarint = rvarint + 1
2058 tritnl(i,j,3) = tabvrea(rvarint)
2059 ENDDO
2060 ENDDO
2061C SOLTELT array
2062 DO i=1,8
2063 rvarint = rvarint + 1
2064 soltelt(i) = tabvrea(rvarint)
2065 ENDDO
2066
2067 rvarint = rvarint + 1
2068 tet4telt(1) = tabvrea(rvarint)
2069 rvarint = rvarint + 1
2070 tet10telt(1) = tabvrea(rvarint)
2071
2072C SHTELT array
2073 DO i=1,10
2074 rvarint = rvarint + 1
2075 shtelt(i) = tabvrea(rvarint)
2076 ENDDO
2077C TRITELT array
2078 DO i=1,10
2079 rvarint = rvarint + 1
2080 tritelt(i) = tabvrea(rvarint)
2081 ENDDO
2082C
2083C .sta files
2084 rvarint = rvarint + 1
2085 dtstat = tabvrea(rvarint)
2086 rvarint = rvarint + 1
2087 tstat = tabvrea(rvarint)
2088C
2089C .dynain files
2090 rvarint = rvarint + 1
2091 dynain_data%DTDYNAIN = tabvrea(rvarint)
2092 rvarint = rvarint + 1
2093 dynain_data%TDYNAIN = tabvrea(rvarint)
2094C
2095 rvarint = rvarint + 1
2096 tadmesh = tabvrea(rvarint)
2097 rvarint = rvarint + 1
2098 dtadmesh= tabvrea(rvarint)
2099C
2100 rvarint = rvarint + 1
2101 dtfacs_old = tabvrea(rvarint)
2102 rvarint = rvarint + 1
2103 dtmins_old = tabvrea(rvarint)
2104C
2105 rvarint = rvarint + 1
2106 IF(mcheck/=0) tol_sms = tabvrea(rvarint)
2107C abf files
2108 DO i=1,10
2109 rvarint = rvarint + 1
2110 tabfis(i) = tabvrea(rvarint)
2111 rvarint = rvarint + 1
2112 dtabf(i) = tabvrea(rvarint)
2113 rvarint = rvarint + 1
2114 dtabfwr(i) = tabvrea(rvarint)
2115 rvarint = rvarint + 1
2116 tabfwr(i) = tabvrea(rvarint)
2117 ENDDO
2118C
2119 rvarint = rvarint + 1
2120 ratio22 = tabvrea(rvarint)
2121C
2122 rvarint = rvarint + 1
2123 m51_iflg6 = nint(tabvrea(rvarint))
2124C
2125 rvarint = rvarint + 1
2126 ms_nd = tabvrea(rvarint)
2127 rvarint = rvarint + 1
2128 dmsi2 = tabvrea(rvarint)
2129 rvarint = rvarint + 1
2130 msi20 = tabvrea(rvarint)
2131C
2132 rvarint = rvarint + 1
2133 IF(mcheck/=0) dtfac1(51)= tabvrea(rvarint)
2134 rvarint = rvarint + 1
2135 IF(mcheck/=0) dtmin1(51)= tabvrea(rvarint)
2136C /DT/FVMBAG
2137 rvarint = rvarint + 1
2138 IF(mcheck/=0) dtfac1(52)= tabvrea(rvarint)
2139 rvarint = rvarint + 1
2140 IF(mcheck/=0) dtmin1(52)= tabvrea(rvarint)
2141C
2142 rvarint = rvarint + 1
2143 IF(mcheck/=0) dtfac1(102)= tabvrea(rvarint)
2144 rvarint = rvarint + 1
2145 IF(mcheck/=0) dtmin1(102)= tabvrea(rvarint)
2146C
2147 rvarint = rvarint + 1
2148 IF(mcheck/=0) dtfacs_int_old= tabvrea(rvarint)
2149 rvarint = rvarint + 1
2150 IF(mcheck/=0) dtmins_int_old= tabvrea(rvarint)
2151C
2152C /ADYREL :BETATE_0, EINT_0,ENCIN_0,PIMAX ,PCMAX,PINT ,PCIN ,FIL_
2153 rvarint = rvarint + 1
2154 betate_0 = tabvrea(rvarint)
2155 rvarint = rvarint + 1
2156 eint_0 = tabvrea(rvarint)
2157 rvarint = rvarint + 1
2158 encin_0 = tabvrea(rvarint)
2159 rvarint = rvarint + 1
2160 pimax = tabvrea(rvarint)
2161 rvarint = rvarint + 1
2162 pcmax = tabvrea(rvarint)
2163 rvarint = rvarint + 1
2164 pint = tabvrea(rvarint)
2165 rvarint = rvarint + 1
2166 pcin = tabvrea(rvarint)
2167 rvarint = rvarint + 1
2168 fil_ie(1:4)=tabvrea(rvarint:rvarint+3)
2169 rvarint = rvarint + 4
2170 fil_ke(1:4)=tabvrea(rvarint:rvarint+3)
2171 rvarint = rvarint + 4
2172 nfirst = tabvrea(rvarint)
2173C
2174 rvarint = rvarint + 1
2175 IF(mcheck/=0) ale%GRID%VGY0= tabvrea(rvarint)
2176 rvarint = rvarint + 1
2177 IF(mcheck/=0) ale%GRID%VGZ0= tabvrea(rvarint)
2178C
2179 rvarint = rvarint + 1
2180 econtd= tabvrea(rvarint)
2181 rvarint = rvarint + 1
2182 econt_cumu= tabvrea(rvarint)
2183
2184C INITIAL MASS IN STARTER
2185 rvarint = rvarint + 1
2186 mass0_start = tabvrea(rvarint)
2187 rvarint = rvarint + 1
2188 percent_addmass_old = tabvrea(rvarint)
2189C ANIM FILES FINAL TIME
2190 rvarint = rvarint + 1
2191 tanim_stop = tabvrea(rvarint)
2192C INITIAL COORDS OF SPH RESERVE
2193 rvarint = rvarint + 1
2194 xi_res = tabvrea(rvarint)
2195 rvarint = rvarint + 1
2196 yi_res = tabvrea(rvarint)
2197 rvarint = rvarint + 1
2198 zi_res = tabvrea(rvarint)
2199C
2200 rvarint = rvarint + 1
2201 inter_parameters%DT_STIFINT = tabvrea(rvarint)
2202C KINETIC ENERGY
2203 rvarint = rvarint + 1
2204 encin = tabvrea(rvarint)
2205 rvarint = rvarint + 1
2206 enrot = tabvrea(rvarint)
2207
2208 RETURN
2209 END
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
type(ale_) ale
Definition ale_mod.F:249
type(alefvm_param_), target alefvm_param
Definition alefvm_mod.F:121
type(alemuscl_param_) alemuscl_param
integer ndamp_vrel
Definition damp_mod.F:44
integer numeltg_drape
Definition drape_mod.F:92
integer numelc_drape
Definition drape_mod.F:92
integer ifcontp2max
Definition outmax_mod.F:69
integer lmax_vel
Definition outmax_mod.F:61
integer ifcontmax
Definition outmax_mod.F:69
integer ifcont2max
Definition outmax_mod.F:69
integer ifcontp2min
Definition outmax_mod.F:69
integer lmax_nstra
Definition outmax_mod.F:63
integer ifcontpmax
Definition outmax_mod.F:69
integer lmax_dis
Definition outmax_mod.F:60
integer lmax_nsig
Definition outmax_mod.F:62
integer ifcont2min
Definition outmax_mod.F:69
integer ninefric
Definition outputs_mod.F:65
integer s_efricg
Definition outputs_mod.F:64
integer s_efricintg
Definition outputs_mod.F:64
integer s_efric
Definition outputs_mod.F:64
integer s_efricint
Definition outputs_mod.F:64
integer ninefric_stamp
Definition outputs_mod.F:65
integer nploadpinch
integer th_has_noda_pext
Definition th_mod.F:121
subroutine rdcomr(lmxvrea, tabvrea, dynain_data, inter_parameters, output, glob_therm)
Definition rdcomm.F:1855
subroutine rdcomi(tabvint, multi_fvm, h3d_data, dynain_data, inter_parameters, sensors, loads, mat_elem, skews, glob_therm, pblast, rbe3)
Definition rdcomm.F:58
subroutine read_array(array, tabvint, lvarint, m_check)
Definition read_array.F:29