OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
wrrest.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!||====================================================================
25!|| fxbwrest ../engine/source/output/restart/wrrest.f
26!||--- called by ------------------------------------------------------
27!|| wrrestp ../engine/source/output/restart/wrrestp.F
28!||--- calls -----------------------------------------------------
29!|| write_db ../common_source/tools/input_output/write_db.F
30!|| write_i_c ../common_source/tools/input_output/write_routtines.c
31!||--- uses -----------------------------------------------------
32!|| fxb_mod ../engine/share/modules/fxb_mod.F
33!|| scratchfile_mod ../engine/share/modules/scratchfiles_mod.F
34!||====================================================================
35 SUBROUTINE fxbwrest(ICH)
36C-----------------------------------------------
37C M o d u l e s
38C-----------------------------------------------
39 USE fxb_mod
41C-----------------------------------------------
42C I m p l i c i t T y p e s
43C-----------------------------------------------
44#include "implicit_f.inc"
45C-----------------------------------------------
46C C o m m o n B l o c k s
47C-----------------------------------------------
48#include "com04_c.inc"
49#include "units_c.inc"
50#include "fxbcom.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 INTEGER ICH
55C-----------------------------------------------
56C L o c a l V a r i a b l e s
57C-----------------------------------------------
58 INTEGER LEN_IPM,LEN_MOD,NRECM, NRECS, IRCM, IRCM0, IRCM1,
59 . IRCS, IRCS0, IRCS1, LREC, I, J
60 my_real vv(6)
61C--------------------------------------
62C ECRITURE DES ENTIERS
63C--------------------------------------
64 len_ipm=nbipm*nfxbody
65 CALL write_i_c(fxbipm,len_ipm)
66 IF (lennod>0) CALL write_i_c(fxbnod,lennod)
67 IF (lenelm>0) CALL write_i_c(fxbelm,lenelm)
68 IF (lengrvi>0) CALL write_i_c(fxbgrvi,lengrvi)
69C--------------------------------------
70C ECRITURE DES REELS
71C--------------------------------------
72 len_mod=lenmod*6
73 IF (len_mod>0) CALL write_db(fxbmod,len_mod)
74 IF (lenglm>0) CALL write_db(fxbglm,lenglm)
75 IF (lencp>0) CALL write_db(fxbcpm,lencp )
76 IF (lencp>0) CALL write_db(fxbcps,lencp )
77 IF (lenlm>0) CALL write_db(fxblm, lenlm )
78 IF (lenfls>0) CALL write_db(fxbfls,lenfls)
79 IF (lendls>0) CALL write_db(fxbdls,lendls)
80 CALL write_db(fxbdep,lenvar)
81 CALL write_db(fxbvit,lenvar)
82 CALL write_db(fxbacc,lenvar)
83 CALL write_db(fxbrpm,lenrpm)
84 IF (lensig>0) CALL write_db(fxbsig,lensig)
85 IF (lengrvr>0) CALL write_db(fxbgrvr,lengrvr)
86
87C Write modes & constraint files in Restart
88C -----------------------------------------
89 nrecm=0
90 nrecs=0
91 DO i=1,nfxbody
92 ircm0=fxbipm(30,i)
93 ircs0=fxbipm(31,i)
94 ircm1=fxbipm(32,i)
95 ircs1=fxbipm(33,i)
96 nrecm=nrecm+ircm1-ircm0
97 nrecs=nrecs+ircs1-ircs0
98 ENDDO
99 ircm=0
100 ircs=0
101 lrec=6
102 DO i=1,nrecm
103 ircm=ircm+1
104 READ(ifxm,rec=ircm) (vv(j),j=1,lrec)
105 CALL write_db(vv,lrec)
106 ENDDO
107 DO i=1,nrecs
108 ircs=ircs+1
109 READ(ifxs,rec=ircs) (vv(j),j=1,lrec)
110 CALL write_db(vv,lrec)
111 ENDDO
112C
113 RETURN
114 END
115!||====================================================================
116!|| eigwrest ../engine/source/output/restart/wrrest.F
117!||--- called by ------------------------------------------------------
118!|| wrrestp ../engine/source/output/restart/wrrestp.F
119!||--- calls -----------------------------------------------------
120!|| write_db ../common_source/tools/input_output/write_db.F
121!|| write_i_c ../common_source/tools/input_output/write_routtines.c
122!|| wrtsqi ../engine/source/output/tools/wrtsqi.F
123!|| wrtsqr ../engine/source/output/tools/wrtsqr.F
124!||--- uses -----------------------------------------------------
125!|| scratchfile_mod ../engine/share/modules/scratchfiles_mod.F
126!||====================================================================
127 SUBROUTINE eigwrest(EIGIPM, EIGIBUF, EIGRPM)
128C-----------------------------------------------
129C M o d u l e s
130C-----------------------------------------------
132C-----------------------------------------------
133C I m p l i c i t T y p e s
134C-----------------------------------------------
135#include "implicit_f.inc"
136C-----------------------------------------------
137C C o m m o n B l o c k s
138C-----------------------------------------------
139#include "units_c.inc"
140#include "com04_c.inc"
141#include "scr05_c.inc"
142#include "eigcom.inc"
143C-----------------------------------------------
144C D u m m y A r g u m e n t s
145C-----------------------------------------------
146 INTEGER EIGIPM(*), EIGIBUF(*)
147 my_real eigrpm(*)
148C-----------------------------------------------
149C L o c a l V a r i a b l e s
150C-----------------------------------------------
151 INTEGER NRECM, IRCM, NBN, NBM, IAD, LREC, I, J
152 my_real
153 . vv(6)
154C--------------------------------------
155C ECRITURE DES ENTIERS
156C--------------------------------------
157 IF (irform/5<=1) THEN
158 CALL wrtsqi (eigipm,neig*neipm,irform)
159 CALL wrtsqi (eigibuf,leibuf,irform)
160 ELSE
161 CALL write_i_c(eigipm,neig*neipm)
162 CALL write_i_c(eigibuf,leibuf)
163 ENDIF
164C--------------------------------------
165C ECRITURE DES REELS
166C--------------------------------------
167 IF (irform/5<=1) THEN
168 CALL wrtsqr (eigrpm,neig*nerpm,irform)
169 ELSE
170 CALL write_db(eigrpm,neig*nerpm)
171 ENDIF
172C Ecriture du fichier des modes additionnels
173 nrecm=0
174 iad=1
175 DO i=1,neig
176 nbn=eigipm(iad+9)
177 nbm=eigipm(iad+13)
178 nrecm=nrecm+nbn*nbm
179 iad=iad+neipm
180 ENDDO
181C
182 ircm=0
183 lrec=6
184 DO i=1,nrecm
185 ircm=ircm+1
186 READ(ieigm,rec=ircm) (vv(j),j=1,lrec)
187 CALL write_db(vv,lrec)
188 ENDDO
189C
190 RETURN
191 END
192C
193!||====================================================================
194!|| dswrest ../engine/source/output/restart/wrrest.F
195!||--- calls -----------------------------------------------------
196!|| write_db ../common_source/tools/input_output/write_db.F
197!|| write_i_c ../common_source/tools/input_output/write_routtines.c
198!|| wrtsqi ../engine/source/output/tools/wrtsqi.F
199!|| wrtsqr ../engine/source/output/tools/wrtsqr.F
200!||--- uses -----------------------------------------------------
201!|| dsgraph_mod ../engine/share/modules/dsgraph_mod.F
202!||====================================================================
203 SUBROUTINE dswrest(GRAPHE)
204C-----------------------------------------------
205C M o d u l e s
206C-----------------------------------------------
207 USE dsgraph_mod
208C-----------------------------------------------
209C I m p l i c i t T y p e s
210C-----------------------------------------------
211#include "implicit_f.inc"
212C-----------------------------------------------
213C C o m m o n B l o c k s
214C-----------------------------------------------
215#include "com01_c.inc"
216#include "scr05_c.inc"
217C-----------------------------------------------
218C D u m m y A r g u m e n t s
219C-----------------------------------------------
220 TYPE(prgraph) :: GRAPHE(*)
221C-----------------------------------------------
222C L o c a l V a r i a b l e s
223C-----------------------------------------------
224 INTEGER I, J, TN(7), N, NDDL, DSNDDL, DSLEN, K, NSDEC
225 my_real cutfreq
226 DO i=1,nsproc
227C--------------------------------------
228C Ecriture des parametres entiers
229C--------------------------------------
230 dsnddl=graphe(i)%NDDL_INI
231 dslen=graphe(i)%NSUPEL
232 nsdec=graphe(i)%NSDEC
233 tn(1)=dsnddl
234 tn(2)=dslen
235 tn(3)=graphe(i)%NSLEVEL
236 tn(4)=nsdec
237 tn(5)=graphe(i)%NSVMAX
238 tn(6)=graphe(i)%IPRI
239 tn(7)=graphe(i)%NDDL_GLOB
240 n=7
241 IF (irform/5<=1) THEN
242 CALL wrtsqi(tn, n, irform)
243 ELSE
244 CALL write_i_c(tn, n)
245 ENDIF
246C--------------------------------------
247C Ecriture des parametres reels
248C--------------------------------------
249 n=1
250 cutfreq=graphe(i)%CUTFREQ
251 IF (irform/5<=1) THEN
252 CALL wrtsqr(cutfreq, n, irform)
253 ELSE
254 CALL write_db(cutfreq, n)
255 ENDIF
256C--------------------------------------
257C Ecriture du tableau des ddls
258C--------------------------------------
259 DO j=1,2
260 IF (irform/5<=1) THEN
261 CALL wrtsqi(graphe(i)%LSDDL_INI(j,1:dsnddl),
262 . dsnddl, irform)
263 ELSE
264 CALL write_i_c(graphe(i)%LSDDL_INI(j,1:dsnddl), dsnddl)
265 ENDIF
266 ENDDO
267 IF (irform/5<=1) THEN
268 CALL wrtsqi(graphe(i)%LSDDL_GLOB_INI, dsnddl, irform)
269 ELSE
270 CALL write_i_c(graphe(i)%LSDDL_GLOB_INI, dsnddl)
271 ENDIF
272C--------------------------------------
273C Ecriture des superelements
274C--------------------------------------
275 DO j=1,dslen
276 tn(1)=graphe(i)%DGRAPH(j)%NDDL_I_INI
277 tn(2)=graphe(i)%DGRAPH(j)%NDDL_F_INI
278 tn(3)=graphe(i)%DGRAPH(j)%NSDMAX
279 nddl=tn(1)+tn(2)
280 IF (irform/5<=1) THEN
281 n=3
282 CALL wrtsqi(tn, n, irform)
283 CALL wrtsqi(graphe(i)%DGRAPH(j)%CHILD, nsdec, irform)
284 CALL wrtsqi(graphe(i)%DGRAPH(j)%DDLS_INI, nddl, irform)
285 n=tn(3)+1
286 DO k=1,tn(2)
287 CALL wrtsqi(graphe(i)%DGRAPH(j)
288 . %IFAC_INI(1:n,k), n, irform)
289 ENDDO
290 CALL wrtsqi(graphe(i)%DGRAPH(j)%IFACM_INI, tn(2), irform)
291 ELSE
292 n=3
293 CALL write_i_c(tn, n)
294 CALL write_i_c(graphe(i)%DGRAPH(j)%CHILD, nsdec)
295 CALL write_i_c(graphe(i)%DGRAPH(j)%DDLS_INI, nddl)
296 n=tn(3)+1
297 DO k=1,tn(2)
298 CALL write_i_c(graphe(i)%DGRAPH(j)
299 . %IFAC_INI(1:n,k), n)
300 ENDDO
301 CALL write_i_c(graphe(i)%DGRAPH(j)%IFACM_INI, tn(2))
302 ENDIF
303 ENDDO
304C
305 ENDDO
306C
307 RETURN
308 END
309C
310!||====================================================================
311!|| nfwrest ../engine/source/output/restart/wrrest.F
312!||--- called by ------------------------------------------------------
313!|| wrrestp ../engine/source/output/restart/wrrestp.F
314!||--- calls -----------------------------------------------------
315!|| write_db ../common_source/tools/input_output/write_db.F
316!|| write_i_c ../common_source/tools/input_output/write_routtines.c
317!||====================================================================
318 SUBROUTINE nfwrest(IFLOW, RFLOW)
319C-----------------------------------------------
320C I m p l i c i t T y p e s
321C-----------------------------------------------
322#include "implicit_f.inc"
323C-----------------------------------------------
324C C o m m o n B l o c k s
325C-----------------------------------------------
326#include "flowcom.inc"
327C-----------------------------------------------
328C D u m m y A r g u m e n t s
329C-----------------------------------------------
330 INTEGER IFLOW(*)
331 my_real
332 . rflow(*)
333C-----------------------------------------------
334C L o c a l V a r i a b l e s
335C-----------------------------------------------
336 CALL write_i_c(iflow,liflow)
337 CALL write_db(rflow,lrflow)
338C
339 RETURN
340 END
341C
342!||====================================================================
343!|| impwrest ../engine/source/output/restart/wrrest.F
344!||--- called by ------------------------------------------------------
345!|| wrrestp ../engine/source/output/restart/wrrestp.F
346!||--- calls -----------------------------------------------------
347!|| write_db ../common_source/tools/input_output/write_db.F
348!||--- uses -----------------------------------------------------
349!|| imp_dyna ../engine/share/modules/impbufdef_mod.F
350!|| imp_rest ../engine/share/modules/impbufdef_mod.F
351!||====================================================================
352 SUBROUTINE impwrest(NIMPR)
353C-----------------------------------------------
354C M o d u l e s
355C-----------------------------------------------
356 USE imp_rest
357 USE imp_dyna
358C-----------------------------------------------
359C I m p l i c i t T y p e s
360C-----------------------------------------------
361#include "implicit_f.inc"
362C-----------------------------------------------
363C C o m m o n B l o c k s
364C-----------------------------------------------
365#include "com01_c.inc"
366#include "com04_c.inc"
367#include "impl1_c.inc"
368C-----------------------------------------------
369C D u m m y A r g u m e n t s
370C-----------------------------------------------
371 INTEGER NIMPR
372C-----------------------------------------------
373C L o c a l V a r i a b l e s
374C-----------------------------------------------
375 INTEGER I, J,ND
376C--------------------------------------
377C--------------------------------------
378C ECRITURE DES REELS
379C--------------------------------------
380 nd = numnod*3
381 CALL write_db(imp_rr,nimpr)
382
383 IF (idyna>0) THEN
384 CALL write_db(dy_a,nd)
385 IF (iroddl/=0) CALL write_db(dy_ar,nd)
386 ENDIF
387
388C
389 RETURN
390 END
391!||====================================================================
392!|| imp_trans0 ../engine/source/output/restart/wrrest.F
393!||--- called by ------------------------------------------------------
394!|| imp_sol_init ../engine/source/implicit/imp_sol_init.F
395!||--- uses -----------------------------------------------------
396!|| imp_rest ../engine/share/modules/impbufdef_mod.F
397!||====================================================================
398 SUBROUTINE imp_trans0(R_IMP,NR)
399C-----------------------------------------------
400C M o d u l e s
401C-----------------------------------------------
402 USE imp_rest
403C-----------------------------------------------
404C I m p l i c i t T y p e s
405C-----------------------------------------------
406#include "implicit_f.inc"
407C-----------------------------------------------
408C C o m m o n B l o c k s
409C-----------------------------------------------
410#include "impl1_c.inc"
411C-----------------------------------------------
412C D u m m y A r g u m e n t s
413C-----------------------------------------------
414 INTEGER NR
415 my_real
416 . r_imp(*)
417C-----------------------------------------------
418C L o c a l V a r i a b l e s
419C-----------------------------------------------
420C--------------------------------------
421 IF (nr>0) THEN
422 r_imp(1) = imp_rr(1)
423 r_imp(6) = imp_rr(2)
424 ELSE
425 nr = 2
426 IF(ALLOCATED(imp_rr)) DEALLOCATE(imp_rr)
427 ALLOCATE(imp_rr(nr))
428 nr = nr + idyna
429 ENDIF
430C
431 RETURN
432 END
433!||====================================================================
434!|| imp_trans ../engine/source/output/restart/wrrest.F
435!||--- called by ------------------------------------------------------
436!|| wrrestp ../engine/source/output/restart/wrrestp.F
437!||--- uses -----------------------------------------------------
438!|| imp_rest ../engine/share/modules/impbufdef_mod.f
439!||====================================================================
440 SUBROUTINE imp_trans(R_IMP)
441C-----------------------------------------------
442C M o d u l e s
443C-----------------------------------------------
444 USE imp_rest
445C-----------------------------------------------
446C I m p l i c i t T y p e s
447C-----------------------------------------------
448#include "implicit_f.inc"
449C-----------------------------------------------
450C D u m m y A r g u m e n t s
451C-----------------------------------------------
452 my_real
453 . r_imp(*)
454C-----------------------------------------------
455C L o c a l V a r i a b l e s
456C-----------------------------------------------
457C---------1:R02,2:E_IMP-----------------------------
458 imp_rr(1) = r_imp(1)
459 imp_rr(2) = r_imp(6)
460C
461 RETURN
462 END
463C
464!||====================================================================
465!|| fvwrest ../engine/source/output/restart/wrrest.F
466!||--- called by ------------------------------------------------------
467!|| wrrestp ../engine/source/output/restart/wrrestp.F
468!||--- calls -----------------------------------------------------
469!|| write_db ../common_source/tools/input_output/write_db.F
470!|| write_i_c ../common_source/tools/input_output/write_routtines.c
471!||--- uses -----------------------------------------------------
472!|| fvbag_mod ../engine/share/modules/fvbag_mod.F
473!|| fvmbag_meshcontrol_mod ../common_source/modules/airbag/fvmbag_meshcontrol_mod.F
474!||====================================================================
475 SUBROUTINE fvwrest()
476C-----------------------------------------------
477C M o d u l e s
478C-----------------------------------------------
479 USE fvbag_mod
481C-----------------------------------------------
482C I m p l i c i t T y p e s
483C-----------------------------------------------
484#include "implicit_f.inc"
485C-----------------------------------------------
486C C o m m o n B l o c k s
487C-----------------------------------------------
488#include "task_c.inc"
489C-----------------------------------------------
490C L o c a l V a r i a b l e s
491C-----------------------------------------------
492 INTEGER LEN, I, NNS, NNTR, LENP, NPOLY, LENH, NPOLH, TABI(11),
493 . LENP_ANIM, NPOLH_ANIM, LENH_ANIM, NNS_ANIM
494C--------------------------------------
495C ECRITURE DES DIMENSIONS
496C--------------------------------------
497 len=1
498 CALL write_i_c(nfvbag,len)
499C
500 DO i=1,nfvbag
501
502 CALL write_i_c(fvdata(i)%L_TYPE,1)
503 CALL write_i_c(fvdata(i)%ID_DT_OPTION,1)
504 CALL write_db(fvdata(i)%LAMBDA,1)
505 CALL write_db(fvdata(i)%DTOLD,1)
506 CALL write_db(fvdata(i)%CFL_COEF,1)
507 CALL write_db(fvdata(i)%DTMIN,1)
508
509 tabi(1)=fvspmd(i)%NN_L
510 tabi(2)=fvspmd(i)%NNA_L
511 tabi(3)=fvspmd(i)%NNSA_L
512 tabi(4)=fvspmd(i)%NSA
513 tabi(5)=fvspmd(i)%NNSA
514 tabi(6)=fvspmd(i)%NELSA
515 tabi(7)=fvspmd(i)%PMAIN
516 tabi(8)=fvspmd(i)%NNI_L
517 len=8
518 CALL write_i_c(tabi,len)
519 len=2*(fvspmd(i)%NN_L+fvspmd(i)%NNI_L)
520 IF (len>0) THEN
521 CALL write_i_c(fvspmd(i)%IBUF_L,len)
522 ENDIF
523 len=2*fvspmd(i)%NNA_L
524 IF (len>0) THEN
525 CALL write_i_c(fvspmd(i)%IBUFA_L,len)
526 ENDIF
527 len=2*fvspmd(i)%NNSA_L
528 IF (len>0) THEN
529 CALL write_i_c(fvspmd(i)%IBUFSA_L,len)
530 ENDIF
531 len = 1
532 CALL write_i_c(kmesh(i), len)
533 IF (ispmd/=fvspmd(i)%PMAIN-1) cycle
534 len=8*fvspmd(i)%NSA
535 IF (len>0) THEN
536 CALL write_i_c(fvspmd(i)%IXSA,len)
537 ENDIF
538 len=3*fvspmd(i)%NELSA
539 IF (len>0) THEN
540 CALL write_i_c(fvspmd(i)%ELEMSA,len)
541 ENDIF
542
543 nns=fvdata(i)%NNS
544 nntr=fvdata(i)%NNTR
545 lenp=fvdata(i)%LENP
546 npoly=fvdata(i)%NPOLY
547 lenh=fvdata(i)%LENH
548 npolh=fvdata(i)%NPOLH
549 npolh_anim=fvdata(i)%NPOLH_ANIM
550 IF (npolh_anim>0) THEN
551 lenp_anim=fvdata(i)%IFVTADR_ANIM(npoly+1)
552 lenh_anim=fvdata(i)%IFVPADR_ANIM(npolh_anim+1)
553 nns_anim=fvdata(i)%NNS_ANIM
554 ELSE
555 lenp_anim=0
556 lenh_anim=0
557 nns_anim=0
558 ENDIF
559C
560 tabi(1)=nns
561 tabi(2)=nntr
562 tabi(3)=lenp
563 tabi(4)=npoly
564 tabi(5)=lenh
565 tabi(6)=npolh
566 tabi(7)=lenp_anim
567 tabi(8)=lenh_anim
568 tabi(9)=npolh_anim
569 tabi(10)=nns_anim
570 tabi(11)=fvdata(i)%ID
571 len=11
572 CALL write_i_c(tabi,len)
573C--------------------------------------
574C ECRITURE DES ENTIERS
575C--------------------------------------
576 len=3*nns
577 CALL write_i_c(fvdata(i)%IFVNOD,len)
578 len=6*nntr
579 CALL write_i_c(fvdata(i)%IFVTRI,len)
580 CALL write_i_c(fvdata(i)%IFVPOLY,lenp)
581 CALL write_i_c(fvdata(i)%IFVTADR,npoly+1)
582 CALL write_i_c(fvdata(i)%IFVPOLH,lenh)
583 CALL write_i_c(fvdata(i)%IFVPADR,npolh+1)
584 CALL write_i_c(fvdata(i)%IDPOLH,npolh)
585 CALL write_i_c(fvdata(i)%IBPOLH,npolh)
586 IF (npolh_anim>0) THEN
587 CALL write_i_c(fvdata(i)%IFVPOLY_ANIM,lenp_anim)
588 CALL write_i_c(fvdata(i)%IFVTADR_ANIM,npoly+1)
589 CALL write_i_c(fvdata(i)%IFVPOLH_ANIM,lenh_anim)
590 CALL write_i_c(fvdata(i)%IFVPADR_ANIM,npolh_anim+1)
591 len=6*nntr
592 CALL write_i_c(fvdata(i)%IFVTRI_ANIM,len)
593 CALL write_i_c(fvdata(i)%REDIR_ANIM,nns_anim)
594 ENDIF
595C--------------------------------------
596C ECRITURE DES REELS
597C--------------------------------------
598 len = 1
599 CALL write_db(fvdata(i)%PDISP_OLD,len)
600 CALL write_db(fvdata(i)%PDISP,len)
601 len=2*nns
602 CALL write_db(fvdata(i)%RFVNOD,len)
603 CALL write_db(fvdata(i)%MPOLH,npolh)
604 len=3*npolh
605 CALL write_db(fvdata(i)%QPOLH,len)
606 CALL write_db(fvdata(i)%EPOLH,npolh)
607 CALL write_db(fvdata(i)%PPOLH,npolh)
608 CALL write_db(fvdata(i)%RPOLH,npolh)
609 CALL write_db(fvdata(i)%GPOLH,npolh)
610 CALL write_db(fvdata(i)%TPOLH,npolh)
611 CALL write_db(fvdata(i)%CPAPOLH,npolh)
612 CALL write_db(fvdata(i)%CPBPOLH,npolh)
613 CALL write_db(fvdata(i)%CPCPOLH,npolh)
614 CALL write_db(fvdata(i)%CPDPOLH,npolh)
615 CALL write_db(fvdata(i)%CPEPOLH,npolh)
616 CALL write_db(fvdata(i)%CPFPOLH,npolh)
617 CALL write_db(fvdata(i)%RMWPOLH,npolh)
618 CALL write_db(fvdata(i)%VPOLH_INI,npolh)
619 CALL write_db(fvdata(i)%DLH,1)
620 CALL write_db(fvdata(i)%DTPOLH,npolh)
621 IF (npolh_anim>0) THEN
622 len=3*nns_anim
623 CALL write_db(fvdata(i)%NOD_ANIM,len)
624 ENDIF
625 !FVDATA(I)%SSPPOLH not written. used for H3D only. Generated if needed
626 !FVDATA(I)%CENTROID_POLH not written. used ofr H3D only. Generated if needed
627C
628 ENDDO
629
630 RETURN
631 END
632C
633C --- for shell heat transfer
634!||====================================================================
635!|| thcwrest ../engine/source/output/restart/wrrest.F
636!||--- called by ------------------------------------------------------
637!|| wrrestp ../engine/source/output/restart/wrrestp.F
638!||--- calls -----------------------------------------------------
639!|| write_db ../common_source/tools/input_output/write_db.F
640!|| wrtsqr ../engine/source/output/tools/wrtsqr.F
641!||====================================================================
642 SUBROUTINE thcwrest(MCP,TEMP)
643C-----------------------------------------------
644C I m p l i c i t T y p e s
645C-----------------------------------------------
646#include "implicit_f.inc"
647C-----------------------------------------------
648C C o m m o n B l o c k s
649C-----------------------------------------------
650#include "com04_c.inc"
651#include "scr05_c.inc"
652C-----------------------------------------------
653C D u m m y A r g u m e n t s
654C-----------------------------------------------
655 my_real mcp(*),temp(*)
656C-----------------------------------------------
657C L o c a l V a r i a b l e s
658C-----------------------------------------------
659C--------------------------------------
660C ECRITURE DES REELS
661C--------------------------------------
662 IF (irform/5 <= 1) THEN
663 CALL wrtsqr (mcp,numnod,irform)
664 CALL wrtsqr (temp,numnod,irform)
665 ELSE
666 CALL write_db(mcp,numnod)
667 CALL write_db(temp,numnod)
668 ENDIF
669 RETURN
670 END
671C
672C --- for Nitsche Method
673!||====================================================================
674!|| nitschewrest ../engine/source/output/restart/wrrest.F
675!||--- called by ------------------------------------------------------
676!|| wrrestp ../engine/source/output/restart/wrrestp.F
677!||--- calls -----------------------------------------------------
678!|| write_db ../common_source/tools/input_output/write_db.F
679!|| wrtsqr ../engine/source/output/tools/wrtsqr.F
680!||====================================================================
681 SUBROUTINE nitschewrest(FORNEQS)
682C-----------------------------------------------
683C I m p l i c i t T y p e s
684C-----------------------------------------------
685#include "implicit_f.inc"
686C-----------------------------------------------
687C C o m m o n B l o c k s
688C-----------------------------------------------
689#include "com04_c.inc"
690#include "scr05_c.inc"
691C-----------------------------------------------
692C D u m m y A r g u m e n t s
693C-----------------------------------------------
694 my_real forneqs(*)
695C-----------------------------------------------
696C L o c a l V a r i a b l e s
697C-----------------------------------------------
698C--------------------------------------
699C ECRITURE DES REELS
700C--------------------------------------
701 IF (irform/5 <= 1) THEN
702 CALL wrtsqr (forneqs,3*numnod,irform)
703 ELSE
704 CALL write_db(forneqs,3*numnod)
705 ENDIF
706 RETURN
707 END
708C
709C convection flux
710!||====================================================================
711!|| convwrest ../engine/source/output/restart/wrrest.F
712!||--- called by ------------------------------------------------------
713!|| wrrestp ../engine/source/output/restart/wrrestp.F
714!||--- calls -----------------------------------------------------
715!|| write_db ../common_source/tools/input_output/write_db.F
716!|| write_i_c ../common_source/tools/input_output/write_routtines.c
717!|| wrtsqi ../engine/source/output/tools/wrtsqi.F
718!|| wrtsqr ../engine/source/output/tools/wrtsqr.F
719!||--- uses -----------------------------------------------------
720!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
721!||====================================================================
722 SUBROUTINE convwrest(IBCV,FCONV,GLOB_THERM)
723
724 use glob_therm_mod
725C-----------------------------------------------
726C I m p l i c i t T y p e s
727C-----------------------------------------------
728#include "implicit_f.inc"
729C-----------------------------------------------
730C C o m m o n B l o c k s
731C-----------------------------------------------
732#include "com04_c.inc"
733#include "scr05_c.inc"
734#include "param_c.inc"
735C-----------------------------------------------
736C D u m m y A r g u m e n t s
737C-----------------------------------------------
738 INTEGER IBCV(*)
739 my_real fconv(*)
740 type (glob_therm_) ,intent(in) :: GLOB_THERM
741C-----------------------------------------------
742C L o c a l V a r i a b l e s
743C-----------------------------------------------
744C--------------------------------------
745C ECRITURE DES REELS
746C--------------------------------------
747 IF (irform/5 <= 1) THEN
748 CALL wrtsqr (fconv,glob_therm%LFACTHER*glob_therm%NUMCONV,irform)
749 CALL wrtsqi (ibcv,glob_therm%NICONV*glob_therm%NUMCONV,irform)
750 ELSE
751 CALL write_db(fconv,glob_therm%LFACTHER*glob_therm%NUMCONV)
752 CALL write_i_c(ibcv,glob_therm%NICONV*glob_therm%NUMCONV)
753 ENDIF
754 RETURN
755 END
756C radiative flux
757!||====================================================================
758!|| radiawrest ../engine/source/output/restart/wrrest.F
759!||--- called by ------------------------------------------------------
760!|| wrrestp ../engine/source/output/restart/wrrestp.F
761!||--- calls -----------------------------------------------------
762!|| write_db ../common_source/tools/input_output/write_db.F
763!|| write_i_c ../common_source/tools/input_output/write_routtines.c
764!|| wrtsqi ../engine/source/output/tools/wrtsqi.F
765!|| wrtsqr ../engine/source/output/tools/wrtsqr.F
766!||--- uses -----------------------------------------------------
767!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
768!||====================================================================
769 SUBROUTINE radiawrest(IBCR,FRADIA,GLOB_THERM)
770
771 use glob_therm_mod
772C-----------------------------------------------
773C I m p l i c i t T y p e s
774C-----------------------------------------------
775#include "implicit_f.inc"
776C-----------------------------------------------
777C C o m m o n B l o c k s
778C-----------------------------------------------
779#include "com04_c.inc"
780#include "scr05_c.inc"
781#include "param_c.inc"
782C-----------------------------------------------
783C D u m m y A r g u m e n t s
784C-----------------------------------------------
785 INTEGER IBCR(*)
786 my_real fradia(*)
787 type (glob_therm_), intent(in) :: GLOB_THERM
788C-----------------------------------------------
789C L o c a l V a r i a b l e s
790C-----------------------------------------------
791C--------------------------------------
792C ECRITURE DES REELS
793C--------------------------------------
794 IF (irform/5 <= 1) THEN
795 CALL wrtsqr (fradia,glob_therm%LFACTHER*glob_therm%NUMRADIA,irform)
796 CALL wrtsqi (ibcr,glob_therm%NIRADIA*glob_therm%NUMRADIA,irform)
797 ELSE
798 CALL write_db(fradia,glob_therm%LFACTHER*glob_therm%NUMRADIA)
799 CALL write_i_c(ibcr,glob_therm%NIRADIA*glob_therm%NUMRADIA)
800 ENDIF
801 RETURN
802 END
803C convection flux
804!||====================================================================
805!|| fxtempwrest ../engine/source/output/restart/wrrest.F
806!||--- called by ------------------------------------------------------
807!|| wrrestp ../engine/source/output/restart/wrrestp.F
808!||--- calls -----------------------------------------------------
809!|| write_db ../common_source/tools/input_output/write_db.F
810!|| write_i_c ../common_source/tools/input_output/write_routtines.c
811!|| wrtsqi ../engine/source/output/tools/wrtsqi.F
812!|| wrtsqr ../engine/source/output/tools/wrtsqr.F
813!||--- uses -----------------------------------------------------
814!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
815!||====================================================================
816 SUBROUTINE fxtempwrest(IBFT,FBFT,GLOB_THERM)
817
818 use glob_therm_mod
819C-----------------------------------------------
820C I m p l i c i t T y p e s
821C-----------------------------------------------
822#include "implicit_f.inc"
823C-----------------------------------------------
824C C o m m o n B l o c k s
825C-----------------------------------------------
826#include "com04_c.inc"
827#include "scr05_c.inc"
828#include "param_c.inc"
829C-----------------------------------------------
830C D u m m y A r g u m e n t s
831C-----------------------------------------------
832 INTEGER IBFT(*)
833 my_real fbft(*)
834 type (glob_therm_) ,intent(in) :: glob_therm
835C-----------------------------------------------
836C L o c a l V a r i a b l e s
837C-----------------------------------------------
838C--------------------------------------
839C ECRITURE DES REELS
840C--------------------------------------
841 IF (irform/5 <= 1) THEN
842 CALL wrtsqr (fbft,glob_therm%LFACTHER*glob_therm%NFXTEMP,irform)
843 CALL wrtsqi (ibft,glob_therm%NIFT*glob_therm%NFXTEMP,irform)
844 ELSE
845 CALL write_db(fbft,glob_therm%LFACTHER*glob_therm%NFXTEMP)
846 CALL write_i_c(ibft,glob_therm%NIFT*glob_therm%NFXTEMP)
847 ENDIF
848 RETURN
849 END
850C for rigid_ material
851!||====================================================================
852!|| rigmatwrest ../engine/source/output/restart/wrrest.F
853!||--- called by ------------------------------------------------------
854!|| wrrestp ../engine/source/output/restart/wrrestp.F
855!||--- calls -----------------------------------------------------
856!|| write_db ../common_source/tools/input_output/write_db.F
857!|| write_i_c ../common_source/tools/input_output/write_routtines.c
858!||====================================================================
859 SUBROUTINE rigmatwrest(RBYM ,IRBYM ,LCRBYM,WEIGHT_RM)
860C-----------------------------------------------
861C I m p l i c i t T y p e s
862C-----------------------------------------------
863#include "implicit_f.inc"
864C-----------------------------------------------
865C C o m m o n B l o c k s
866C-----------------------------------------------
867#include "com04_c.inc"
868C-----------------------------------------------
869C D u m m y A r g u m e n t s
870C-----------------------------------------------
871 INTEGER IRBYM(*) ,LCRBYM(*),WEIGHT_RM(*)
872 my_real rbym(*)
873C-----------------------------------------------
874C L o c a l V a r i a b l e s
875C-----------------------------------------------
876C--------------------------------------
877C ECRITURE DES REELS
878C--------------------------------------
879 CALL write_db(rbym,nfrbym*nrbym)
880 CALL write_i_c(irbym,nirbym*nrbym)
881 CALL write_i_c( lcrbym,ngslnrbym)
882 CALL write_i_c( weight_rm,nrbym)
883
884 RETURN
885 END
886C for shell composite xfem
887!||====================================================================
888!|| plyxfem_wrest ../engine/source/output/restart/wrrest.F
889!||--- called by ------------------------------------------------------
890!|| wrrestp ../engine/source/output/restart/wrrestp.F
891!||--- calls -----------------------------------------------------
892!|| write_db ../common_source/tools/input_output/write_db.F
893!|| write_i_c ../common_source/tools/input_output/write_routtines.c
894!||====================================================================
895 SUBROUTINE plyxfem_wrest(MS_PLY,ZI_PLY,INOD,IEL,ICODE,ISKEW,MSZ2)
896C-----------------------------------------------
897C I m p l i c i t T y p e s
898C-----------------------------------------------
899#include "implicit_f.inc"
900C-----------------------------------------------
901C C o m m o n B l o c k s
902C-----------------------------------------------
903#include "com01_c.inc"
904#include "com04_c.inc"
905#include "param_c.inc"
906C-----------------------------------------------
907C D u m m y A r g u m e n t s
908C-----------------------------------------------
909 my_real ms_ply(*),zi_ply(*),msz2(*)
910 INTEGER ICODE(*),ISKEW(*),IEL(*),INOD(*)
911C-----------------------------------------------
912C L o c a l V a r i a b l e s
913C-----------------------------------------------
914C--------------------------------------
915C ECRITURE DES REELS
916C--------------------------------------
917 CALL write_db(ms_ply,nplyxfe*nplymax)
918 CALL write_db(zi_ply,nplyxfe*nplymax)
919 CALL write_db(msz2,nplyxfe)
920 CALL write_i_c(inod,numnod)
921 CALL write_i_c(iel,numelc)
922C
923 IF(iplybcs > 0) THEN
924 CALL write_i_c(icode,numnod)
925 CALL write_i_c(iskew,numnod)
926 ENDIF
927 RETURN
928 END
929C for shell composite xfem
930!||====================================================================
931!|| plyxfem_wrestanim ../engine/source/output/restart/wrrest.F
932!||--- called by ------------------------------------------------------
933!|| wrrestp ../engine/source/output/restart/wrrestp.F
934!||--- calls -----------------------------------------------------
935!|| write_i_c ../common_source/tools/input_output/write_routtines.c
936!||--- uses -----------------------------------------------------
937!|| plyxfem_mod ../engine/share/modules/plyxfem_mod.F
938!||====================================================================
939 SUBROUTINE plyxfem_wrestanim()
940C-----------------------------------------------
941 USE plyxfem_mod
942C-----------------------------------------------
943C I m p l i c i t T y p e s
944C-----------------------------------------------
945#include "implicit_f.inc"
946C-----------------------------------------------
947C C o m m o n B l o c k s
948C-----------------------------------------------
949#include "param_c.inc"
950C-----------------------------------------------
951C L o c a l V a r i a b l e s
952C-----------------------------------------------
953 INTEGER K,I,ELSZ,NDSZ
954C-----------------------------------------------
955 CALL write_i_c(nplypart,1)
957
958 DO k=1,nplymax
959C Writing shell infos for PLY XFEM
960 elsz = plyshell(k)%PLYNUMSHELL
961 CALL write_i_c(elsz,1)
962 CALL write_i_c(plyshell(k)%SHID, elsz)
963 CALL write_i_c(plyshell(k)%SHELLIPT, elsz)
964 CALL write_i_c(plyshell(k)%SHELLID, elsz)
965
966C Writing nodes infos for PLY XFEM
967 ndsz=plynod(k)%PLYNUMNODS
968 CALL write_i_c(ndsz,1)
969 CALL write_i_c(plynod(k)%NODES, ndsz)
970 CALL write_i_c(plynod(k)%PLYNODID, ndsz)
971 ENDDO
972
973 CALL write_i_c(plysizg,nplymax)
975 RETURN
976 END
977!||====================================================================
978!|| crkxfem_wrest ../engine/source/output/restart/wrrest.F
979!||--- called by ------------------------------------------------------
980!|| wrrestp ../engine/source/output/restart/wrrestp.F
981!||--- calls -----------------------------------------------------
982!|| write_i_c ../common_source/tools/input_output/write_routtines.c
983!||====================================================================
984 SUBROUTINE crkxfem_wrest(INOD,IEL,NODLEVXF)
985C-----------------------------------------------
986C I m p l i c i t T y p e s
987C-----------------------------------------------
988#include "implicit_f.inc"
989C-----------------------------------------------
990C C o m m o n B l o c k s
991C-----------------------------------------------
992#include "com04_c.inc"
993#include "com_xfem1.inc"
994C-----------------------------------------------
995C D u m m y A r g u m e n t s
996C-----------------------------------------------
997 INTEGER INOD(*),IEL(*),NODLEVXF(*)
998C-----------------------------------------------
999C L o c a l V a r i a b l e s
1000C-----------------------------------------------
1001C--------------------------------------
1002C ECRITURE DES REELS
1003C--------------------------------------
1004 CALL write_i_c(inod,numnod)
1005 CALL write_i_c(iel,numelc+numeltg)
1006 CALL write_i_c(nodlevxf,ncrkxfe)
1007C
1008 RETURN
1009 END
1010!||====================================================================
1011!|| crkxfem_wrestanim ../engine/source/output/restart/wrrest.F
1012!||--- called by ------------------------------------------------------
1013!|| wrrestp ../engine/source/output/restart/wrrestp.F
1014!||--- calls -----------------------------------------------------
1015!|| write_db ../common_source/tools/input_output/write_db.F
1016!|| write_i_c ../common_source/tools/input_output/write_routtines.c
1017!||--- uses -----------------------------------------------------
1018!|| crackxfem_mod ../engine/share/modules/crackxfem_mod.F
1019!|| restmod ../engine/share/modules/restart_mod.F
1020!||====================================================================
1021 SUBROUTINE crkxfem_wrestanim(CRKEDGE,CRKSKY,INDX_CRK,XEDGE4N,XEDGE3N)
1022C-----------------------------------------------
1023 USE crackxfem_mod
1024 USE restmod
1025C-----------------------------------------------
1026C I m p l i c i t T y p e s
1027C-----------------------------------------------
1028#include "implicit_f.inc"
1029C-----------------------------------------------
1030C C o m m o n B l o c k s
1031C-----------------------------------------------
1032#include "com01_c.inc"
1033#include "com04_c.inc"
1034#include "com_xfem1.inc"
1035C-----------------------------------------------
1036C D u m m y A r g u m e n t s
1037C-----------------------------------------------
1038 INTEGER, DIMENSION(*) :: INDX_CRK
1039 INTEGER, DIMENSION(4,*) :: XEDGE4N
1040 INTEGER, DIMENSION(3,*) :: XEDGE3N
1041 TYPE (XFEM_EDGE_) , DIMENSION(NXLAYMAX) :: CRKEDGE
1042 TYPE (XFEM_SKY_) , DIMENSION(*) :: CRKSKY
1043C-----------------------------------------------
1044C L o c a l V a r i a b l e s
1045C-----------------------------------------------
1046 INTEGER I,J,K,NENR,ELSZ,LEN,ELSZC,ELSZTG,LENLAY,CRKNUMNODS
1047C=======================================================================
1048 CALL write_i_c(ncrkpart,1)
1049 CALL write_i_c(ncrkxfe,1)
1050 CALL write_i_c(indx_crk,ncrkpart)
1051c
1052C Writing shell infos for CRACK XFEM
1053c
1054 DO k=1,nlevmax
1055 elsz = crkshell(k)%CRKNUMSHELL
1056 elszc = crkshell(k)%CRKNUMSH4
1057 elsztg= crkshell(k)%CRKNUMSH3
1058c
1059 CALL write_i_c(elszc,1)
1060 CALL write_i_c(elsztg,1)
1061 CALL write_i_c(elsz,1)
1062 CALL write_i_c(crkshell(k)%CRKSHELLID ,elsz)
1063 CALL write_i_c(crkshell(k)%ELTYPE ,elsz)
1064c------ CRKNOD
1065 len = 4*elsz
1066 CALL write_i_c(crknod(k)%XFECRKNODID ,len)
1067 CALL write_i_c(crknod(k)%XFENODES ,len)
1068c------ CRKSHELL
1069 len = 4*elsz
1070 CALL write_i_c(crkshell(k)%XNODEL ,len)
1071c------ CRKLVSET
1072 len = lcnecrkxfem
1073 CALL write_i_c(crklvset(k)%ENR0(1,1:len) ,len)
1074 CALL write_i_c(crklvset(k)%ENR0(2,1:len) ,len)
1075 CALL write_db (crklvset(k)%AREA(1:elsz) ,elsz)
1076c------ CRKAVX
1077 len = 3*lcnecrkxfem
1078 CALL write_db(crkavx(k)%A , len)
1079 CALL write_db(crkavx(k)%AR , len)
1080 CALL write_db(crkavx(k)%V , len)
1081 CALL write_db(crkavx(k)%VR , len)
1082 CALL write_db(crkavx(k)%X , len)
1083 CALL write_db(crkavx(k)%U , len)
1084 len = 3*4*elsz
1085 CALL write_db(crkavx(k)%XX , len)
1086c------ CRKSKY
1087 len = 8*lcnecrkxfem
1088 CALL write_db(crksky(k)%FSKY, len)
1089c------ CRKNOD
1090 len = 4*elsz
1091 CALL write_i_c(crknod(k)%NOD2IAD, len)
1092 crknumnods = crknod(k)%CRKNUMNODS
1093 CALL write_i_c(crknumnods, 1)
1094 ENDDO
1095c
1096c--- write XFEM_PHANTOM ----------------------------
1097 nenr = int(ienrnod/nlevmax)
1098 DO k=1,nxlaymax
1099 CALL write_i_c(xfem_phantom(k)%ELCUT ,elsz)
1100 CALL write_i_c(xfem_phantom(k)%IFI ,lcnecrkxfem)
1101 CALL write_i_c(xfem_phantom(k)%TAGXP ,ncrkxfe*ienrnod*5)
1102 CALL write_i_c(xfem_phantom(k)%ITRI ,elsz*2)
1103 END DO
1104c--- write CRKEDGE ----------------------------
1105 lenlay = crkshell(1)%CRKNUMSHELL
1106 len = numedges
1107 DO k=1,nxlaymax
1108 CALL write_i_c(crkedge(k)%LAYCUT ,lenlay)
1109 CALL write_i_c(crkedge(k)%IEDGEC ,elszc*4)
1110 CALL write_i_c(crkedge(k)%IEDGETG ,elsztg*3)
1111 CALL write_i_c(crkedge(k)%EDGEICRK ,len)
1112 CALL write_i_c(crkedge(k)%EDGEIFI ,len*2)
1113 CALL write_i_c(crkedge(k)%EDGEENR ,len*2)
1114 CALL write_i_c(crkedge(k)%EDGETIP ,len*2)
1115 CALL write_i_c(crkedge(k)%IBORDEDGE ,len)
1116 CALL write_i_c(crkedge(k)%ICUTEDGE ,len)
1117 CALL write_db (crkedge(k)%RATIO ,len)
1118 END DO
1119c-------------------------------------------------
1120 CALL write_i_c(xedge4n, 4*elszc)
1121 CALL write_i_c(xedge3n, 3*elsztg)
1122 len = 2*(numelc+numeltg)
1123 CALL write_i_c(elcutc,len)
1124 CALL write_i_c(nodenr,ncrkxfe)
1125 CALL write_i_c(kxfenod2elc,ncrkxfe)
1126 CALL write_i_c(enrtag,numnod*ienrnod)
1127C---
1128 RETURN
1129 END
1130C for shell composite xfem
1131!||====================================================================
1132!|| plyxfem_wravuply ../engine/source/output/restart/wrrest.F
1133!||--- called by ------------------------------------------------------
1134!|| wrrestp ../engine/source/output/restart/wrrestp.F
1135!||--- calls -----------------------------------------------------
1136!|| write_db ../common_source/tools/input_output/write_db.F
1137!||--- uses -----------------------------------------------------
1138!|| plyxfem_mod ../engine/share/modules/plyxfem_mod.F
1139!||====================================================================
1140 SUBROUTINE plyxfem_wravuply()
1141C-----------------------------------------------
1142 USE plyxfem_mod
1143C-----------------------------------------------
1144C I m p l i c i t T y p e s
1145C-----------------------------------------------
1146#include "implicit_f.inc"
1147C-----------------------------------------------
1148C C o m m o n B l o c k s
1149C-----------------------------------------------
1150#include "param_c.inc"
1151C-----------------------------------------------
1152C L o c a l V a r i a b l e s
1153C-----------------------------------------------
1154 INTEGER K,I,ELSZ,NDSZ
1155C-----------------------------------------------
1156 DO k=1,nplymax
1157C Writing U, V A
1158 ndsz = 3*nplyxfe
1159 CALL write_db(ply(k)%U, ndsz)
1160 CALL write_db(ply(k)%V, ndsz)
1161cc NDSZ = 4*NPLYXFE
1162cc CALL WRITE_DB(PLY(K)%A, NDSZ)
1163 ENDDO
1164C
1165 RETURN
1166 END
1167C air + faom
1168!||====================================================================
1169!|| alelag_wrest ../engine/source/output/restart/wrrest.F
1170!||--- called by ------------------------------------------------------
1171!|| wrrestp ../engine/source/output/restart/wrrestp.F
1172!||--- calls -----------------------------------------------------
1173!|| write_db ../common_source/tools/input_output/write_db.F
1174!||--- uses -----------------------------------------------------
1175!|| aleflow_mod ../engine/share/modules/aleflow_mod.F
1176!||====================================================================
1177 SUBROUTINE alelag_wrest()
1178C-----------------------------------------------
1179 USE aleflow_mod
1180C-----------------------------------------------
1181C I m p l i c i t T y p e s
1182C-----------------------------------------------
1183#include "implicit_f.inc"
1184C-----------------------------------------------
1185C C o m m o n B l o c k s
1186C-----------------------------------------------
1187#include "com04_c.inc"
1188C-----------------------------------------------
1189C L o c a l V a r i a b l e s
1190C-----------------------------------------------
1191 INTEGER K,NOSZ
1192C-----------------------------------------------
1193 nosz = 3*numnod
1194 CALL write_db(dflow, nosz)
1195 CALL write_db(vflow ,nosz)
1196 CALL write_db(wflow ,nosz)
1197C
1198 RETURN
1199 END
1200
1201C TH output
1202!||====================================================================
1203!|| rthbufwrest ../engine/source/output/restart/wrrest.F
1204!||--- called by ------------------------------------------------------
1205!|| wrrestp ../engine/source/output/restart/wrrestp.F
1206!||--- calls -----------------------------------------------------
1207!|| write_db ../common_source/tools/input_output/write_db.F
1208!||--- uses -----------------------------------------------------
1209!|| restmod ../engine/share/modules/restart_mod.F
1210!||====================================================================
1211 SUBROUTINE rthbufwrest ()
1212C-----------------------------------------------
1213 USE restmod
1214C-----------------------------------------------
1215C I m p l i c i t T y p e s
1216C-----------------------------------------------
1217#include "implicit_f.inc"
1218C-----------------------------------------------
1219C C o m m o n B l o c k s
1220C-----------------------------------------------
1221#include "tabsiz_c.inc"
1222C-----------------------------------------------
1223C L o c a l V a r i a b l e s
1224C-----------------------------------------------
1225
1226 CALL write_db(rthbuf,srthbuf)
1227C
1228 RETURN
1229 END
1230
1231C STACk PART
1232!||====================================================================
1233!|| stack_wrest ../engine/source/output/restart/wrrest.F
1234!||--- called by ------------------------------------------------------
1235!|| wrrestp ../engine/source/output/restart/wrrestp.F
1236!||--- calls -----------------------------------------------------
1237!|| write_db ../common_source/tools/input_output/write_db.F
1238!|| write_i_c ../common_source/tools/input_output/write_routtines.c
1239!||====================================================================
1240 SUBROUTINE stack_wrest(IGEO,GEO,PM)
1241C-----------------------------------------------
1242C I m p l i c i t T y p e s
1243C-----------------------------------------------
1244#include "implicit_f.inc"
1245C-----------------------------------------------
1246C C o m m o n B l o c k s
1247C-----------------------------------------------
1248#include "param_c.inc"
1249C-----------------------------------------------
1250C D u m m y A r g u m e n t s
1251C-----------------------------------------------
1252 INTEGER IGEO(*)
1253 my_real geo(*),pm(*)
1254C-----------------------------------------------
1255C L o c a l V a r i a b l e s
1256C-----------------------------------------------
1257 INTEGER LSIZ
1258
1259C-----------------------------------------------*
1260 lsiz =(4*npt_stack +2)*ns_stack
1261 CALL write_i_c(igeo, lsiz)
1262 lsiz =(6*npt_stack + 1)*ns_stack
1263 CALL write_db(geo, lsiz)
1264 lsiz =20*ns_stack
1265 CALL write_db(pm, lsiz)
1266 RETURN
1267 END
1268!||====================================================================
1269!|| drape_wrest ../engine/source/output/restart/wrrest.F
1270!||--- called by ------------------------------------------------------
1271!|| wrrestp ../engine/source/output/restart/wrrestp.F
1272!||--- calls -----------------------------------------------------
1273!|| write_db ../common_source/tools/input_output/write_db.F
1274!|| write_i_c ../common_source/tools/input_output/write_routtines.c
1275!||--- uses -----------------------------------------------------
1276!|| drape_mod ../engine/share/modules/drape_mod.F
1277!||====================================================================
1278 SUBROUTINE drape_wrest(DRAPE_SH4N,DRAPE_SH3N, DRAPEG)
1279C
1280 USE drape_mod
1281C-----------------------------------------------
1282C I m p l i c i t T y p e s
1283C-----------------------------------------------
1284#include "implicit_f.inc"
1285C-----------------------------------------------
1286C C o m m o n B l o c k s
1287C-----------------------------------------------
1288#include "com04_c.inc"
1289C-----------------------------------------------
1290C D u m m y A r g u m e n t s
1291C-----------------------------------------------
1292 TYPE(drape_), DIMENSION(:),TARGET:: DRAPE_SH4N(NUMELC_DRAPE),DRAPE_SH3N(NUMELTG_DRAPE)
1293 TYPE(drapeg_) , TARGET :: DRAPEG
1294C-----------------------------------------------
1295C L o c a l V a r i a b l e s
1296C-----------------------------------------------
1297 INTEGER LEN,OFF,I,J,NPT,NDIM,N1,N2,N3,NDIM_INDX_PLY,
1298 . NDIM_SLICE,IS,NSLICE,NPT_DRP
1299 my_real, DIMENSION(:,:), ALLOCATABLE :: rtmp
1300 my_real, DIMENSION(:) , ALLOCATABLE :: thk
1301 INTEGER, DIMENSION(:,:), ALLOCATABLE :: ITMP
1302 INTEGER, DIMENSION(:) , ALLOCATABLE :: NPTDRP_ELT,ISLICE,INDX_PLY,
1303 . NPT_ELT,INDEX
1304 INTEGER , DIMENSION(:), POINTER :: INDXSH4N,INDXSH3N
1305C--------------------------------------
1306C LECTURE DES ENTIERS
1307C--------------------------------------
1308 IF(numelc_drape > 0) THEN
1309 ndim = drapeg%NDIM_SH4N
1310 ndim_slice = drapeg%NDIM_SLICE_SH4N
1311 ndim_indx_ply = drapeg%NDIM_INDX_PLY_SH4N
1312 indxsh4n => drapeg%INDX_SH4N(1:numelc)
1313 !!
1314 CALL write_i_c(ndim,1)
1315 CALL write_i_c(ndim_slice,1)
1316 CAll write_i_c(ndim_indx_ply,1)
1317 CALL write_i_c(indxsh4n,numelc)
1318 ALLOCATE(npt_elt(numelc_drape),nptdrp_elt(numelc_drape),thk(numelc_drape))
1319 ALLOCATE(itmp(ndim,2),rtmp(ndim,2),islice(ndim_slice),indx_ply(ndim_indx_ply))
1320
1321 n1 = 0
1322 n2 = 0
1323 n3 = 0
1324 thk = zero
1325 DO i=1,numelc_drape
1326 npt_drp = drape_sh4n(i)%NPLY_DRAPE
1327 npt = drape_sh4n(i)%NPLY
1328 thk(i) = drape_sh4n(i)%THICK
1329 nptdrp_elt(i) = npt_drp
1330 npt_elt(i) = npt
1331 DO j = 1,npt_drp
1332 nslice = drape_sh4n(i)%DRAPE_PLY(j)%NSLICE
1333 islice(n2 + j) = nslice
1334 DO is = 1,nslice
1335 itmp(n1 + is,1) = drape_sh4n(i)%DRAPE_PLY(j)%IDRAPE(is,1)
1336 itmp(n1 + is,2) = drape_sh4n(i)%DRAPE_PLY(j)%IDRAPE(is,2)
1337 rtmp(n1 + is,1) = drape_sh4n(i)%DRAPE_PLY(j)%RDRAPE(is,1)
1338 rtmp(n1 + is,2) = drape_sh4n(i)%DRAPE_PLY(j)%RDRAPE(is,2)
1339 ENDDO
1340 n1 = n1 + nslice
1341 ENDDO
1342 n2 = n2 + npt_drp
1343 DO j = 1,npt
1344 indx_ply(n3 + j) = drape_sh4n(i)%INDX_PLY(j)
1345 ENDDO
1346 n3 = n3 + npt
1347 ENDDO
1348 CALL write_i_c(nptdrp_elt,numelc_drape)
1349 CALL write_i_c(npt_elt,numelc_drape)
1350 CALL write_i_c(islice,ndim_slice)
1351 CALL write_i_c(indx_ply,ndim_indx_ply)
1352 CALL write_i_c(itmp,2*ndim)
1353 CALL write_db(rtmp,2*ndim)
1354 CALL write_db(thk,numelc_drape )
1355 DEALLOCATE(npt_elt,nptdrp_elt,itmp,rtmp,islice,indx_ply, thk)
1356
1357 ENDIF
1358
1359 IF(numeltg_drape > 0 ) THEN
1360 ndim = drapeg%NDIM_SH3N
1361 ndim_slice = drapeg%NDIM_SLICE_SH3N
1362 ndim_indx_ply = drapeg%NDIM_INDX_PLY_SH3N
1363 indxsh3n => drapeg%INDX_SH3N(1:numeltg)
1364 !!
1365 CALL write_i_c(ndim,1)
1366 CALL write_i_c(ndim_slice,1)
1367 CAll write_i_c(ndim_indx_ply,1)
1368 CALL write_i_c(indxsh3n,numeltg)
1369 ALLOCATE(npt_elt(numeltg_drape),nptdrp_elt(numeltg_drape), thk(numeltg_drape))
1370 ALLOCATE(itmp(ndim,2),rtmp(ndim,2),islice(ndim_slice),indx_ply(ndim_indx_ply))
1371 n1 = 0
1372 n2 = 0
1373 n3 = 0
1374 thk = zero
1375 DO i=1,numeltg_drape
1376 npt_drp = drape_sh3n(i)%NPLY_DRAPE
1377 npt = drape_sh3n(i)%NPLY
1378 thk(i) = drape_sh3n(i)%THICK
1379 nptdrp_elt(i) = npt_drp
1380 npt_elt(i) = npt
1381 DO j = 1,npt_drp
1382 nslice = drape_sh3n(i)%DRAPE_PLY(j)%NSLICE
1383 islice(n2 + j) = nslice
1384 DO is = 1,nslice
1385 itmp(n1 + is,1) = drape_sh3n(i)%DRAPE_PLY(j)%IDRAPE(is,1)
1386 itmp(n1 + is,2) = drape_sh3n(i)%DRAPE_PLY(j)%IDRAPE(is,2)
1387 rtmp(n1 + is,1) = drape_sh3n(i)%DRAPE_PLY(j)%RDRAPE(is,1)
1388 rtmp(n1 + is,2) = drape_sh3n(i)%DRAPE_PLY(j)%RDRAPE(is,2)
1389 ENDDO
1390 n1 = n1 + nslice
1391 ENDDO
1392 n2 = n2 + npt_drp
1393 DO j = 1,npt
1394 indx_ply(n3 + j) = drape_sh3n(i)%INDX_PLY(j)
1395 ENDDO
1396 n3 = n3 + npt
1397 ENDDO
1398 CALL write_i_c(nptdrp_elt,numeltg_drape)
1399 CALL write_i_c(npt_elt,numeltg_drape)
1400 CALL write_i_c(islice,ndim_slice)
1401 CALL write_i_c(indx_ply,ndim_indx_ply)
1402 CALL write_i_c(itmp,2*ndim)
1403 CALL write_db(rtmp,2*ndim)
1404 CALL write_db(thk, numeltg_drape )
1405 DEALLOCATE(npt_elt,nptdrp_elt,itmp,rtmp,islice,indx_ply, thk)
1406 ENDIF
1407 RETURN
1408 END
1409!||====================================================================
1410!|| ply_info_wrest ../engine/source/output/restart/wrrest.F
1411!||--- called by ------------------------------------------------------
1412!|| wrrestp ../engine/source/output/restart/wrrestp.F
1413!||--- calls -----------------------------------------------------
1414!|| write_i_c ../common_source/tools/input_output/write_routtines.c
1415!||====================================================================
1416 SUBROUTINE ply_info_wrest(PLY_INFO)
1417C-----------------------------------------------
1418C I m p l i c i t T y p e s
1419C-----------------------------------------------
1420#include "implicit_f.inc"
1421C-----------------------------------------------
1422C C o m m o n B l o c k s
1423C-----------------------------------------------
1424#include "com04_c.inc"
1425C-----------------------------------------------
1426C D u m m y A r g u m e n t s
1427C-----------------------------------------------
1428 INTEGER PLY_INFO(*)
1429C-----------------------------------------------
1430C L o c a l V a r i a b l e s
1431C-----------------------------------------------
1432 INTEGER LEN
1433C--------------------------------------
1434C ERCITURE DES ENTIERS
1435C--------------------------------------
1436 len = 3 * numply
1437 CALL write_i_c(ply_info,len)
1438C--------------------------------------
1439C LECTURE DES REELS
1440C--------------------------------------
1441C
1442 RETURN
1443 END
#define my_real
Definition cppsort.cpp:32
subroutine rigmatwrest(rbym, irbym, lcrbym, weight_rm)
Definition wrrest.F:860
subroutine drape_wrest(drape_sh4n, drape_sh3n, drapeg)
Definition wrrest.F:1279
subroutine plyxfem_wrestanim()
Definition wrrest.F:940
subroutine ply_info_wrest(ply_info)
Definition wrrest.F:1417
subroutine plyxfem_wrest(ms_ply, zi_ply, inod, iel, icode, iskew, msz2)
Definition wrrest.F:896
subroutine crkxfem_wrestanim(crkedge, crksky, indx_crk, xedge4n, xedge3n)
Definition wrrest.F:1022
subroutine nfwrest(iflow, rflow)
Definition wrrest.F:319
subroutine rthbufwrest()
Definition wrrest.F:1212
subroutine crkxfem_wrest(inod, iel, nodlevxf)
Definition wrrest.F:985
subroutine nitschewrest(forneqs)
Definition wrrest.F:682
subroutine fxtempwrest(ibft, fbft, glob_therm)
Definition wrrest.F:817
subroutine thcwrest(mcp, temp)
Definition wrrest.F:643
subroutine fxbwrest(ich)
Definition wrrest.F:36
subroutine radiawrest(ibcr, fradia, glob_therm)
Definition wrrest.F:770
subroutine eigwrest(eigipm, eigibuf, eigrpm)
Definition wrrest.F:128
subroutine dswrest(graphe)
Definition wrrest.F:204
subroutine fvwrest()
Definition wrrest.F:476
subroutine convwrest(ibcv, fconv, glob_therm)
Definition wrrest.F:723
subroutine stack_wrest(igeo, geo, pm)
Definition wrrest.F:1241
subroutine plyxfem_wravuply()
Definition wrrest.F:1141
subroutine imp_trans0(r_imp, nr)
Definition wrrest.F:399
subroutine impwrest(nimpr)
Definition wrrest.F:353
subroutine alelag_wrest()
Definition wrrest.F:1178
subroutine imp_trans(r_imp)
Definition wrrest.F:441
type(xfem_phantom_), dimension(:), allocatable xfem_phantom
type(xfem_nodes_), dimension(:), allocatable crknod
type(xfem_avx_), dimension(:), allocatable crkavx
type(xfem_shell_), dimension(:), allocatable crkshell
type(xfem_lvset_), dimension(:), allocatable crklvset
type(fvbag_spmd), dimension(:), allocatable fvspmd
Definition fvbag_mod.F:129
type(fvbag_data), dimension(:), allocatable fvdata
Definition fvbag_mod.F:128
integer nfvbag
Definition fvbag_mod.F:127
integer, dimension(:), allocatable kmesh
integer, dimension(:,:), allocatable fxbipm
Definition fxb_mod.F:39
integer, dimension(:), allocatable fxbnod
Definition fxb_mod.F:41
integer, dimension(:), allocatable fxbelm
Definition fxb_mod.F:41
integer, dimension(:), allocatable fxbgrvi
Definition fxb_mod.F:41
type(plynods), dimension(:), allocatable plynod
Definition plyxfem_mod.F:44
type(ply_data), dimension(:), allocatable ply
Definition plyxfem_mod.F:91
integer, dimension(:), allocatable indx_ply
Definition plyxfem_mod.F:60
integer nplypart
Definition plyxfem_mod.F:59
integer, dimension(:), allocatable idpid_ply
Definition plyxfem_mod.F:61
integer, dimension(:), allocatable plysizg
type(plyshells), dimension(:), allocatable plyshell
Definition plyxfem_mod.F:56
integer, dimension(:), allocatable nodenr
Definition restart_mod.F:83
integer, dimension(:), allocatable kxfenod2elc
Definition restart_mod.F:83
integer, dimension(:), allocatable enrtag
Definition restart_mod.F:83
integer, dimension(:), allocatable elcutc
Definition restart_mod.F:83
subroutine wrtsqi(ia, l, iform)
Definition wrtsqi.F:36
subroutine wrtsqr(a, l, iform)
Definition wrtsqr.F:37
subroutine write_db(a, n)
Definition write_db.F:140
void write_i_c(int *w, int *len)