OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
write_units.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_units ../common_source/comm/write_units.F
25!||--- called by ------------------------------------------------------
26!|| ddsplit ../starter/source/restart/ddsplit/ddsplit.F
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!|| unitab_mod ../common_source/modules/unitab_mod.F
33!||====================================================================
34 SUBROUTINE write_units(UNITAB)
35C============================================================================
36C M o d u l e s
37C-----------------------------------------------
38 USE unitab_mod
39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C C o m m o n B l o c k s
45C-----------------------------------------------
46C-----------------------------------------------
47C D u m m y A r g u m e n t s
48C-----------------------------------------------
49C INPUT ARGUMENTS
50 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
51C-----------------------------------------------
52C L o c a l V a r i a b l e s
53C-----------------------------------------------
54 INTEGER I,UID
55 my_real fac_m,fac_l,fac_t
56C-----------------------------------------------
57 CALL write_i_c(unitab%NUNITS,1)
58 CALL write_i_c(unitab%NUNIT0,1)
59 CALL write_db(unitab%FAC_M_WORK,1)
60 CALL write_db(unitab%FAC_L_WORK,1)
61 CALL write_db(unitab%FAC_T_WORK,1)
62 CALL write_db(unitab%FAC_MASS,1)
63 CALL write_db(unitab%FAC_LENGTH,1)
64 CALL write_db(unitab%FAC_TIME,1)
65
66 DO i=1,unitab%NUNITS
67 uid = unitab%UNIT_ID(i)
68 fac_m = unitab%FAC_M(i)
69 fac_l = unitab%FAC_L(i)
70 fac_t = unitab%FAC_T(i)
71
72 CALL write_i_c(uid,1)
73 CALL write_db(fac_m,1)
74 CALL write_db(fac_l,1)
75 CALL write_db(fac_t,1)
76
77 ENDDO
78C-----------------------------------------------
79 END
80!||====================================================================
81!|| read_units ../common_source/comm/write_units.F
82!||--- called by ------------------------------------------------------
83!|| rdresb ../engine/source/output/restart/rdresb.F
84!||--- calls -----------------------------------------------------
85!|| read_db ../common_source/tools/input_output/read_db.F
86!|| read_i_c ../common_source/tools/input_output/write_routtines.c
87!||--- uses -----------------------------------------------------
88!|| message_mod ../engine/share/message_module/message_mod.F
89!|| unitab_mod ../common_source/modules/unitab_mod.F
90!||====================================================================
91 SUBROUTINE read_units(UNITAB)
92C============================================================================
93C M o d u l e s
94C-----------------------------------------------
95 USE unitab_mod
96 USE message_mod
97C-----------------------------------------------
98C I m p l i c i t T y p e s
99C-----------------------------------------------
100#include "implicit_f.inc"
101C-----------------------------------------------
102C C o m m o n B l o c k s
103C-----------------------------------------------
104#include "warn_c.inc"
105C-----------------------------------------------
106C D u m m y A r g u m e n t s
107C-----------------------------------------------
108C INPUT ARGUMENTS
109 TYPE (UNIT_TYPE_) ::UNITAB
110C-----------------------------------------------
111C L o c a l V a r i a b l e s
112C-----------------------------------------------
113 INTEGER I,UID
114 my_real fac_m,fac_l,fac_t
115 INTEGER :: NUNITS
116C-----------------------------------------------
117 CALL read_i_c(nunits,1)
118 unitab%NUNITS = nunits
119 CALL read_i_c(unitab%NUNIT0,1)
120 ALLOCATE(unitab%UNIT_ID(nunits))
121 ALLOCATE(unitab%FAC_M(nunits))
122 ALLOCATE(unitab%FAC_L(nunits))
123 ALLOCATE(unitab%FAC_T(nunits))
124 CALL read_db(unitab%FAC_M_WORK,1)
125 CALL read_db(unitab%FAC_L_WORK,1)
126 CALL read_db(unitab%FAC_T_WORK,1)
127 CALL read_db(unitab%FAC_MASS,1)
128 CALL read_db(unitab%FAC_LENGTH,1)
129 CALL read_db(unitab%FAC_TIME,1)
130
131 DO i=1,nunits
132
133 CALL read_i_c(uid,1)
134 CALL read_db(fac_m,1)
135 CALL read_db(fac_l,1)
136 CALL read_db(fac_t,1)
137
138 unitab%UNIT_ID(i) = uid
139 unitab%FAC_M(i) = fac_m
140 unitab%FAC_L(i) = fac_l
141 unitab%FAC_T(i) = fac_t
142 ENDDO
143C-----------------------------------------------
144 END
#define my_real
Definition cppsort.cpp:32
subroutine read_db(a, n)
Definition read_db.F:88
subroutine write_db(a, n)
Definition write_db.F:140
void write_i_c(int *w, int *len)
void read_i_c(int *w, int *len)
subroutine write_units(unitab)
Definition write_units.F:35
subroutine read_units(unitab)
Definition write_units.F:92