OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
get_file_name_info.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!|| get_file_name_info ../starter/source/system/get_file_name_info.F
25!||--- called by ------------------------------------------------------
26!|| starter0 ../starter/source/starter/starter0.F
27!||--- calls -----------------------------------------------------
28!|| my_exit ../starter/source/output/analyse/analyse.c
29!|| prhelpinfo ../starter/source/starter/execargcheck.F
30!||====================================================================
31 SUBROUTINE get_file_name_info(INPUT,LENI,
32 * ROOTNAME,LENR,
33 * RUNN,FVERS,IS_DYNA)
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C D u m m y A r g u m e n t s
40C-----------------------------------------------
41 CHARACTER INPUT*256
42 CHARACTER ROOTNAME*80
43 INTEGER LENI,LENR,RUNN,FVERS,IS_DYNA
44C-----------------------------------------------
45C L o c a l V a r i a b l e s
46C-----------------------------------------------
47 INTEGER ERR,FST,LST,V4RNUM,rd
48 CHARACTER ARUN*4,EXT*4,EXT3*3,V4LETTER,V5LETTER
49C-----------------------------------------------
50 IF (leni < 4) GOTO 1000
51
52 WRITE(ext,'(A)') input(leni-3:leni)
53 IF ( lle(ext,'.rad') .AND. lge(ext,'.rad')) THEN
54 IF (leni < 10 ) GOTO 1000
55C Run number
56 READ(input(leni-7:leni-4),fmt='(I4)',err=1000) runn
57C Rootname
58 WRITE(rootname,fmt='(A)',err=1000) input(1:leni-9)
59 lenr=len_trim(rootname)
60C Dataset letter
61 WRITE(v5letter,'(a)') INPUT(LENI-8:LENI-8)
62 IF ( V5LETTER=='_') THEN
63 FVERS = 5
64 ELSE
65 GOTO 1000
66 ENDIF
67 ELSEIF ( INPUT(LENI-1:LENI) == '.k' ) THEN
68C Rootname
69 WRITE(ROOTNAME,FMT='(a)',ERR=1000) INPUT(1:LENI-2)
70 LENR=LEN_TRIM(ROOTNAME)
71 IS_DYNA = 1
72 RUNN = 0
73 ELSEIF ( INPUT(LENI-3:LENI) == '.key.OR.'
74 . INPUT(LENI-3:LENI) == '.dyn.OR.'
75 . INPUT(LENI-3:LENI) == '.dyn' ) THEN
76C Rootname
77 WRITE(ROOTNAME,FMT='(a)',ERR=1000) INPUT(1:LENI-4)
78 LENR=LEN_TRIM(ROOTNAME)
79 IS_DYNA = 1
80 RUNN = 0
81 ELSE
82C Run number
83 READ(INPUT(LENI-1:LENI),FMT='(i2)',ERR=1000) RUNN
84C Rootname
85 WRITE(ROOTNAME,FMT='(a)',ERR=1000) INPUT(1:LENI-3)
86 LENR=LEN_TRIM(ROOTNAME)
87C Dataset letter
88 WRITE(V4LETTER,'(a)') INPUT(LENI-2:LENI-2)
89 IF ( V4LETTER=='d') THEN
90 FVERS=4
91 ELSE
92 GOTO 1000
93 ENDIF
94
95 ENDIF
96
97
98 RETURN
99
100 1000 CONTINUE
101 WRITE(6,'(a)') ' '
102 WRITE(6,'(a,a)') '*** error : wrong radioss input file name: ',
103 * INPUT(1:LENI)
104 WRITE(6,'(a)') ' '
105 CALL PRHELPINFO()
106 CALL MY_EXIT(2)
107 END
program radioss
Definition radioss.F:34
subroutine get_file_name_info(input, leni, rootname, lenr, runn, fvers, is_dyna)