OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
rdresa.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!|| rdresa ../engine/source/output/restart/rdresa.F
25!||--- called by ------------------------------------------------------
26!|| radioss2 ../engine/source/engine/radioss2.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../engine/source/output/message/message.F
29!|| arret ../engine/source/system/arret.F
30!|| cur_fil_c ../common_source/tools/input_output/write_routines.c
31!|| rdcomi ../engine/source/output/restart/rdcomm.F
32!|| read_i_c ../common_source/tools/input_output/write_routines.c
33!||--- uses -----------------------------------------------------
34!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
35!|| h3d_mod ../engine/share/modules/h3d_mod.F
36!|| interfaces_mod ../common_source/modules/interfaces/interfaces_mod.F90
37!|| loads_mod ../common_source/modules/loads/loads_mod.F90
38!|| mat_elem_mod ../common_source/modules/mat_elem/mat_elem_mod.F90
39!|| message_mod ../engine/share/message_module/message_mod.F
40!|| multi_fvm_mod ../common_source/modules/ale/multi_fvm_mod.F90
41!|| names_and_titles_mod ../common_source/modules/names_and_titles_mod.F
42!|| output_mod ../common_source/modules/output/output_mod.F90
43!|| pblast_mod ../common_source/modules/loads/pblast_mod.F90
44!|| pinchtype_mod ../common_source/modules/pinchtype_mod.F
45!|| rbe3_mod ../common_source/modules/constraints/rbe3_mod.F90
46!|| rwall_mod ../common_source/modules/constraints/rwall_mod.F90
47!|| sensor_mod ../common_source/modules/sensor_mod.F90
48!|| skew_mod ../common_source/modules/skew_mod.F90
49!|| state_mod ../common_source/modules/state_mod.F
50!||====================================================================
51 SUBROUTINE rdresa(OUTPUT,ITSTV1 , LHEADER, LVARINT, LVARREA, PRADIOS,
52 . PRESFIL,MULTI_FVM,H3D_DATA,
53 . PINCH_DATA,DYNAIN_DATA,INTERFACES,SENSORS,LOADS,
54 . MAT_ELEM, NAMES_AND_TITLES,SKEWS ,GLOB_THERM,PBLAST,
55 . RBE3,RWALL)
56C-----------------------------------------------
57C M o d u l e s
58C-----------------------------------------------
59 USE message_mod
60 USE multi_fvm_mod
61 USE h3d_mod
63 USE h3d_mod
64 USE state_mod
65 USE interfaces_mod
66 USE sensor_mod
67 USE loads_mod
68 USE mat_elem_mod
69 USE names_and_titles_mod !< names_and_titles host the input deck names and titles for outputs
70 USE skew_mod !< skew type
71 use glob_therm_mod !< global parameters and flags for thermal analysis
72 use pblast_mod !< pblast parameters
73 use rbe3_mod !< rbe3 type
74 use rwall_mod !< rwall type
75 use output_mod
76C-----------------------------------------------
77C I m p l i c i t T y p e s
78C-----------------------------------------------
79#include "implicit_f.inc"
80C-----------------------------------------------
81C C o m m o n B l o c k s
82C-----------------------------------------------
83#include "r4r8_p.inc"
84#include "com01_c.inc"
85#include "com04_c.inc"
86#include "scr03_c.inc"
87#include "scr14_c.inc"
88#include "warn_c.inc"
89#include "units_c.inc"
90C-----------------------------------------------------------------
91C D u m m y A r g u m e n t s
92C-----------------------------------------------
93 type(output_), intent(inout) :: output
94 INTEGER ITSTV1, LHEADER, LVARINT, LVARREA, PRADIOS,
95 . PRESFIL
96 TYPE(MULTI_FVM_STRUCT) :: MULTI_FVM
97 TYPE(h3d_database) :: H3D_DATA
98 TYPE(pinch) :: PINCH_DATA
99 TYPE (DYNAIN_DATABASE),INTENT(INOUT) :: DYNAIN_DATA
100 TYPE (INTERFACES_) ,INTENT(INOUT) :: INTERFACES
101 TYPE (SENSORS_) ,INTENT(INOUT) :: SENSORS
102 TYPE (LOADS_) ,INTENT(INOUT) :: LOADS
103 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
104 TYPE (NAMES_AND_TITLES_),INTENT(INOUT) :: NAMES_AND_TITLES
105 TYPE (SKEW_) ,INTENT(INOUT) :: SKEWS
106 type (glob_therm_) ,intent(inout) :: glob_therm
107 TYPE (PBLAST_) ,INTENT(INOUT) :: PBLAST
108 TYPE (RBE3_) ,INTENT(INOUT) :: RBE3
109 TYPE (RWALL_) ,INTENT(INOUT) :: RWALL
110C-----------------------------------------------
111C L o c a l V a r i a b l e s
112C-----------------------------------------------
113 INTEGER I
114 INTEGER LMXHEAD,LMXVINT
115 PARAMETER (LMXHEAD=100)
116 parameter (lmxvint=4000)
117 INTEGER TABHEAD(LMXHEAD),TABVINT(LMXVINT)
118 my_real
119 . probint
120 INTEGER,DIMENSION(LTITLE) :: ITITLE
121C-----------------------------------------------
122 DO i=1,lmxvint
123 tabvint(i)=0
124 ENDDO
125C-----------------------------------------------
126C Read Restart File
127C-----------------------------------------------
128 CALL cur_fil_c(0)
129C-----------------------------------------------
130 CALL read_i_c(ititle,ltitle) !< input deck title
131 DO i=1,ltitle
132 names_and_titles%TITLE(i:i) = char(ititle(i))
133 ENDDO
134C-----------------------------------------------
135C Read Header
136C-----------------------------------------------
137 CALL read_i_c(lheader,1)
138
139 CALL read_i_c(tabhead,lheader)
140C RADIOSS FILE R/W
141 pradios=tabhead(1)
142 IF(pradios/=iradios)RETURN
143C RESTART FILE
144 presfil=tabhead(2)
145 IF(presfil/=iresfil)RETURN
146C ITESTV
147 itestv =tabhead(3)
148 itestv = iabs(itestv)
149C itestv +/- depending on R4R8 (single/double precision)
150 IF (ir4r8==2) itestv = -itestv
151 IF(itestv/=itstv1.AND.debug(2)<2)RETURN
152C-----
153C PREVIOUS RUN NUMBER
154 pirun =tabhead(4)
155C CODE OF PREVIOUS RUN (-1:UNKNOWN,0:STARTER,1:ENGINE,2:MODIF)
156 pcodrun=tabhead(5)
157C CODVERS FOR PREVIOUS RUN
158 pcodver=tabhead(6)
159C MINOR VERSION CODE OF PREVIOUS RUN
160 pminver=tabhead(7)
161C SOURCE VERSION CODE OF PREVIOUS RUN
162 psrcver=tabhead(8)
163C INPUT VERSION OF PREVIOUS RUN
164 pinvers=tabhead(9)
165C STARTER CODVERS
166 scodver=tabhead(10)
167C STARTER MINOR VERSION CODE.
168 sminver=tabhead(11)
169C STARTER SOURCE VERSION CODE.
170 ssrcver=tabhead(12)
171C STARTER INPUT VERSION
172 invstr =tabhead(13)
173C
174 lvarint= tabhead(14)
175 lvarrea= tabhead(15)
176C ------------------------------------------
177
178 IF(lvarint>lmxvint)THEN
179 CALL ancmsg(msgid=31,anmode=aninfo,i1=lvarint,i2=lmxvint)
180 CALL arret(2)
181 ENDIF
182
183C----------------------------
184C Read integer variables
185C----------------------------
186 CALL read_i_c(tabvint,lvarint)
187 CALL rdcomi(output,tabvint,multi_fvm,h3d_data,dynain_data,
188 . interfaces%PARAMETERS,sensors,loads ,mat_elem,skews,
189 . glob_therm,pblast,rbe3 ,rwall)
190
191C
192 IF(anim_ply > 0 .AND.iplyxfem == 0) THEN
193 WRITE(istdo,*) '**WARNING** /ANIM/SHELL/PLY '
194 WRITE(istdo,*)
195 . 'IS AVAILABLE JUST WITH NEW DELAMINATION SHELL FORMULATION'
196 WRITE(iout,*) '**WARNING** /ANIM/SHELL/PLY '
197 WRITE(iout,*)
198 . 'IS AVAILABLE JUST WITH NEW DELAMINATION SHELL FORMULATION'
199 anim_ply = 0
200 ENDIF
201C
202 RETURN
203 END
204
205!||====================================================================
206!|| iniresa ../engine/source/output/restart/rdresa.F
207!||--- called by ------------------------------------------------------
208!|| radioss2 ../engine/source/engine/radioss2.F
209!||--- calls -----------------------------------------------------
210!|| allocate_output_data ../common_source/modules/output/output_mod.F90
211!||--- uses -----------------------------------------------------
212!|| ale_mod ../common_source/modules/ale/ale_mod.F
213!|| aleanim_mod ../common_source/modules/aleanim_mod.F
214!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
215!|| h3d_mod ../engine/share/modules/h3d_mod.F
216!|| message_mod ../engine/share/message_module/message_mod.F
217!|| output_mod ../common_source/modules/output/output_mod.F90
218!|| pinchtype_mod ../common_source/modules/pinchtype_mod.F
219!||====================================================================
220 SUBROUTINE iniresa(OUTPUT, H3D_DATA,PINCH_DATA,GLOB_THERM)
221C-----------------------------------------------
222C M o d u l e s
223C-----------------------------------------------
224 USE message_mod
225 USE h3d_mod
226 USE pinchtype_mod
227 USE ale_mod
228 USE aleanim_mod
229 USE glob_therm_mod
230 use output_mod
231C-----------------------------------------------
232C I m p l i c i t T y p e s
233C-----------------------------------------------
234#include "implicit_f.inc"
235C-----------------------------------------------
236C G l o b a l P a r a m e t e r s
237C-----------------------------------------------
238#include "mvsiz_p.inc"
239C-----------------------------------------------
240C C o m m o n B l o c k s
241C-----------------------------------------------
242#include "com01_c.inc"
243#include "com04_c.inc"
244#include "com_xfem1.inc"
245#include "param_c.inc"
246#include "units_c.inc"
247#include "scr03_c.inc"
248#include "scr06_c.inc"
249#include "scr07_c.inc"
250#include "scr14_c.inc"
251#include "scr16_c.inc"
252#include "parit_c.inc"
253#include "task_c.inc"
254#include "scrnoi_c.inc"
255#include "scrfs_c.inc"
256#include "scrcut_c.inc"
257#include "scr_fac_c.inc"
258#include "sphcom.inc"
259#include "spmd_c.inc"
260#include "tabsiz_c.inc"
261#include "scr17_c.inc"
262#include "sms_c.inc"
263C-----------------------------------------------
264C D u m m y A r g u m e n t s
265C-----------------------------------------------
266 TYPE(output_) :: OUTPUT
267 TYPE(H3D_DATABASE) :: H3D_DATA
268 TYPE(PINCH) :: PINCH_DATA
269 type (glob_therm_) ,intent(inout) :: GLOB_THERM
270C-----------------------------------------------
271C L o c a l V a r i a b l e s
272C-----------------------------------------------
273 INTEGER I,NVAR,M16STAK,NPE,NIPMAX,NPSAV_OLD
274 my_real PROBINT
275C-----------------------------------------------
276C
277 pinch_data%SAPINCH = 0
278C ipari0 from starter
279 IF(iparit==-1)iparit=ipari0
280C
281 IF(icrack3d > 0)THEN
282 IF(iparit /= 1) iparit = ipari0
283 ENDIF
284C
285 IF(ipari0==0.AND.iparit==1) THEN
286 IF(ispmd==0)THEN
287 WRITE(istdo,*)' **WARNING PARALLEL ARITHMETIC DISABLED'
288 WRITE(iout,*)' **WARNING PREVIOUS RUN WITHOUT PARITH/ON'
289 WRITE(iout,*)' **PARALLEL ARITHMETIC IS NO MORE ACTIVABLE'
290 ENDIF
291 iparit=0
292 ENDIF
293
294 nisky0 = 8*numels + 4*numelq + 4*numelc + 2*numelt +
295 . 2*numelp + 3*numelr + 3*numeltg +
296 . 6*numels10 + 12*numels20 + 8*numels16 + 3*numeltg6
297 lcnel = nisky0
298C adding surfaces for MV as elems for parith/on SPMD
299 nisky0 = nisky0 + 4*nskymv0
300C pressure loads
301 nisky0 = nisky0 + 4*nconld
302C thermal fluxes
303 nisky0 = nisky0 + 4*glob_therm%NUMCONV + 4*glob_therm%NUMRADIA + 4*glob_therm%NFXFLUX
304 nisky0 = nisky0 + slloadp
305C
306 IF(iparit>=1) iparit=1
307 IF( lwamp /= 0 .AND. lwanmp/=0)THEN
308 lwamp = max(lwamp,2*mvsiz*100)
309 lenwa = max( nthread * lwamp,lwanmp)
310 ENDIF
311 swa = lenwa
312 sfv = nfunct
313 sicodt=numnod+2*numnod*max(iale,ieuler,ialelag)
314 sicodr=numnod*iroddl
315C-------------------------------------------
316C IPARITH
317C-------------------------------------------
318C AR=AM(M73) MIGHT BE USABLE IF IRODDL=0
319C
320C CONTENTRATED LOADS AND FORCES
321C
322 npsav_old = npsav
323 IF(npsav==0)npsav_old = 23
324 npsav = 29
325 IF(iparit==3)THEN
326 sa = 3*numnod+9*numnod*nthread
327 sar = 3*numnod+9*numnod*nthread
328 sstifn = numnod+3*numnod*nthread
329 sviscn = numnod+3*numnod*nthread
330 sstifr = numnod*iroddl+3*numnod*nthread*iroddl
331 sdmsph = 0
332 spartsav = npsav*(npart+nthpart)*nthread
333 sfsky = 0
334 sfskym = 0
335 sfskyd = 0
336 sisky = 0
337 probint=0.5
338 lskyi_sms = max(nint(5*max(4*numnod,imaximp)*probint)+4*(numsph+nskyi18)+lcni2,isumnx)
339 sadsky = 0
340 sprocne = 0
341 saddcni2 = 0
342 sprocni2 = 0
343 siadsdp = 0
344 siadrcp = 0
345 siads = 0
346 siadwal = 0
347 siadrbk = 0
348 siadi2 = 0
349 siadmv2 = 0
350 siadmv3 = 0
351 siadll = 0
352 siadrbm = 0
353 siadi18 = 0
354 siadrbmk = 0
355 saddcncnd = 0
356 sprocncnd = 0
357 siadcnd = 0
358 ELSEIF(iparit/=0)THEN
359 sa = 3*numnod
360 sar = 3*numnod
361 sstifn = numnod
362 sviscn = numnod
363 sstifr = numnod
364 IF(sol2sph_flag/=0) THEN
365 sdmsph = numnod
366 ELSE
367 sdmsph = 0
368 END IF
369 spartsav = npsav*(npart+nthpart)*nthread
370C Lcne0 = nisky0+neighbors (pre calculated in Starter)
371 lsky = lcne0
372 sfsky = 8*lcne0
373C pxfem
374 lskypxfem = lcnepxfem
375C xfem for layered shell (cracks)
376 lskycrkxfem = lcnecrkxfem
377C FSKY MASSE
378 IF(iale+ieuler+glob_therm%ITHERM+ialelag/=0) THEN
379 sfskym = lcne0
380 ELSE
381 sfskym = 0
382 ENDIF
383C FSKY DMASS
384 IF(sol2sph_flag/=0) THEN
385 sfskyd = lcne0
386 ELSE
387 sfskyd = 0
388 ENDIF
389C Also initialized in Starter (Lectur)
390 probint=0.5
391
392 lskyi = max(nint(5*max(4*numnod,imaximp)*probint)
393 + +4*(numsph+nskyi18),isumnx)
394 sfskyi = nfskyi*lskyi
395 sisky = lskyi
396
397 lskyi_sms = lskyi+lcni2
398
399 sadsky = numnod + 1
400C INDEX VECTOR
401 sadsky = sadsky + numnod
402 sprocne = lcne0
403 sprocne_pxfe = lcnepxfem
404 sprocne_crkxfe = lcnecrkxfem
405C If I2S> 0 (Type 2 Connectivitis Interface Connectivitis Interface)
406 IF (i2nsnt>0) THEN
407 saddcni2 = numnod+1
408C Add numnod for vector machine index
409 IF(ivector==1) saddcni2 = saddcni2 + numnod
410 ELSE
411 saddcni2 = 0
412 ENDIF
413C LCNI2 connectivity array
414 sprocni2 = lcni2
415 siadsdp = nspmd+1
416 siadrcp = nspmd+1
417C IADS (corresponds well to nisky0: local connections)
418C IADWAL : NSKYRW0
419C IADRBK : NSKYRBK0
420C IADI2 : NSKYI2
421C IADMV2 : NSKYMV0
422C IADMV3 : NSKYIMVC0
423C IADLL : NSKYLL0
424C IADRBM : NSKYRBM0
425C IADI18 : NSKYI18
426 siads = nisky0
427 siadwal = nskyrw0
428 siadrbk = nskyrbk0
429 siadi2 = niskyi2
430 siadmv2 = nskymv0
431 siadmv3 = nskymvc0
432 siadll = nskyll0
433 siadrbm = nskyrbm0
434 siadi18 = nskyi18
435 siadrbmk = nskyrbmk0
436 ELSE
437 sa = 3*numnod*nthread
438 sar = 3*numnod*nthread
439 sstifn = numnod*nthread
440C pinching
441 IF(npinch > 0) THEN
442 pinch_data%SAPINCH = nthread*numnod
443 ELSE
444 pinch_data%SAPINCH = 0
445 ENDIF
446C
447 IF(sol2sph_flag/=0) THEN
448 sdmsph = numnod*nthread
449 ELSE
450 sdmsph = 0
451 END IF
452 sviscn = numnod*nthread
453 sstifr = numnod*iroddl*nthread
454 spartsav = npsav*(npart+nthpart)*nthread
455 sfsky = 0
456 sfskym = 0
457 sfskyd = 0
458 sisky = 0
459
460 probint=0.5
461 lskyi_sms = max(nint(5*max(4*numnod,imaximp)*probint)
462 + +4*(numsph+nskyi18)+lcni2,isumnx)
463
464 sadsky = 0
465 sprocne = 0
466 saddcni2 = 0
467 sprocni2 = 0
468 siadsdp = 0
469 siadrcp = 0
470 siads = 0
471 siadwal = 0
472 siadrbk = 0
473 siadi2 = 0
474 siadmv2 = 0
475 siadmv3 = 0
476 siadll = 0
477 siadrbm = 0
478 siadi18 = 0
479 sprocne_pxfe = 0
480 sprocne_crkxfe = 0
481 ENDIF
482C
483 IF (ns10e >0 .AND. ipari0 /= 0) THEN
484 saddcncnd = numnod + 1
485 sprocncnd = lcncnd
486 siadcnd = 2*ns10e
487 ELSE
488 saddcncnd = 0
489 sprocncnd = 0
490 siadcnd = 0
491 END IF
492C
493 IF(ale%GLOBAL%INCOMP==0)THEN
494 sval2=max(iale,glob_therm%ITHERM,ieuler,ialelag)*(numels+numelq+numeltg+nsvois+nqvois+ntgvois)*max(1,nmult)
495 ! working array phi & segsurf
496 sphi = max(iale,glob_therm%ITHERM,ieuler,ialelag)*( numels + numelq + numeltg + nsvois + nqvois + ntgvois + nsegflu )
497 ELSE
498 sval2 = 0
499 sphi = 0
500 ENDIF
501 sr = 0
502 sestif = 0
503
504C-------------------------------------------
505C LINK
506C-------------------------------------------
507 silink=4*nrlink
508 sfr_rl = (nspmd+2)*nrlink
509
510
511 sllink=lllink
512 siadrl = lllink
513
514C---------------------------------------------------------
515C /FLSEC (FLOW SECTION, obsolete option)
516C---------------------------------------------------------
517 scrflsw = 9*nsflsw
518 sflsw = 6*nsflsw
519 sneflsw = 1*nsflsw
520 snnflsw = 8*ntflsw
521C---------------------------------------------------------
522C ANIMATION (vectors for CONTACT,INTERNAL FORCES, EXTERNAL FORCES)
523C CUTS NOISE
524C---------------------------------------------------------
525! SFANI = 3*NUMNOD*(
526! . MIN(1,ANIM_V(4)+OUTP_V(4)+H3D_DATA%N_VECT_CONT)
527! . + MIN(1,ANIM_V(5)+OUTP_V(5)+H3D_DATA%N_VECT_FINT)
528! . + MIN(1,ANIM_V(6)+OUTP_V(6)+H3D_DATA%N_VECT_FEXT) )
529! . + 6*(NSECT+NRBODY+NRWALL)
530! . + 6*NUMNOD*MIN(1,ANIM_V(12)+OUTP_V(12)+H3D_DATA%N_VECT_PCONT)
531! . + 3*NUMNOD*MIN(1,ANIM_V(13)+H3D_DATA%N_VECT_CONT2)
532! . + 6*NUMNOD*MIN(1,ANIM_V(27)+H3D_DATA%N_VECT_PCONT2)
533 output%DATA%S_FOPT = (nsect + nrbody + nrwall)
534 allocate(output%DATA%FOPT(6,nsect + nrbody + nrwall+1))
535
536 output%DATA%S_VECT_CONT =(min(1,anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT))
537 output%DATA%S_VECT_FINT = (min(1,anim_v(5)+outp_v(5)+h3d_data%N_VECT_FINT))
538 output%DATA%S_VECT_FEXT = (min(1,anim_v(6)+outp_v(6)+h3d_data%N_VECT_FEXT))
539 output%DATA%S_VECT_PCONT = (min(1,anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT))
540 output%DATA%S_VECT_PCONT_2 =(min(1,anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT))
541
542 output%DATA%S_VECT_CONT2 = (min(1,anim_v(13)+h3d_data%N_VECT_CONT2))
543 output%DATA%S_VECT_PCONT2 =(min(1,anim_v(27)+h3d_data%N_VECT_PCONT2))
544 output%DATA%S_VECT_PCONT2_2 =(min(1,anim_v(27)+h3d_data%N_VECT_PCONT2))
545
546
547 sxcut = 7*ncuts
548! SANIN = NUMNOD*(
549! . MIN(1,ANIM_N(1)+OUTP_N(1)+H3D_DATA%N_SCAL_DT)
550! . + MIN(1,ANIM_N(2)+OUTP_N(2)+H3D_DATA%N_SCAL_DMAS)
551! . + MIN(1,ANIM_N(12)+OUTP_N(3)+H3D_DATA%N_SCAL_DINER))
552! . + NUMELR*(ANIM_FE(11)+ANIM_FE(12)+ANIM_FE(13))
553! . + 2*NUMNOD*MIN(1,ANIM_N(15)*ANIM_N(16)+H3D_DATA%N_SCAL_DAMA2)
554 output%DATA%S_SCAL_DT = (min(1,anim_n(1)+outp_n(1)+h3d_data%N_SCAL_DT))
555 output%DATA%S_SCAL_DMAS = (min(1,anim_n(2)+outp_n(2)+h3d_data%N_SCAL_DMAS))
556 output%DATA%S_SCAL_DINER = (min(1,anim_n(12)+outp_n(3)+h3d_data%N_SCAL_DINER))
557 output%DATA%S_SCAL_DAMA2 = 2*(min(1,anim_n(15)*anim_n(16)+h3d_data%N_SCAL_DAMA2))
558 output%DATA%S_SCAL_SPRING = max(1,numelr)*(anim_fe(11)+anim_fe(12)+anim_fe(13))
559 sanin = max(1,numelr*(anim_fe(11)+anim_fe(12)+anim_fe(13)))
560 CALl allocate_output_data(output,numnod)
561 stani = 6*(numelc+numeltg)*iepsdot + 15*(numelt+numelp+numelr)*(max(anim_ft(1),h3d_data%UND_FORC))
562
563
564C
565 ssecfcum = 7*numnod*nsect*isecut
566C Work Array private to sph : WAPSH(LWASPH)
567 swasph = lwasph
568C
569 !/H3D/ELEM/VORT,X,Y,Z
570 output%data%fani_cell%is_vort_x_requested = .false.
571 output%data%fani_cell%is_vort_y_requested = .false.
572 output%data%fani_cell%is_vort_z_requested = .false.
573 IF(anim_se(10) == 1 .OR. h3d_data%SOL_SCAL_VORTX == 1)
574 . output%data%fani_cell%is_vort_x_requested=.true.
575 IF(anim_se(4960) == 1 .OR. h3d_data%SOL_SCAL_VORTY == 1)
576 . output%data%fani_cell%is_vort_y_requested=.true.
577 IF(anim_se(4961) == 1 .OR. h3d_data%SOL_SCAL_VORTZ == 1)
578 . output%data%fani_cell%is_vort_z_requested=.true.
579
580 ! /H3D/ELEM/VECT/CONT
581 ! INTER18 REACTION FORCES ON CELL CENTROIDS
582 output%data%fani_cell%is_f18_fvm_requested = .false.
583 IF(h3d_data%N_VECT_CONT == 1)
584 . output%data%fani_cell%is_f18_fvm_requested = .true.
585
586 m16stak = 0
587 IF(numels16/=0)THEN
588 npe = 16
589 nipmax = 81
590 m16stak = (11*nipmax+15*npe+3*nipmax*npe)*mvsiz
591 ENDIF
592 IF(numels20/=0)THEN
593 npe = 20
594 nipmax = 81
595 m16stak = max(m16stak,(10*nipmax+15*npe+3*nipmax*npe)*mvsiz)
596 ENDIF
597 npsav = npsav_old
598C NPSAV reset to the correct value in rdresb
599 IF(numels8a>0)THEN
600 nipmax = 729
601 m16stak = max(m16stak,12*nipmax*mvsiz)
602 ENDIF
603 sw16 = m16stak * nthread
604 sicut= 44*ncuts
605C---------------------------------------------------------
606C Additional SPMD arrays allocated in my in V40
607C---------------------------------------------------------
608C---------------------------------------------------------
609C Additional SPMD arrays allocated in AM in V40
610C---------------------------------------------------------
611 sdretrio = 5*ninter
612 slbvrs = 21*nibvel
613C---------------------------------------------------------
614C Stockages facultatifs
615C---------------------------------------------------------
616 IF(nnoise==0)THEN
617 nnoise=nnoiser*rnoi
618 nvar=ncnois*rnoi
619 ELSE
620 IF((noisev+noisea+noisep)==0) noisev = 1
621 nvar=3*noisev+3*noisea+noisep
622 ENDIF
623 if01=1
624 mf01=1
625 ifif=if01
626 mfif=mf01
627 sinoise = 0
628 sfnoise = 0
629 IF(nnoise>0)THEN
630 ifif = (2*nnoise+10)
631 mfif = (6*nvar*nnoise+1)
632 sinoise = 2*nnoise+10
633 sfnoise = 6*nvar*nnoise+1
634 ENDIF
635 nnoise_sav = nnoise
636
637C---------------------------------------------------------
638C
639 RETURN
640 END
641C
#define my_real
Definition cppsort.cpp:32
end diagonal values have been computed in the(sparse) matrix id.SOL
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
for(i8=*sizetab-1;i8 >=0;i8--)
type(ale_) ale
Definition ale_mod.F:253
subroutine rdcomi(output, tabvint, multi_fvm, h3d_data, dynain_data, inter_parameters, sensors, loads, mat_elem, skews, glob_therm, pblast, rbe3, rwall)
Definition rdcomm.F:58
subroutine iniresa(output, h3d_data, pinch_data, glob_therm)
Definition rdresa.F:221
subroutine rdresa(output, 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, rwall)
Definition rdresa.F:56
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)
Definition message.F:895
subroutine arret(nn)
Definition arret.F:86
void read_i_c(int *w, int *len)
void cur_fil_c(int *nf)