OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_table.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!|| hm_read_table1 ../starter/source/tools/curve/hm_read_table.F
25!||--- called by ------------------------------------------------------
26!|| lectur ../starter/source/starter/lectur.F
27!||--- calls -----------------------------------------------------
28!|| hm_option_count ../starter/source/devtools/hm_reader/hm_option_count.F
29!|| hm_read_table1_0 ../starter/source/tools/curve/hm_read_table1_0.F
30!|| hm_read_table1_1 ../starter/source/tools/curve/hm_read_table1_1.F
31!||--- uses -----------------------------------------------------
32!|| hm_option_read_mod ../starter/share/modules1/hm_option_read_mod.F
33!|| message_mod ../starter/share/message_module/message_mod.F
34!|| reader_old_mod ../starter/share/modules1/reader_old_mod.F90
35!|| submodel_mod ../starter/share/modules1/submodel_mod.F
36!|| table_mod ../starter/share/modules1/table_mod.F
37!||====================================================================
38 SUBROUTINE hm_read_table1(NTABLE, TABLE ,NFUNCT ,NPC ,PLD,NOM_OPT, UNITAB, LSUBMODEL)
39C-----------------------------------------------
40C M o d u l e s
41C-----------------------------------------------
42 USE table_mod
43 USE message_mod
46 USE unitab_mod
48 USE reader_old_mod , ONLY : kfunct, nslash
49C-----------------------------------------------
50C I m p l i c i t T y p e s
51C-----------------------------------------------
52#include "implicit_f.inc"
53C-----------------------------------------------
54C C o m m o n B l o c k s
55C-----------------------------------------------
56#include "scr17_c.inc"
57#include "units_c.inc"
58C-----------------------------------------------
59C D u m m y A r g u m e n t s
60C-----------------------------------------------
61 INTEGER NTABLE,NFUNCT,NPC(*)
62 my_real pld(*)
63 TYPE(ttable) TABLE(*)
64 INTEGER NOM_OPT(LNOPT1,*)
65 TYPE(submodel_data), DIMENSION(NSUBMOD), INTENT(IN) :: LSUBMODEL
66 TYPE(unit_type_), INTENT(IN) :: UNITAB
67
68C-----------------------------------------------
69C L o c a l V a r i a b l e s
70C-----------------------------------------------
71 INTEGER ITYPE, IBID, NFUNCT0, NTABLE0,NTABLE1, NFUNCT_PYTHON
72 INTEGER I, J, K, II, N, L, NDIM, NX(4), NY,
73 . JREC, NPTS, STAT, LL
74 INTEGER IERROR, NF, IDFUNC, NP
75 my_real bid, f5(5), time, funct
76 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
77 CHARACTER :: MESS*40
78 CHARACTER(LEN=NCHARFIELD)::KEY
79 DATA mess/' FUNCTION & TABLE DEFINITION '/
80 LOGICAL :: IS_ENCRYPTED, IS_AVAILABLE
81C======================================================================|
82 IF(ntable == 0) RETURN
83! Initialization
84 is_encrypted = .false.
85 is_available = .false.
86
87 CALL hm_option_count('/FUNCT', nfunct0)
88 CALL hm_option_count('/FUNCT_PYTHON', nfunct_python)
89 nfunct0=nslash(kfunct)+nfunct0
90 ! python functions are not associated with a table
91 WRITE (iout,2000) ntable-(nfunct0-nfunct_python)
92
93 l =nfunct0 ! total number /TABLE + /FUNCT
94 CALL hm_option_count('/TABLE/0', ntable0)
95 CALL hm_option_count('/TABLE/1', ntable1)
96C----------------------------
97C ORDER 1 TABLES
98C----------------------------
99C----------------------------
100C /FUNCT/TABLE/0/id, NDIM=1
101C----------------------------
102 IF (ntable0> 0) THEN
103 CALL hm_read_table1_0(ntable0,ntable, table ,nfunct ,npc ,pld,l,nom_opt, unitab, lsubmodel)
104 ENDIF
105C----------------------------
106C /FUNCT/TABLE/1/id, NDIM=1
107C----------------------------
108 IF(ntable1> 0) THEN
109 CALL hm_read_table1_1(ntable1,ntable, table ,nfunct ,npc ,pld,l,nom_opt, unitab, lsubmodel)
110 ENDIF
111C
112 RETURN
113C-----------------------------------------------------------------
1142000 FORMAT(//
115 . ' TABLES'/
116 . ' ------'/
117 . ' NUMBER OF TABLES . . . . . . . . . . =',i10/)
1182100 FORMAT(/' TABLE ID . . . . . . . . . . . . . . =',i10/
119 . ' NUMBER OF PARAMETERS . . . . . . . . =',i10/)
1202200 FORMAT(/' VALUES FOR PARAMETER NUMBER. . . . . .',i4,':'/)
1212250 FORMAT((3x,5(1x,g20.13))/)
1222300 FORMAT(/' ORDINATE VALUES . . . . . . . . . . . :'/)
1232350 FORMAT((3x,5(1x,g20.13))/)
124 END
125!||====================================================================
126!|| hm_read_table2 ../starter/source/tools/curve/hm_read_table.F
127!||--- called by ------------------------------------------------------
128!|| lectur ../starter/source/starter/lectur.F
129!||--- calls -----------------------------------------------------
130!|| hm_option_count ../starter/source/devtools/hm_reader/hm_option_count.F
131!|| hm_read_table2_0 ../starter/source/tools/curve/hm_read_table2_0.f
132!|| hm_read_table2_1 ../starter/source/tools/curve/hm_read_table2_1.F
133!|| udouble ../starter/source/system/sysfus.F
134!||--- uses -----------------------------------------------------
135!|| hm_option_read_mod ../starter/share/modules1/hm_option_read_mod.f
136!|| message_mod ../starter/share/message_module/message_mod.F
137!|| submodel_mod ../starter/share/modules1/submodel_mod.F
138!|| table_mod ../starter/share/modules1/table_mod.F
139!||====================================================================
140 SUBROUTINE hm_read_table2(NTABLE, TABLE ,NFUNCT , UNITAB, LSUBMODEL)
141C-----------------------------------------------
142C M o d u l e s
143C-----------------------------------------------
144 USE table_mod
145 USE message_mod
146 USE submodel_mod
148 USE unitab_mod
150C-----------------------------------------------
151C I m p l i c i t T y p e s
152C-----------------------------------------------
153#include "implicit_f.inc"
154C-----------------------------------------------
155C D u m m y A r g u m e n t s
156C-----------------------------------------------
157 INTEGER NTABLE,NFUNCT
158 TYPE(ttable) TABLE(*)
159 TYPE(submodel_data), DIMENSION(NSUBMOD), INTENT(IN) :: LSUBMODEL
160 TYPE(unit_type_), INTENT(IN) :: UNITAB
161C-----------------------------------------------
162C L o c a l V a r i a b l e s
163C-----------------------------------------------
164 INTEGER NTABLE1, NTABLE0,ITYPE, IBID, IDTAB(NTABLE)
165 INTEGER I, J, K, II, N, L, ID, NDIM, NX(4), NY,
166 . JREC, NPTS, STAT, IDS, LL, LX(2), NOK(4)
167 INTEGER,DIMENSION(:),ALLOCATABLE :: JPERM1,JPERM2
168 INTEGER,DIMENSION(:,:),ALLOCATABLE :: ITAG
169 INTEGER IERROR, NF, IDFUNC, NP, KK, IDEB, IFIN, IOK, NN, N1, N2, N11, N12, N13, KK1
170 my_real bid, f5(5), xx, x1, x2, x234(3), yy, y1, y2, r, xmin, xmax, time, funct,scaley
171 my_real,DIMENSION(2) :: xd2
172 my_real,DIMENSION(:),ALLOCATABLE :: xv1, xstor1, xstor2
173 my_real,DIMENSION(:,:),ALLOCATABLE :: xv2
174 CHARACTER(LEN=NCHARTITLE) :: TITR
175 CHARACTER :: MESS*40
176 CHARACTER(LEN=NCHARFIELD) :: KEY
177 DATA mess/' FUNCTION & TABLE DEFINITION '/
178 LOGICAL :: IS_ENCRYPTED, IS_AVAILABLE
179C======================================================================|
180c
181 IF(ntable == 0) RETURN
182! Initialization
183 is_encrypted = .false.
184 is_available = .false.
185 l = nfunct
186C----------------------------
187C HIGHER ORDERS TABLES
188C----------------------------
189 CALL hm_option_count('/TABLE/0', ntable0)
190 CALL hm_option_count('/TABLE/1', ntable1)
191C----------------------------
192C /FUNCT/TABLE/0/id, NDIM>1
193C----------------------------
194 IF (ntable0> 0) THEN
195 CALL hm_read_table2_0(ntable0,table,l ,nfunct , unitab, lsubmodel)
196 ENDIF
197C----------------------------
198C /FUNCT/TABLE/1/id, NDIM>1
199C----------------------------
200 IF (ntable1> 0) THEN
201 CALL hm_read_table2_1(ntable,ntable1, table, l , unitab, lsubmodel)
202 ENDIF
203C-------------------------------------
204C Recherche des ID doubles (functions & tables)
205C-------------------------------------
206 DO l=1,ntable
207 idtab(l)=table(l)%NOTABLE
208 END DO
209 ids = 79
210 i = 0
211 j = 0
212c CALL ANCNTS(IDS,I)
213 CALL udouble(idtab,1,ntable,mess,0,bid)
214c CALL ANCNTG(IDS,I,J)
215 ids = 56
216c CALL ANCHECK(IDS)
217 RETURN
218C-----------------------------------------------------------------
2192000 FORMAT(//
220 . ' TABLES'/
221 . ' ------'/
222 . ' NUMBER OF TABLES . . . . . . . . . . =',i10/)
2232100 FORMAT(/' TABLE ID . . . . . . . . . . . . . . =',i10/
224 . ' NUMBER OF PARAMETERS . . . . . . . . =',i10/)
2252200 FORMAT(/' VALUES FOR PARAMETER NUMBER. . . . . .',i4,':'/)
2262250 FORMAT((3x,5(1x,g20.13))/)
2272300 FORMAT(/' ORDINATE VALUES . . . . . . . . . . . :'/)
2282350 FORMAT((3x,5(1x,g20.13))/)
229 END
#define my_real
Definition cppsort.cpp:32
subroutine hm_option_count(entity_type, hm_option_number)
subroutine hm_read_table1_0(ntable0, ntable, table, nfunct, npc, pld, l, nom_opt, unitab, lsubmodel)
subroutine hm_read_table1_1(ntable1, ntable, table, nfunct, npc, pld, l, nom_opt, unitab, lsubmodel)
subroutine hm_read_table2_0(ntable0, table, l, nfunct, unitab, lsubmodel)
subroutine hm_read_table2_1(nfunct, ntable1, table, itab, unitab, lsubmodel)
subroutine hm_read_table2(ntable, table, nfunct, unitab, lsubmodel)
subroutine hm_read_table1(ntable, table, nfunct, npc, pld, nom_opt, unitab, lsubmodel)
integer, parameter nchartitle
integer, parameter ncharfield
integer nsubmod
subroutine udouble(list, ilist, nlist, mess, ir, rlist)
Definition sysfus.F:589
program starter
Definition starter.F:39