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_nrf ../common_source/output/restart/write_bcs_nrf.F90
107!|| write_bcs_wall ../common_source/output/restart/write_bcs_wall.F90
108!|| write_common_data ../common_source/modules/boundary_conditions/ebcs_mod.F90
109!|| write_data_gradp0 ../common_source/modules/boundary_conditions/ebcs_mod.F90
110!|| write_data_inip ../common_source/modules/boundary_conditions/ebcs_mod.F90
111!|| write_data_iniv ../common_source/modules/boundary_conditions/ebcs_mod.F90
112!|| write_data_normv ../common_source/modules/boundary_conditions/ebcs_mod.F90
113!|| write_data_pres ../common_source/modules/boundary_conditions/ebcs_mod.F90
114!|| write_data_valvin ../common_source/modules/boundary_conditions/ebcs_mod.F90
115!|| write_data_valvout ../common_source/modules/boundary_conditions/ebcs_mod.F90
116!|| write_data_vel ../common_source/modules/boundary_conditions/ebcs_mod.F90
117!|| write_db_debug ../starter/source/output/tools/write_debug.F
118!|| write_elgroup_param ../engine/source/output/restart/write_elgroup_param.F
119!|| write_eosparam ../engine/source/output/restart/write_eosparam.F90
120!|| write_failparam ../engine/source/output/restart/write_failparam.F
121!|| write_inivel ../engine/source/output/restart/write_inivel.F90
122!|| write_intbuf ../engine/source/output/restart/write_intbuf.F
123!|| write_mat_table ../engine/source/materials/tools/write_mat_table.F
124!|| write_matparam ../engine/source/output/restart/write_matparam.F
125!|| write_nloc_struct ../engine/source/output/restart/write_nloc_struct.F
126!|| write_pcyl ../engine/source/output/restart/write_pcyl.F
127!|| write_real ../common_source/comm/write_mod.F
128!|| write_real_1d ../common_source/comm/write_mod.F
129!|| write_real_2d ../common_source/comm/write_mod.F
130!|| write_real_3d ../common_source/comm/write_mod.F
131!|| write_rrbe3pen ../engine/source/output/restart/restart_rbe3pen.F90
132!|| write_rrwallpen ../engine/source/output/restart/restart_rwallpen.F90
133!|| write_sensors ../engine/source/output/restart/write_sensors.F
134!|| write_thermparam ../engine/source/output/restart/write_thermparam.F90
135!|| write_units ../common_source/comm/write_units.F
136!|| write_viscparam ../engine/source/output/restart/write_viscparam.F
137!|| wrrestp ../engine/source/output/restart/wrrestp.F
138!||--- calls -----------------------------------------------------
139!|| write_db_c ../common_source/tools/input_output/write_routines.c
140!||====================================================================
141 SUBROUTINE write_db(A,N)
142C Writing Reel Number: wrapper routine
143C-----------------------------------------------
144C I m p l i c i t T y p e s
145C-----------------------------------------------
146#include "implicit_f.inc"
147C-----------------------------------------------
148C D u m m y A r g u m e n t s
149C-----------------------------------------------
150 INTEGER N
151C REAL
152 my_real
153 . a(*)
154C-----------------------------------------------
155C C o m m o n B l o c k s
156C-----------------------------------------------
157#include "scr05_c.inc"
158C-----------------------------------------------
159C L o c a l V a r i a b l e s
160C-----------------------------------------------
161 INTEGER I,J,K,N1,N2
162 DOUBLE PRECISION R8(1000)
163 REAL R4(1000)
164C-----------------------------------------------
165C S o u r c e L i n e s
166C-----------------------------------------------
167 k=0
168 n1=n/1000
169 IF(icray==1)THEN
170C Fortran Double precision: 128 bits C'double: 64 bits
171C fortran real : 64 bits C double : 64 bits
172 DO i = 1, n1
173 DO j = 1, 1000
174 k=k+1
175 r4(j) = a(k)
176 ENDDO
177 CALL write_db_c(r4,1000)
178 ENDDO
179 n2=n1*1000
180 IF(n2/=n)THEN
181 DO j = 1, n-n2
182 k=k+1
183 r4(j) = a(k)
184 ENDDO
185 CALL write_db_c(r4,n-n2)
186 ENDIF
187 ELSE
188C Fortran Double precision: 64 bits C'double: 64 bits
189 DO i = 1, n1
190 DO j = 1, 1000
191 k=k+1
192 r8(j) = a(k)
193 ENDDO
194 CALL write_db_c(r8,1000)
195 ENDDO
196 n2=n1*1000
197 IF(n2/=n)THEN
198 DO j = 1, n-n2
199 k=k+1
200 r8(j) = a(k)
201 ENDDO
202 CALL write_db_c(r8,n-n2)
203 ENDIF
204 ENDIF
205C
206 RETURN
207 END
208!||====================================================================
209!|| write_db_array ../common_source/tools/input_output/write_db.F
210!||--- called by ------------------------------------------------------
211!|| intfric_wrestr ../common_source/modules/interfaces/intbuf_fric_mod.F90
212!|| write_data_fluxout ../common_source/modules/boundary_conditions/ebcs_mod.F90
213!|| write_data_inlet ../common_source/modules/boundary_conditions/ebcs_mod.F90
214!|| write_data_nrf ../common_source/modules/boundary_conditions/ebcs_mod.F90
215!|| write_data_propellant ../common_source/modules/boundary_conditions/ebcs_mod.F90
216!||--- calls -----------------------------------------------------
217!|| write_db_c ../common_source/tools/input_output/write_routines.c
218!||====================================================================
219 SUBROUTINE write_db_array(A,N)
220C Writing Reel Number: wrapper routine
221C-----------------------------------------------
222C I m p l i c i t T y p e s
223C-----------------------------------------------
224#include "implicit_f.inc"
225C-----------------------------------------------
226C D u m m y A r g u m e n t s
227C-----------------------------------------------
228 INTEGER N
229C REAL
230 my_real
231 . a(*)
232C-----------------------------------------------
233C C o m m o n B l o c k s
234C-----------------------------------------------
235#include "scr05_c.inc"
236C-----------------------------------------------
237C L o c a l V a r i a b l e s
238C-----------------------------------------------
239 INTEGER I,J,K,N1,N2
240 DOUBLE PRECISION R8(1000)
241 REAL R4(1000)
242C-----------------------------------------------
243C S o u r c e L i n e s
244C-----------------------------------------------
245 k=0
246 n1=n/1000
247 IF(icray==1)THEN
248C Fortran Double precision: 128 bits C'double: 64 bits
249C fortran real : 64 bits C double : 64 bits
250 DO i = 1, n1
251 DO j = 1, 1000
252 k=k+1
253 r4(j) = a(k)
254 ENDDO
255 CALL write_db_array_c(r4,1000)
256 ENDDO
257 n2=n1*1000
258 IF(n2/=n)THEN
259 DO j = 1, n-n2
260 k=k+1
261 r4(j) = a(k)
262 ENDDO
263 CALL write_db_array_c(r4,n-n2)
264 ENDIF
265 ELSE
266C Fortran Double precision: 64 bits C'double: 64 bits
267 DO i = 1, n1
268 DO j = 1, 1000
269 k=k+1
270 r8(j) = a(k)
271 ENDDO
272 CALL write_db_c(r8,1000)
273 ENDDO
274 n2=n1*1000
275 IF(n2/=n)THEN
276 DO j = 1, n-n2
277 k=k+1
278 r8(j) = a(k)
279 ENDDO
280 CALL write_db_c(r8,n-n2)
281 ENDIF
282 ENDIF
283C
284 RETURN
285 END
286!||====================================================================
287!|| write_dpdb ../common_source/tools/input_output/write_db.F
288!||--- called by ------------------------------------------------------
289!|| add_elapsed_time_mon_off ../engine/source/system/timer.F
290!|| ddsplit ../starter/source/restart/ddsplit/ddsplit.F
291!|| intstamp_wrestr ../engine/share/modules/intstamp_mod.F
292!|| printime ../engine/source/system/timer.F
293!|| w_elbuf_str ../engine/source/elements/elbuf/w_elbuf_str.F
294!|| write_double ../common_source/comm/write_mod.F
295!|| write_double_1d ../common_source/comm/write_mod.F
296!|| write_double_2d ../common_source/comm/write_mod.F
297!|| write_double_3d ../common_source/comm/write_mod.F
298!|| write_sensors ../engine/source/output/restart/write_sensors.F
299!|| wrrestp ../engine/source/output/restart/wrrestp.F
300!||--- calls -----------------------------------------------------
301!|| write_db_c ../common_source/tools/input_output/write_routines.c
302!||====================================================================
303 SUBROUTINE write_dpdb(A,N)
304C Writing Reel Number: wrapper routine
305C-----------------------------------------------
306C I m p l i c i t T y p e s
307C-----------------------------------------------
308#include "implicit_f.inc"
309C-----------------------------------------------
310C D u m m y A r g u m e n t s
311C-----------------------------------------------
312 INTEGER N
313 double precision
314 . a(*)
315C-----------------------------------------------
316C L o c a l V a r i a b l e s
317C-----------------------------------------------
318 INTEGER I,J,K,N1,N2
319 DOUBLE PRECISION R8(1000)
320C-----------------------------------------------
321C S o u r c e L i n e s
322C-----------------------------------------------
323 k=0
324 n1=n/1000
325C Fortran Double precision: 64 bits C'double: 64 bits
326 DO i = 1, n1
327 DO j = 1, 1000
328 k=k+1
329 r8(j) = a(k)
330 ENDDO
331 CALL write_db_c(r8,1000)
332 ENDDO
333 n2=n1*1000
334 IF(n2/=n)THEN
335 DO j = 1, n-n2
336 k=k+1
337 r8(j) = a(k)
338 ENDDO
339 CALL write_db_c(r8,n-n2)
340 ENDIF
341C
342 RETURN
343 END
#define my_real
Definition cppsort.cpp:32
subroutine write_db_array(a, n)
Definition write_db.F:220
subroutine write_db(a, n)
Definition write_db.F:142
subroutine write_dpdb(a, n)
Definition write_db.F:304
void write_db_c(double *w, int *len)
void write_db_array_c(double *w, int *len)