OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
redkey1.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!|| redkey1 ../engine/source/input/redkey1.F
25!||--- called by ------------------------------------------------------
26!|| freform ../engine/source/input/freform.F
27!||--- uses -----------------------------------------------------
28!|| names_and_titles_mod ../common_source/modules/names_and_titles_mod.F
29!||====================================================================
30 SUBROUTINE redkey1(KEY,KEY0,NKEY,CARTE,IKEY,IR)
31C-----------------------------------------------
32C M o d u l e s
33C-----------------------------------------------
35C-----------------------------------------------
36C I m p l i c i t T y p e s
37C-----------------------------------------------
38#include "implicit_f.inc"
39C-----------------------------------------------
40C C o m m o n B l o c k s
41C-----------------------------------------------
42#include "chara_c.inc"
43C-----------------------------------------------
44C D u m m y A r g u m e n t s
45C-----------------------------------------------
46 INTEGER NKEY, IKEY, IR, IOK
47 CHARACTER(LEN=NCHARLINE100) :: CARTE
48 CHARACTER KEY(*)*5, KEY0(NKEY)*5
49C-----------------------------------------------
50C L o c a l V a r i a b l e s
51C-----------------------------------------------
52 INTEGER IKEYO, J, JK, I
53 CHARACTER KEYO(9)*5
54 LOGICAL DETECTED
55C-----------------------------------------------
56 ir=0
57C
58 ikeyo=ikey
59 DO j=1,9
60 keyo(j)=key(j)
61 key(j)=' '
62 ENDDO
63 jk=0
64 DO i=1,ncharline100
65 IF(carte(i:i)=='/')THEN
66 jk=jk+1
67 j=0
68 ELSEIF(carte(i:i)/=' ')THEN
69 j=j+1
70 IF(j<=5)key(jk)(j:j)=carte(i:i)
71 ENDIF
72 ENDDO
73
74 detected=.false.
75 DO i=1,nkey
76 ikey=i
77 IF(key(1)==key0(ikey))THEN
78 detected = .true.
79 EXIT
80 ENDIF
81 ENDDO
82
83 IF(.NOT. detected)THEN
84 ir=1
85 ikey=ikeyo
86 DO j=1,9
87 key(j)=keyo(j)
88 ENDDO
89
90 ELSE ! IF(DETECTED)
91 iok = 0
92 j=0
93 IF(ikey==1.OR.ikey==58)THEN
94 IF (got_input == 0.OR.ikey==58) THEN
95 DO i=5,ncharline100
96 IF(iok==0.AND.carte(i:i)=='/')THEN
97 iok = 1
98 ELSEIF(iok==1.AND.carte(i:i)=='/')THEN
99 rootlen = j
100 RETURN
101 ELSEIF(iok==1.AND.carte(i:i)/=' ')THEN
102 j=j+1
103 IF(j<=80)rootnam(j:j)=carte(i:i)
104 ENDIF
105 ENDDO
106 ELSE
107 rootnam(1:lenrootn)=rootn(1:lenrootn)
108 rootlen = lenrootn
109 ENDIF
110 ENDIF
111 ENDIF
112
113 RETURN
114 END
integer, parameter ncharline100
subroutine redkey1(key, key0, nkey, carte, ikey, ir)
Definition redkey1.F:31