OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_option_read_key.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_option_read_key ../starter/source/devtools/hm_reader/hm_option_read_key.F
25!||--- called by ------------------------------------------------------
26!|| contrbe2 ../starter/source/constraints/general/rbe2/hm_read_rbe2.F
27!|| contrbe3 ../starter/source/constraints/general/rbe3/contrbe3.F
28!|| contrl ../starter/source/starter/contrl.F
29!|| create_map_tables ../starter/source/model/sets/map_tables.F
30!|| hm_convert_2d_elements_seatbelt ../starter/source/devtools/hm_reader/hm_convert_2d_elements_seatbelt.F
31!|| hm_convert_fail_tab ../starter/source/devtools/hm_reader/hm_convert_fail_tab.F
32!|| hm_count_2d_element_seatbelt ../starter/source/devtools/hm_reader/hm_count_2d_element_seatbelt.F
33!|| hm_grogro ../starter/source/groups/hm_grogro.F
34!|| hm_grogronod ../starter/source/groups/hm_grogronod.F
35!|| hm_lecgre ../starter/source/groups/hm_lecgre.F
36!|| hm_lecgrn ../starter/source/groups/hm_lecgrn.F
37!|| hm_lines_of_lines ../starter/source/groups/hm_lines_of_lines.F
38!|| hm_pre_read_link ../starter/source/constraints/rigidlink/hm_pre_read_rlink.F
39!|| hm_pre_read_preload ../starter/source/loads/general/preload/hm_pre_read_preload.F
40!|| hm_pre_read_preload_axial ../starter/source/loads/general/preload/hm_read_preload_axial.F90
41!|| hm_prelecgrns ../starter/source/groups/hm_prelecgrns.F
42!|| hm_prelecjoi ../starter/source/constraints/general/cyl_joint/hm_prelecjoi.F
43!|| hm_preread_bcscyc ../starter/source/constraints/general/bcs/lecbcscyc.F
44!|| hm_preread_bem ../starter/source/loads/bem/hm_read_bem.F
45!|| hm_preread_cload ../starter/source/loads/general/cload/hm_preread_cload.F
46!|| hm_preread_convec ../starter/source/loads/thermic/hm_preread_convec.F
47!|| hm_preread_eig ../starter/source/general_controls/computation/hm_read_eig.F
48!|| hm_preread_grav ../starter/source/loads/general/grav/hm_preread_grav.f
49!|| hm_preread_impacc ../starter/source/constraints/general/impvel/hm_preread_impacc.F
50!|| hm_preread_impdisp ../starter/source/constraints/general/impvel/hm_preread_impdisp.F
51!|| hm_preread_impflux ../starter/source/constraints/thermic/hm_preread_impflux.F
52!|| hm_preread_imptemp ../starter/source/constraints/thermic/hm_preread_imptemp.F
53!|| hm_preread_impvel ../starter/source/constraints/general/impvel/hm_preread_impvel.F
54!|| hm_preread_impvel0 ../starter/source/constraints/general/impvel/hm_preread_impvel0.F
55!|| hm_preread_inivel ../starter/source/initial_conditions/general/inivel/hm_preread_inivel.F90
56!|| hm_preread_load_centri ../starter/source/loads/general/load_centri/hm_preread_load_centri.F
57!|| hm_preread_load_pressure ../starter/source/loads/general/load_pressure/hm_preread_load_pressure.F
58!|| hm_preread_merge ../starter/source/constraints/general/merge/hm_preread_merge.F
59!|| hm_preread_part ../starter/source/model/assembling/hm_read_part.F
60!|| hm_preread_pblast ../starter/source/loads/pblast/hm_preread_pblast.F
61!|| hm_preread_pfluid ../starter/source/loads/general/pfluid/hm_preread_pfluid.F
62!|| hm_preread_pload ../starter/source/loads/general/pload/hm_preread_pload.F
63!|| hm_preread_properties ../starter/source/properties/hm_preread_properties.F
64!|| hm_preread_radiation ../starter/source/loads/thermic/hm_preread_radiation.F
65!|| hm_preread_rbe2 ../starter/source/constraints/general/rbe2/hm_read_rbe2.F
66!|| hm_preread_rbe3 ../starter/source/constraints/general/rbe3/hm_preread_rbe3.F
67!|| hm_preread_rbody ../starter/source/constraints/general/rbody/hm_preread_rbody.F
68!|| hm_preread_skw ../starter/source/tools/skew/hm_preread_skw.F90
69!|| hm_preread_sphio ../starter/source/loads/sph/hm_preread_sphio.F
70!|| hm_read_activ ../starter/source/tools/activ/hm_read_activ.F
71!|| hm_read_admas ../starter/source/tools/admas/hm_read_admas.F
72!|| hm_read_ale_grid ../starter/source/general_controls/ale_grid/hm_read_ale_grid.F
73!|| hm_read_ale_link ../starter/source/constraints/ale/hm_read_ale_link_vel.f
74!|| hm_read_alebcs ../starter/source/constraints/ale/hm_read_alebcs.F
75!|| hm_read_analy ../starter/source/general_controls/computation/hm_read_analy.F
76!|| hm_read_bcs ../starter/source/constraints/general/bcs/hm_read_bcs.F
77!|| hm_read_bcs_nrf ../starter/source/boundary_conditions/hm_read_bcs_nrf.F90
78!|| hm_read_bcs_wall ../starter/source/boundary_conditions/hm_read_bcs_wall.f90
79!|| hm_read_bem ../starter/source/loads/bem/hm_read_bem.F
80!|| hm_read_caa ../starter/source/general_controls/computation/hm_read_caa.F
81!|| hm_read_cload ../starter/source/loads/general/cload/hm_read_cload.F
82!|| hm_read_cluster ../starter/source/output/cluster/hm_read_cluster.F
83!|| hm_read_convec ../starter/source/loads/thermic/hm_read_convec.F
84!|| hm_read_cyljoint ../starter/source/constraints/general/cyl_joint/hm_read_cyljoint.F
85!|| hm_read_damp ../starter/source/general_controls/damping/hm_read_damp.F
86!|| hm_read_definter ../starter/source/general_controls/default_values/hm_read_definter.F
87!|| hm_read_defshell ../starter/source/general_controls/default_values/hm_read_defshell.f
88!|| hm_read_defsolid ../starter/source/general_controls/default_values/hm_read_defsolid.F
89!|| hm_read_drape ../starter/source/properties/composite_options/drape/hm_read_drape.F
90!|| hm_read_eig ../starter/source/general_controls/computation/hm_read_eig.F
91!|| hm_read_eos ../starter/source/materials/eos/hm_read_eos.F
92!|| hm_read_eref ../starter/source/loads/reference_state/eref/hm_read_eref.F
93!|| hm_read_fail ../starter/source/materials/fail/hm_read_fail.F
94!|| hm_read_friction_models ../starter/source/interfaces/friction/reader/hm_read_friction_models.F
95!|| hm_read_friction_orientations ../starter/source/interfaces/friction/reader/hm_read_friction_orientations.F
96!|| hm_read_frm ../starter/source/tools/skew/hm_read_frm.F
97!|| hm_read_func2d ../starter/source/tools/curve/hm_read_func2d.F
98!|| hm_read_funct ../starter/source/tools/curve/hm_read_funct.F
99!|| hm_read_funct_python ../starter/source/tools/curve/hm_read_funct_python.F90
100!|| hm_read_fxb1 ../starter/source/constraints/fxbody/hm_read_fxb.F
101!|| hm_read_fxb2 ../starter/source/constraints/fxbody/hm_read_fxb.F
102!|| hm_read_gauge ../starter/source/output/gauge/hm_read_gauge.F
103!|| hm_read_gjoint ../starter/source/constraints/general/gjoint/hm_read_gjoint.F
104!|| hm_read_grav ../starter/source/loads/general/grav/hm_read_grav.F
105!|| hm_read_grpart ../starter/source/groups/hm_read_grpart.F
106!|| hm_read_impacc ../starter/source/constraints/general/impvel/hm_read_impacc.F
107!|| hm_read_impflux ../starter/source/constraints/thermic/hm_read_impflux.F
108!|| hm_read_implicit ../starter/source/general_controls/computation/hm_read_implicit.F
109!|| hm_read_imptemp ../starter/source/constraints/thermic/hm_read_imptemp.F
110!|| hm_read_inicrack ../starter/source/initial_conditions/inicrack/hm_read_inicrack.F
111!|| hm_read_inigrav ../starter/source/initial_conditions/inigrav/hm_read_inigrav.f
112!|| hm_read_inimap1d ../starter/source/initial_conditions/inimap/hm_read_inimap1d.F
113!|| hm_read_inimap2d ../starter/source/initial_conditions/inimap/hm_read_inimap2d.F
114!|| hm_read_inista ../starter/source/initial_conditions/inista/hm_read_inista.F
115!|| hm_read_inistate_d00 ../starter/source/elements/initia/hm_read_inistate_d00.F
116!|| hm_read_initemp ../starter/source/initial_conditions/thermic/hm_read_initemp.F
117!|| hm_read_inivel ../starter/source/initial_conditions/general/inivel/hm_read_inivel.f
118!|| hm_read_inivol ../starter/source/initial_conditions/inivol/hm_read_inivol.F90
119!|| hm_read_interfaces ../starter/source/interfaces/reader/hm_read_interfaces.F
120!|| hm_read_intsub ../starter/source/output/subinterface/hm_read_intsub.F
121!|| hm_read_ioflag ../starter/source/general_controls/inputoutput/hm_read_ioflag.F
122!|| hm_read_lagmul ../starter/source/tools/lagmul/hm_read_lagmul.F
123!|| hm_read_leak ../starter/source/airbag/hm_read_leak.F
124!|| hm_read_lines ../starter/source/groups/hm_read_lines.F
125!|| hm_read_link ../starter/source/constraints/rigidlink/hm_read_rlink.F
126!|| hm_read_load_centri ../starter/source/loads/general/load_centri/hm_read_load_centri.F
127!|| hm_read_load_pressure ../starter/source/loads/general/load_pressure/hm_read_load_pressure.F
128!|| hm_read_mat ../starter/source/materials/mat/hm_read_mat.f90
129!|| hm_read_merge ../starter/source/constraints/general/merge/hm_read_merge.f
130!|| hm_read_merge_node ../starter/source/elements/reader/hm_read_merge_node.F
131!|| hm_read_move_funct ../starter/source/tools/curve/hm_read_move_funct.F
132!|| hm_read_mpc ../starter/source/constraints/general/mpc/hm_read_mpc.F
133!|| hm_read_mpc0 ../starter/source/constraints/general/mpc/hm_read_mpc.F
134!|| hm_read_nbcs ../starter/source/constraints/general/bcs/hm_read_nbcs.F
135!|| hm_read_node ../starter/source/elements/reader/hm_read_node.F
136!|| hm_read_nonlocal ../starter/source/materials/nonlocal/hm_read_nonlocal.F
137!|| hm_read_part ../starter/source/model/assembling/hm_read_part.F
138!|| hm_read_pblast ../starter/source/loads/pblast/hm_read_pblast.F
139!|| hm_read_pcyl ../starter/source/loads/general/load_pcyl/hm_read_pcyl.F
140!|| hm_read_perturb_fail ../starter/source/general_controls/computation/hm_read_perturb_fail.f
141!|| hm_read_perturb_part_shell ../starter/source/general_controls/computation/hm_read_perturb_part_shell.F
142!|| hm_read_perturb_part_solid ../starter/source/general_controls/computation/hm_read_perturb_part_solid.F
143!|| hm_read_pfluid ../starter/source/loads/general/pfluid/hm_read_pfluid.F
144!|| hm_read_pload ../starter/source/loads/general/pload/hm_read_pload.F
145!|| hm_read_prelecdrape ../starter/source/properties/composite_options/drape/hm_read_drape.F
146!|| hm_read_preload ../starter/source/loads/general/preload/hm_read_preload.F
147!|| hm_read_preload_axial ../starter/source/loads/general/preload/hm_read_preload_axial.F90
148!|| hm_read_prethgrou ../starter/source/output/th/hm_read_prethgrou.F
149!|| hm_read_properties ../starter/source/properties/hm_read_properties.F
150!|| hm_read_radiation ../starter/source/loads/thermic/hm_read_radiation.f
151!|| hm_read_rand ../starter/source/general_controls/computation/hm_read_rand.F
152!|| hm_read_rbe2 ../starter/source/constraints/general/rbe2/hm_read_rbe2.F
153!|| hm_read_rbe3 ../starter/source/constraints/general/rbe3/hm_read_rbe3.F
154!|| hm_read_rbody ../starter/source/constraints/general/rbody/hm_read_rbody.F
155!|| hm_read_rbody_lagmul ../starter/source/constraints/general/rbody/hm_read_rbody_lagmul.F
156!|| hm_read_refsta ../starter/source/loads/reference_state/refsta/hm_read_refsta.F
157!|| hm_read_retractor ../starter/source/tools/seatbelts/hm_read_retractor.F
158!|| hm_read_rwall_cyl ../starter/source/constraints/general/rwall/hm_read_rwall_cyl.F
159!|| hm_read_rwall_lagmul ../starter/source/constraints/general/rwall/hm_read_rwall_lagmul.F
160!|| hm_read_rwall_paral ../starter/source/constraints/general/rwall/hm_read_rwall_paral.F
161!|| hm_read_rwall_plane ../starter/source/constraints/general/rwall/hm_read_rwall_plane.F
162!|| hm_read_rwall_spher ../starter/source/constraints/general/rwall/hm_read_rwall_spher.F
163!|| hm_read_rwall_therm ../starter/source/constraints/general/rwall/hm_read_rwall_therm.F
164!|| hm_read_sensors ../starter/source/tools/sensor/hm_read_sensors.F
165!|| hm_read_skw ../starter/source/tools/skew/hm_read_skw.F
166!|| hm_read_slipring ../starter/source/tools/seatbelts/hm_read_slipring.F
167!|| hm_read_sms ../starter/source/general_controls/computation/hm_read_sms.F
168!|| hm_read_spcnd ../starter/source/constraints/sph/hm_read_spcnd.F
169!|| hm_read_sphcel ../starter/source/elements/reader/hm_read_sphcel.F
170!|| hm_read_sphglo ../starter/source/general_controls/computation/hm_read_sphglo.F
171!|| hm_read_sphio ../starter/source/loads/sph/hm_read_sphio.F
172!|| hm_read_spmd ../starter/source/general_controls/computation/hm_read_spmd.F
173!|| hm_read_submodel ../starter/source/model/assembling/hm_read_submodel.F
174!|| hm_read_subset ../starter/source/model/assembling/hm_read_subset.F
175!|| hm_read_surf ../starter/source/groups/hm_read_surf.F
176!|| hm_read_surfsurf ../starter/source/groups/hm_read_surfsurf.F
177!|| hm_read_table1_0 ../starter/source/tools/curve/hm_read_table1_0.F
178!|| hm_read_table1_1 ../starter/source/tools/curve/hm_read_table1_1.F
179!|| hm_read_table2_0 ../starter/source/tools/curve/hm_read_table2_0.F
180!|| hm_read_table2_1 ../starter/source/tools/curve/hm_read_table2_1.F
181!|| hm_read_therm ../starter/source/materials/therm/hm_read_therm.F
182!|| hm_read_therm_stress ../starter/source/materials/therm/hm_read_therm_stress.F90
183!|| hm_read_thgrou ../starter/source/output/th/hm_read_thgrou.F
184!|| hm_read_thgrpa ../starter/source/output/th/hm_read_thgrpa.F
185!|| hm_read_thgrpa_sub ../starter/source/output/th/hm_read_thgrpa.F
186!|| hm_read_thpart ../starter/source/output/thpart/hm_read_thpart.F
187!|| hm_read_unit ../starter/source/general_controls/computation/hm_read_unit.F
188!|| hm_read_visc ../starter/source/materials/visc/hm_read_visc.F
189!|| hm_read_window_user ../starter/source/tools/userwi/hm_read_window_user.F
190!|| hm_read_xref ../starter/source/loads/reference_state/xref/hm_read_xref.F
191!|| hm_set ../starter/source/model/sets/hm_set.F
192!|| hm_setfxrbyon ../starter/source/constraints/fxbody/hm_setfxrbyon.F
193!|| hm_sz_r2r ../starter/source/coupling/rad2rad/routines_r2r.F
194!|| hm_yctrl ../starter/source/elements/initia/hm_yctrl.F
195!|| lecacc ../starter/source/tools/accele/lecacc.F
196!|| lecextlnk ../starter/source/coupling/rad2rad/lecextlnk.F
197!|| lecfill ../starter/source/elements/initia/lecfill.F
198!|| leclas ../starter/source/loads/laser/leclas.F
199!|| lecsec0 ../starter/source/tools/sect/hm_read_sect.F
200!|| lecsec42 ../starter/source/tools/sect/hm_read_sect.F
201!|| lecsec4bolt ../starter/source/tools/sect/lecsec4bolt.F
202!|| lecstack_ply ../starter/source/properties/composite_options/stack/lecstack_ply.F
203!|| lecstamp ../starter/source/interfaces/interf1/lecstamp.F
204!|| lecsubmod ../starter/source/model/submodel/lecsubmod.F
205!|| lectrans ../starter/source/model/transformation/lectrans.F
206!|| lectranssub ../starter/source/model/submodel/lectranssub.F
207!|| nbadmesh ../starter/source/model/remesh/nbadmesh.F
208!|| nbfunct ../starter/source/tools/curve/nbfunc.F
209!|| nbsph ../starter/source/elements/sph/nbsph.F
210!|| prelecdet ../starter/source/initial_conditions/detonation/prelecdet.F
211!|| preleclas ../starter/source/loads/laser/lpreleclas.F
212!|| prelecsec ../starter/source/tools/sect/prelecsec.F
213!|| prelecsec4bolt ../starter/source/tools/sect/prelecsec4bolt.F
214!|| preread_rbody_lagmul ../starter/source/constraints/general/rbody/preread_rbody_lagmul.F
215!|| preread_rbody_set ../starter/source/model/sets/preread_rbody_set.F
216!|| r2r_monvol ../starter/source/coupling/rad2rad/r2r_prelec.F
217!|| r2r_prelec ../starter/source/coupling/rad2rad/r2r_prelec.F
218!|| r2r_prelec_name ../starter/source/coupling/rad2rad/r2r_prelec_name.F
219!|| read_ale_mat ../starter/source/materials/ale/read_ale_mat.F
220!|| read_box_box ../starter/source/model/box/read_box_box.F
221!|| read_box_cyl ../starter/source/model/box/read_box_cyl.F
222!|| read_box_rect ../starter/source/model/box/read_box_rect.F
223!|| read_box_spher ../starter/source/model/box/read_box_spher.F
224!|| read_detonators ../starter/source/initial_conditions/detonation/read_detonators.F
225!|| read_dfs_detcord ../starter/source/initial_conditions/detonation/read_dfs_detcord.F
226!|| read_dfs_detline ../starter/source/initial_conditions/detonation/read_dfs_detline.F
227!|| read_dfs_detplan ../starter/source/initial_conditions/detonation/read_dfs_detplan.F
228!|| read_dfs_detpoint ../starter/source/initial_conditions/detonation/read_dfs_detpoint.F
229!|| read_dfs_wave_shaper ../starter/source/initial_conditions/detonation/read_dfs_wave_shaper.F
230!|| read_ebcs ../starter/source/boundary_conditions/ebcs/read_ebcs.F
231!|| read_euler_mat ../starter/source/materials/ale/read_euler_mat.F
232!|| read_impdisp ../starter/source/constraints/general/impvel/read_impdisp.F
233!|| read_impdisp_fgeo ../starter/source/constraints/general/impvel/read_impdisp_fgeo.F
234!|| read_impvel ../starter/source/constraints/general/impvel/read_impvel.F
235!|| read_impvel_fgeo ../starter/source/constraints/general/impvel/read_impvel_fgeo.F
236!|| read_impvel_lagmul ../starter/source/constraints/general/impvel/read_impvel_lagmul.F
237!|| read_monvol ../starter/source/airbag/read_monvol.F
238!|| set_admesh ../starter/source/model/remesh/set_admesh.F
239!|| setrb2on ../starter/source/constraints/general/rbe2/hm_read_rbe2.F
240!|| setrbyon ../starter/source/constraints/general/rbody/hm_read_rbody.F
241!|| sort_set ../starter/source/model/sets/sort_sets.F
242!|| st_qaprint_set ../starter/source/output/qaprint/st_qaprint_set.F
243!|| state_admesh ../starter/source/model/remesh/state_admesh.F
244!||--- calls -----------------------------------------------------
245!||--- uses -----------------------------------------------------
246!|| message_mod ../starter/share/message_module/message_mod.F
247!|| submodel_mod ../starter/share/modules1/submodel_mod.F
248!||====================================================================
249 SUBROUTINE hm_option_read_key(LSUBMODEL,OPTION_ID,UNIT_ID,SUBMODEL_INDEX,SUBMODEL_ID,OPTION_TITR,
250 . KEYWORD1,KEYWORD2,KEYWORD3,KEYWORD4,OPT_POS)
251C-----------------------------------------------
252C ROUTINE DESCRIPTION :
253C ===================
254C GENERIC ROUTINE USING OPTIONAL FIELDS
255C REQUEST DATA INTO MODEL NEUTRAL OBJECT DATABASE USING HM_READER
256C IN CARD :
257C /KEYWORD1/KEYWORD2/KEYWORD3/KEYWORD4/OPTION_ID/UNIT_ID
258C OPTION_TITR
259C-----------------------------------------------
260C DUMMY ARGUMENTS DESCRIPTION:
261C ===================
262C
263C NAME DESCRIPTION
264C
265C LSUBMODEL SUBMODEL STRUCTURE
266C OPTION_ID OPTIONAL : ID OF THE OPTION
267C UNIT_ID OPTIONAL : UNIT ID OF THE OPTION
268C SUBMODEL_INDEX OPTIONAL : SUBMODEL INDEX OF THE OPTION
269C SUBMODEL_ID OPTIONAL : SUBMODEL ID OF THE OPTION
270C OPTION_TITR OPTIONAL : TITLE OF THE OPTION
271C KEYWORD1 OPTIONAL : KEYWORD1 OF THE OPTION
272C KEYWORD2 OPTIONAL : KEYWORD2 OF THE OPTION
273C KEYWORD3 OPTIONAL : KEYWORD3 OF THE OPTION
274C KEYWORD4 OPTIONAL : KEYWORD4 OF THE OPTION
275C============================================================================
276C M o d u l e s
277C-----------------------------------------------
278 USE message_mod
281C-----------------------------------------------
282C I m p l i c i t T y p e s
283C-----------------------------------------------
284#include "implicit_f.inc"
285C-----------------------------------------------
286C D u m m y A r g u m e n t s
287C-----------------------------------------------
288 INTEGER :: OPTION_ID,UNIT_ID,SUBMODEL_INDEX,SUBMODEL_ID,OPT_POS
289 CHARACTER*(*) :: KEYWORD1,KEYWORD2,KEYWORD3,KEYWORD4
290 CHARACTER*(*) :: OPTION_TITR
291 TYPE(submodel_data) :: LSUBMODEL(NSUBMOD)
292 OPTIONAL :: option_id,unit_id,submodel_index,submodel_id,keyword1,keyword2,keyword3,keyword4,option_titr,opt_pos
293C-----------------------------------------------
294C L o c a l V a r i a b l e s
295C-----------------------------------------------
296 INTEGER OFFSET_CATEGORY,CPT,CPT1,CPT2,IOK,S_KEYWORD,S_TITR_TMP,TMP_OPTION_ID,TMP_UNIT_ID,TMP_SUBMODEL_INDEX,MY_POSITION
297 CHARACTER(LEN=NCHARLINE) :: KEYWORD,TITR_TMP
298 LOGICAL SET_COLLECT_OFFSET
299C-----------------------------------------------
300C E x t e r n a l F u n c t i o n s
301C-----------------------------------------------
302 offset_category = 0
303 keyword=''
304 tmp_option_id = 0
305 tmp_unit_id = 0
306 tmp_submodel_index = 0
307 my_position = 0
308 IF(PRESENT(option_titr)) option_titr=''
309 IF(PRESENT(keyword1)) keyword1=''
310 IF(PRESENT(keyword2)) keyword2=''
311 IF(PRESENT(keyword3)) keyword3=''
312 IF(PRESENT(keyword4)) keyword4=''
313 IF(PRESENT(opt_pos)) my_position=opt_pos
314C--------------------------------------------------
315 CALL cpp_option_read(tmp_option_id,tmp_unit_id,tmp_submodel_index,keyword,s_keyword,
316 . titr_tmp,s_titr_tmp,offset_category,my_position)
317C--------------------------------------------------
318 IF(PRESENT(option_id)) option_id = tmp_option_id
319 IF(PRESENT(unit_id)) unit_id = tmp_unit_id
320 IF(PRESENT(submodel_index)) submodel_index = tmp_submodel_index
321 IF(PRESENT(submodel_id)) THEN
322 IF(tmp_submodel_index /= 0) THEN
323 submodel_id = lsubmodel(tmp_submodel_index)%NOSUBMOD
324 ELSE
325 submodel_id = 0
326 ENDIF
327 ENDIF
328 IF(PRESENT(option_titr)) option_titr(1:s_titr_tmp) = titr_tmp(1:s_titr_tmp)
329C--------------------------------------------------
330 cpt = 2
331 cpt1 = 2
332 cpt2 = 2
333 iok = 0
334
335 DO WHILE (cpt < ncharline .AND. iok == 0)
336 IF(keyword(cpt:cpt) == '/' .OR. keyword(cpt:cpt) == ' ') THEN
337 cpt2 = cpt
338 iok = 1
339 ENDIF
340 cpt = cpt + 1
341 ENDDO
342 IF(PRESENT(keyword1)) keyword1(1:cpt2-cpt1) = keyword(cpt1:min((cpt2-1),s_keyword))
343 cpt1 = cpt2+1
344 iok = 0
345 DO WHILE (cpt < ncharline .AND. iok == 0)
346 IF(keyword(cpt:cpt) == '/' .OR. keyword(cpt:cpt) == ' ') THEN
347 cpt2 = cpt
348 iok = 1
349 ENDIF
350 cpt = cpt + 1
351 ENDDO
352 IF(PRESENT(keyword2)) keyword2(1:cpt2-cpt1) = keyword(cpt1:min((cpt2-1),s_keyword))
353 cpt1 = cpt2+1
354 iok = 0
355 DO WHILE (cpt < ncharline .AND. iok == 0)
356 IF(keyword(cpt:cpt) == '/' .OR. keyword(cpt:cpt) == ' ') THEN
357 cpt2 = cpt
358 iok = 1
359 ENDIF
360 cpt = cpt + 1
361 ENDDO
362 IF(PRESENT(keyword3)) keyword3(1:cpt2-cpt1) = keyword(cpt1:min((cpt2-1),s_keyword))
363 cpt1 = cpt2+1
364 iok = 0
365 DO WHILE (cpt < ncharline .AND. iok == 0)
366 IF(keyword(cpt:cpt) == '/' .OR. keyword(cpt:cpt) == ' ') THEN
367 cpt2 = cpt
368 iok = 1
369 ENDIF
370 cpt = cpt + 1
371 ENDDO
372 IF(PRESENT(keyword4)) keyword4(1:cpt2-cpt1) = keyword(cpt1:min((cpt2-1),s_keyword))
373
374C--------------------------------------------------
375C ID OFFSETS EXCEPTION //SUBMODEL
376C--------------------------------------------------
377 set_collect_offset = .true.
378 IF(keyword(1:12) == '/SET/COLLECT') set_collect_offset = .false.
379C
380 IF(PRESENT(unit_id)) THEN
381 IF(tmp_submodel_index /= 0 )THEN
382 IF(lsubmodel(tmp_submodel_index)%UID /= 0)THEN
383 unit_id = lsubmodel(tmp_submodel_index)%UID
384 ENDIF
385 ENDIF
386 ENDIF
387C--------------------------------------------------
388 RETURN
389C
390 END
391
subroutine hm_option_read_key(lsubmodel, option_id, unit_id, submodel_index, submodel_id, option_titr, keyword1, keyword2, keyword3, keyword4, opt_pos)
subroutine hm_preread_grav(num, igrnod, lsubmodel)
subroutine hm_read_defshell(lsubmodel, defaults_shell)
subroutine hm_read_inigrav(igrv, ibuf, agrv, itab, itabm1, igrpart, npc, unitab, iskn, itagnd, igrsurf, pld, bufsf, lsubmodel)
subroutine hm_read_inivel(v, w, itab, itabm1, vr, igrnod, igrbric, iskn, skew, inivids, x, unitab, lsubmodel, rtrans, xframe, iframe, vflow, wflow, kxsp, multi_fvm, fvm_inivel, igrquad, igrsh3n, rby_msn, rby_iniaxis, sensors, ninivelt, inivel_t)
subroutine hm_read_merge(mgrby, smgrby, npby, lpby, slrbody, rby, nom_opt, ptr_nopt_rbmerge, igrnod, itab, itabm1, ibgr, igrv, lsubmodel)
subroutine hm_read_perturb_fail(mat_param, ipart, rnoise, ipartc, ipartg, ipartsp, igrpart, iparts, perturb, idperturb, index, index_ityp, npart_shell, offs, qp_iperturb, qp_rperturb, lsubmodel, unitab)
subroutine hm_read_radiation(ib, fac, itab, ixs, igrsurf, unitab, lsubmodel, nradia, numradia, niradia, lfacther)
subroutine inivel(v, vr, svr, itabm1)
Definition inivel.F:35
#define min(a, b)
Definition macros.h:20
subroutine merge(x, itab, itabm1, cmerge, imerge, imerge2, iadmerge2, nmerge_tot)
Definition merge.F:36
integer, parameter ncharline
integer nsubmod
program starter
Definition starter.F:39