OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
write_db.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!|| write_db ../common_source/tools/input_output/write_db.F
25!||--- called by ------------------------------------------------------
26!|| alelag_wrest ../engine/source/output/restart/wrrest.F
27!|| compress_r_nnz ../common_source/comm/compress_nnz.F
28!|| convwrest ../engine/source/output/restart/wrrest.F
29!|| copy_rval ../starter/source/restart/ddsplit/inter_tools.F
30!|| crkxfem_wrestanim ../engine/source/output/restart/wrrest.F
31!|| ddsplit ../starter/source/restart/ddsplit/ddsplit.F
32!|| drape_wrest ../engine/source/output/restart/wrrest.F
33!|| dswrest ../engine/source/output/restart/wrrest.F
34!|| dswrestp ../starter/source/restart/ddsplit/wrrest.F
35!|| eigwrest ../engine/source/output/restart/wrrest.F
36!|| eigwrestp ../starter/source/restart/ddsplit/wrrest.F
37!|| fvwrest ../engine/source/output/restart/wrrest.F
38!|| fvwrestp ../starter/source/restart/ddsplit/fvwrestp.F
39!|| fxbwrest ../engine/source/output/restart/wrrest.F
40!|| fxbwrestp ../starter/source/restart/ddsplit/wrrest.F
41!|| fxfluxwrest ../engine/source/constraints/thermic/fxfluxwrest.F
42!|| fxtempwrest ../engine/source/output/restart/wrrest.F
43!|| impwrest ../engine/source/output/restart/wrrest.f
44!|| intfric_wrestr ../common_source/modules/interfaces/intbuf_fric_mod.F90
45!|| intstamp_wrestr ../engine/share/modules/intstamp_mod.F
46!|| nfwrest ../engine/source/output/restart/wrrest.F
47!|| nfwrestp ../starter/source/restart/ddsplit/wrrest.F
48!|| nitschewrest ../engine/source/output/restart/wrrest.F
49!|| pblast_write_engine ../common_source/modules/loads/pblast_mod.F90
50!|| pblast_write_starter ../common_source/modules/loads/pblast_mod.F90
51!|| plyxfem_wravuply ../engine/source/output/restart/wrrest.F
52!|| plyxfem_wrest ../engine/source/output/restart/wrrest.F
53!|| radiawrest ../engine/source/output/restart/wrrest.F
54!|| rigmatwrest ../engine/source/output/restart/wrrest.F
55!|| rthbufwrest ../engine/source/output/restart/wrrest.F
56!|| split_cand_rval ../starter/source/restart/ddsplit/inter_tools.F
57!|| split_interfaces ../starter/source/restart/ddsplit/split_interfaces.F
58!|| split_node_rval ../starter/source/restart/ddsplit/inter_tools.F
59!|| split_seg_rval_i20 ../starter/source/restart/ddsplit/inter_tools.F
60!|| split_xsav ../starter/source/restart/ddsplit/inter_tools.F
61!|| spmd_savefi ../engine/source/mpi/interfaces/spmd_i7tool.F
62!|| spmd_savesph ../engine/source/mpi/sph/spmd_sptool.F
63!|| spmd_userwi_rest ../starter/source/user_interface/user_windows_tools.F
64!|| stack_wrest ../engine/source/output/restart/wrrest.F
65!|| stat_inimap1d_file_spmd ../engine/source/output/sta/stat_inimap1d_file_spmd.F
66!|| stat_inimap2d_file_spmd ../engine/source/output/sta/stat_inimap2d_file_spmd.f
67!|| table_wrestr ../engine/source/tools/curve/table_tools.F
68!|| thcwrest ../engine/source/output/restart/wrrest.F
69!|| userwi_write ../engine/source/user_interface/userwindow_interface_routines.F
70!|| w_alelag ../starter/source/restart/ddsplit/w_alelag.F
71!|| w_anim_crk ../starter/source/restart/ddsplit/w_anim_crk.F
72!|| w_avuply ../starter/source/restart/ddsplit/w_avuply.F
73!|| w_bid ../starter/source/restart/ddsplit/w_bid.F
74!|| w_bufbric_22 ../engine/source/interfaces/int22/w_bufbric_22.F
75!|| w_bufel ../starter/source/restart/ddsplit/w_bufel.F
76!|| w_cluster ../engine/source/output/cluster/w_cluster.F
77!|| w_disp0_vel0_cload ../starter/source/restart/ddsplit/w_disp0_vel0_cload.F
78!|| w_drape ../starter/source/restart/ddsplit/w_drape.F
79!|| w_elbuf_str ../engine/source/elements/elbuf/w_elbuf_str.F
80!|| w_fac ../starter/source/restart/ddsplit/w_fac.F
81!|| w_fbft ../starter/source/restart/ddsplit/w_fbft.F
82!|| w_fconv ../starter/source/restart/ddsplit/w_fconv.F
83!|| w_fixvel ../starter/source/restart/ddsplit/w_fixvel.F
84!|| w_fradia ../starter/source/restart/ddsplit/w_fradia.F
85!|| w_frbe3 ../starter/source/restart/ddsplit/w_frbe3.F
86!|| w_fthflux ../starter/source/restart/ddsplit/w_fthflux.F
87!|| w_inivel_str ../starter/source/restart/ddsplit/w_inivel_str.F90
88!|| w_knotloc ../starter/source/restart/ddsplit/w_knotloc.F
89!|| w_outmaxn ../starter/source/restart/ddsplit/w_outmaxn.F
90!|| w_pxfem ../starter/source/restart/ddsplit/w_pxfem.F
91!|| w_r3nloc ../starter/source/restart/ddsplit/w_r3nloc.F
92!|| w_reloc ../starter/source/restart/ddsplit/w_reloc.F
93!|| w_reloc2 ../starter/source/restart/ddsplit/w_reloc2.F
94!|| w_rfilloc ../starter/source/restart/ddsplit/w_rfilloc.F
95!|| w_rnloc ../starter/source/restart/ddsplit/w_rnloc.F
96!|| w_rnnloc ../starter/source/restart/ddsplit/w_rnnloc.F
97!|| w_rsph ../starter/source/restart/ddsplit/w_rsph.F
98!|| w_rwar ../starter/source/restart/ddsplit/w_rwar.F
99!|| w_seatbelts ../starter/source/restart/ddsplit/w_seatbelts.F
100!|| w_secbuf ../starter/source/restart/ddsplit/w_secbuf.F
101!|| w_skwsph ../starter/source/restart/ddsplit/w_skwsph.F
102!|| w_skwsub ../starter/source/restart/ddsplit/w_skwsub.f
103!|| w_stack ../starter/source/restart/ddsplit/w_stack.F
104!|| w_tabmat_prop ../starter/source/restart/ddsplit/w_tabmat_prop.F
105!|| write_ale_grid ../common_source/output/restart/write_ale_grid.f90
106!|| write_bcs_wall ../common_source/output/restart/write_bcs_wall.F90
107!|| write_common_data ../common_source/modules/boundary_conditions/ebcs_mod.F90
108!|| write_data_gradp0 ../common_source/modules/boundary_conditions/ebcs_mod.F90
109!|| write_data_inip ../common_source/modules/boundary_conditions/ebcs_mod.F90
110!|| write_data_iniv ../common_source/modules/boundary_conditions/ebcs_mod.F90
111!|| write_data_normv ../common_source/modules/boundary_conditions/ebcs_mod.F90
112!|| write_data_pres ../common_source/modules/boundary_conditions/ebcs_mod.F90
113!|| write_data_valvin ../common_source/modules/boundary_conditions/ebcs_mod.F90
114!|| write_data_valvout ../common_source/modules/boundary_conditions/ebcs_mod.F90
115!|| write_data_vel ../common_source/modules/boundary_conditions/ebcs_mod.F90
116!|| write_db_debug ../starter/source/output/tools/write_debug.F
117!|| write_elgroup_param ../engine/source/output/restart/write_elgroup_param.F
118!|| write_eosparam ../engine/source/output/restart/write_eosparam.F90
119!|| write_failparam ../engine/source/output/restart/write_failparam.F
120!|| write_inivel ../engine/source/output/restart/write_inivel.F90
121!|| write_intbuf ../engine/source/output/restart/write_intbuf.F
122!|| write_mat_table ../engine/source/materials/tools/write_mat_table.F
123!|| write_matparam ../engine/source/output/restart/write_matparam.F
124!|| write_nloc_struct ../engine/source/output/restart/write_nloc_struct.F
125!|| write_pcyl ../engine/source/output/restart/write_pcyl.F
126!|| write_real ../common_source/comm/write_mod.F
127!|| write_real_1d ../common_source/comm/write_mod.F
128!|| write_real_2d ../common_source/comm/write_mod.F
129!|| write_real_3d ../common_source/comm/write_mod.F
130!|| write_rrbe3pen ../engine/source/output/restart/restart_rbe3pen.F90
131!|| write_sensors ../engine/source/output/restart/write_sensors.F
132!|| write_thermparam ../engine/source/output/restart/write_thermparam.F90
133!|| write_units ../common_source/comm/write_units.F
134!|| write_viscparam ../engine/source/output/restart/write_viscparam.F
135!|| wrrestp ../engine/source/output/restart/wrrestp.F
136!||--- calls -----------------------------------------------------
137!|| write_db_c ../common_source/tools/input_output/write_routtines.c
138!||====================================================================
139 SUBROUTINE write_db(A,N)
140C ecriture nombre reel : routine tampon
141C-----------------------------------------------
142C I m p l i c i t T y p e s
143C-----------------------------------------------
144#include "implicit_f.inc"
145C-----------------------------------------------
146C D u m m y A r g u m e n t s
147C-----------------------------------------------
148 INTEGER N
149C REAL
150 my_real
151 . a(*)
152C-----------------------------------------------
153C C o m m o n B l o c k s
154C-----------------------------------------------
155#include "scr05_c.inc"
156C-----------------------------------------------
157C L o c a l V a r i a b l e s
158C-----------------------------------------------
159 INTEGER I,J,K,N1,N2
160 DOUBLE PRECISION R8(1000)
161 REAL R4(1000)
162C-----------------------------------------------
163C S o u r c e L i n e s
164C-----------------------------------------------
165 k=0
166 n1=n/1000
167 IF(icray==1)THEN
168C fortran double precision : 128 bits C double : 64 bits
169C fortran real : 64 bits C double : 64 bits
170 DO i = 1, n1
171 DO j = 1, 1000
172 k=k+1
173 r4(j) = a(k)
174 ENDDO
175 CALL write_db_c(r4,1000)
176 ENDDO
177 n2=n1*1000
178 IF(n2/=n)THEN
179 DO j = 1, n-n2
180 k=k+1
181 r4(j) = a(k)
182 ENDDO
183 CALL write_db_c(r4,n-n2)
184 ENDIF
185 ELSE
186C fortran double precision : 64 bits C double : 64 bits
187 DO i = 1, n1
188 DO j = 1, 1000
189 k=k+1
190 r8(j) = a(k)
191 ENDDO
192 CALL write_db_c(r8,1000)
193 ENDDO
194 n2=n1*1000
195 IF(n2/=n)THEN
196 DO j = 1, n-n2
197 k=k+1
198 r8(j) = a(k)
199 ENDDO
200 CALL write_db_c(r8,n-n2)
201 ENDIF
202 ENDIF
203C
204 RETURN
205 END
206!||====================================================================
207!|| write_db_array ../common_source/tools/input_output/write_db.F
208!||--- called by ------------------------------------------------------
209!|| intfric_wrestr ../common_source/modules/interfaces/intbuf_fric_mod.F90
210!|| write_data_fluxout ../common_source/modules/boundary_conditions/ebcs_mod.F90
211!|| write_data_inlet ../common_source/modules/boundary_conditions/ebcs_mod.F90
212!|| write_data_nrf ../common_source/modules/boundary_conditions/ebcs_mod.F90
213!|| write_data_propellant ../common_source/modules/boundary_conditions/ebcs_mod.F90
214!||--- calls -----------------------------------------------------
215!|| write_db_c ../common_source/tools/input_output/write_routtines.c
216!||====================================================================
217 SUBROUTINE write_db_array(A,N)
218C ecriture nombre reel : routine tampon
219C-----------------------------------------------
220C I m p l i c i t T y p e s
221C-----------------------------------------------
222#include "implicit_f.inc"
223C-----------------------------------------------
224C D u m m y A r g u m e n t s
225C-----------------------------------------------
226 INTEGER N
227C REAL
228 my_real
229 . a(*)
230C-----------------------------------------------
231C C o m m o n B l o c k s
232C-----------------------------------------------
233#include "scr05_c.inc"
234C-----------------------------------------------
235C L o c a l V a r i a b l e s
236C-----------------------------------------------
237 INTEGER I,J,K,N1,N2
238 DOUBLE PRECISION R8(1000)
239 REAL R4(1000)
240C-----------------------------------------------
241C S o u r c e L i n e s
242C-----------------------------------------------
243 k=0
244 n1=n/1000
245 IF(icray==1)THEN
246C fortran double precision : 128 bits C double : 64 bits
247C fortran real : 64 bits C double : 64 bits
248 DO i = 1, n1
249 DO j = 1, 1000
250 k=k+1
251 r4(j) = a(k)
252 ENDDO
253 CALL write_db_array_c(r4,1000)
254 ENDDO
255 n2=n1*1000
256 IF(n2/=n)THEN
257 DO j = 1, n-n2
258 k=k+1
259 r4(j) = a(k)
260 ENDDO
261 CALL write_db_array_c(r4,n-n2)
262 ENDIF
263 ELSE
264C fortran double precision : 64 bits C double : 64 bits
265 DO i = 1, n1
266 DO j = 1, 1000
267 k=k+1
268 r8(j) = a(k)
269 ENDDO
270 CALL write_db_c(r8,1000)
271 ENDDO
272 n2=n1*1000
273 IF(n2/=n)THEN
274 DO j = 1, n-n2
275 k=k+1
276 r8(j) = a(k)
277 ENDDO
278 CALL write_db_c(r8,n-n2)
279 ENDIF
280 ENDIF
281C
282 RETURN
283 END
284!||====================================================================
285!|| write_dpdb ../common_source/tools/input_output/write_db.F
286!||--- called by ------------------------------------------------------
287!|| add_elapsed_time_mon_off ../engine/source/system/timer.F
288!|| ddsplit ../starter/source/restart/ddsplit/ddsplit.F
289!|| intstamp_wrestr ../engine/share/modules/intstamp_mod.F
290!|| printime ../engine/source/system/timer.F
291!|| w_elbuf_str ../engine/source/elements/elbuf/w_elbuf_str.F
292!|| write_double ../common_source/comm/write_mod.F
293!|| write_double_1d ../common_source/comm/write_mod.F
294!|| write_double_2d ../common_source/comm/write_mod.F
295!|| write_double_3d ../common_source/comm/write_mod.F
296!|| write_sensors ../engine/source/output/restart/write_sensors.F
297!|| wrrestp ../engine/source/output/restart/wrrestp.F
298!||--- calls -----------------------------------------------------
299!|| write_db_c ../common_source/tools/input_output/write_routtines.c
300!||====================================================================
301 SUBROUTINE write_dpdb(A,N)
302C ecriture nombre reel : routine tampon
303C-----------------------------------------------
304C I m p l i c i t T y p e s
305C-----------------------------------------------
306#include "implicit_f.inc"
307C-----------------------------------------------
308C D u m m y A r g u m e n t s
309C-----------------------------------------------
310 INTEGER N
311 double precision
312 . a(*)
313C-----------------------------------------------
314C L o c a l V a r i a b l e s
315C-----------------------------------------------
316 INTEGER I,J,K,N1,N2
317 DOUBLE PRECISION R8(1000)
318 REAL R4(1000)
319C-----------------------------------------------
320C S o u r c e L i n e s
321C-----------------------------------------------
322 k=0
323 n1=n/1000
324C fortran double precision : 64 bits C double : 64 bits
325 DO i = 1, n1
326 DO j = 1, 1000
327 k=k+1
328 r8(j) = a(k)
329 ENDDO
330 CALL write_db_c(r8,1000)
331 ENDDO
332 n2=n1*1000
333 IF(n2/=n)THEN
334 DO j = 1, n-n2
335 k=k+1
336 r8(j) = a(k)
337 ENDDO
338 CALL write_db_c(r8,n-n2)
339 ENDIF
340C
341 RETURN
342 END
#define my_real
Definition cppsort.cpp:32
subroutine ddsplit(p, cep, cel, igeo, mat_elem, ipm, icode, iskew, iskn, insel, ibcslag, ipart, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, iparttg, detonators, ipartx, npc, ixtg, group_param_tab, ixtg6, ixs, ixs10, ixs20, ixs16, ixq, ixc, ixt, ixp, ixr, itab, itabm1, gjbufi, nale, ale_connectivity, kxx, ixx, ibcl, ibfv, las, laccelm, nnlink, lllink, iparg, igrav, lgrav, ibvel, lbvel, iactiv, factiv, kinet, ipari, nprw, lprw, iexmad, npby, lpby, ixri, nstrf, ljoint, pornod, monvol, icontact, lagbuf, fr_iad, x, d, v, vr, dr, thke, dampr, damp, ms, in, tf, pm, skew, xframe, geo, eani, bufmat, bufgeo, bufsf, brmpc, gjbufr, w, veul, fill, dfill, wb, dsav, asav, msnf, spbuf, fac, vel, fsav, fzero, xlas, accelm, fbvel, gravfac, fr_wave, failwave, parts0, elbuf, rwl, rwsav, rby, rivet, secbuf, rvolu, rconx, nloc_dmg, fvmain, libagale, lenthg, lbufmat, lbufgeo, lbufsf, lenxlas, lnom_opt, lenlas, lenvolu, npts, cne, lcne, addcne, cni2, lcni2g, addcni2, cepi2, celi2, i2nsnt, probint, ddstat, pm1shf, dd_iad, kxsp, ixsp, nod2sp, cepsp, nthwa, nairwa, nmnt, l_mul_lag1, l_mul_lag, lwaspio, ipartsp, ispcond, pm1sph, wma, eigipm, eigibuf, eigrpm, iflow, rflow, memflow, iexlnk, fasolfr, iparth, fxbipm, fxbrpm, fxbnod, fxbmod, fxbglm, fxbcpm, fxbcps, fxblm, fxbfls, fxbdls, fxbdep, fxbvit, fxbacc, fxbelm, fxbsig, fxbgrvi, fxbgrvr, iadll, lll, ibmpc, lambda, lrbagale, iskwp, nskwp, isensp, nsensp, iaccp, naccp, ipart_state, mcp, temp, unitab, intstamp, iframe, clusters, partsav, ibft, fbft, ibcv, fconv, irbe3, lrbe3, frbe3, front_rm, rbym, irbym, lcrbym, inoise, fnoise, ms0, admsms, nom_sect, ispsym, sh4tree, sh3tree, ipadmesh, ibfflux, fbfflux, sh4trim, sh3trim, padmesh, msc, mstg, inc, intg, ptg, mcpc, mcptg, rcontact, acontact, pcontact, mscnd, incnd, mssa, mstr, msp, msrt, ibcr, fradia, dmelc, dmeltg, dmels, dmeltr, dmelp, dmelrt, res_sms, isphio, lprtsph, lonfsph, vsphio, sphveln, alph, ifill, ims, irbe2, lrbe2, ms_ply, zi_ply, inod_pxfem, iel_pxfem, icodply, iskwply, addcne_pxfem, cne_pxfem, cel_pxfem, ithvar, xdp, table, celsph, icfield, lcfield, cfield, msz2, itask, diag_sms, iloadp, lloadp, loadp, inod_crkxfem, iel_crkxfem, addcne_crkxfem, cne_crkxfem, cel_crkxfem, ibufssg_io, intercep, ibordnode, iedgesh, ibordedge, linale, nodedge, iedge, cep_crkxfem, iedge_tmp, crknodiad, elbuf_tab, nom_opt, lgauge, gauge, igaup, ngaup, nodlevxf, frontb_r2r, dflow, vflow, wflow, sph2sol, sol2sph, irst, elcutc, nodenr, kxfenod2elc, enrtag, intbuf_tab, i11flag, xfem_tab, lenthgr, rthbuf, ixig3d, kxig3d, knot, ipartig3d, wige, ncrkpart, indx_crk, crklvset, crkshell, crksky, crkavx, crkedge, sensors, stack, xfem_phantom, t8, tab_ump, poin_ump, sol2sph_typ, addcsrect, csrect, drape, loads, itagnd, icnds10, addcncnd, cepcnd, celcnd, cncnd, nativ_sms, i24maxnsne, multi_fvm, segquadfr, intbuf_fric_tab, subset, igrnod, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, igrpart, igrsurf, igrslin, poin_part_shell, poin_part_tri, poin_part_sol, mid_pid_shell, mid_pid_tri, mid_pid_sol, tag_nm, nindx_nm, indx_nm, tag_scratch, nindx_scrt, indx_scrt, flag_24_25, numnod_l, tag_skn, multiple_skew, igrsurf_proc, knotlocpc, knotlocel, ale_elm, size_ale_elm, pinch_data, tag_skins6, ibcscyc, lbcscyc, t_monvol, indx_s, indx_q, indx_tg, face_elm_s, face_elm_q, face_elm_tg, nbr_th_monvol, ebcs_tab, kloadpinter, loadpinter, dgaploadint, s_loadpinter, len_cep, dynain_data, drapeg, user_windows, output, interfaces, number_load_cyl, loads_per_proc, python, dpl0cld, vel0cld, names_and_titles, bcs_per_proc, constraint_struct, glob_therm, pblast)
Definition ddsplit.F:336
subroutine impwrest(nimpr)
Definition wrrest.F:353
program starter
Definition starter.F:39
subroutine stat_inimap2d_file_spmd(x, v, itab, ipart_state, nodtag, ipart, iparts, ipartq, iparttg, mat_param, igeo, iparg, ixs, ixq, ixtg, elbuf_tab, multi_fvm, bufmat, ipm)
subroutine w_skwsub(skew, len_am)
Definition w_skwsub.F:33
subroutine write_db_array(a, n)
Definition write_db.F:218
subroutine write_db(a, n)
Definition write_db.F:140
subroutine write_dpdb(a, n)
Definition write_db.F:302
void write_db_c(double *w, int *len)
void write_db_array_c(double *w, int *len)