OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
execargcheck.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!|| execargcheck ../starter/source/starter/execargcheck.F
25!||--- called by ------------------------------------------------------
26!|| starter0 ../starter/source/starter/starter0.F
27!||--- calls -----------------------------------------------------
28!|| build_msg ../starter/source/output/message/build_msg.F
29!|| get_ibuiltin_arch ../starter/source/system/get_ibuiltin_arch.c
30!|| isanargument ../starter/source/starter/execargcheck.F
31!|| my_exit ../starter/source/output/analyse/analyse.c
32!|| pexecinfo ../starter/source/starter/execargcheck.F
33!|| phelpinfo ../starter/source/starter/execargcheck.F
34!|| prhelpinfo ../starter/source/starter/execargcheck.F
35!|| read_msgfile ../starter/source/output/message/read_msgfile.F
36!|| upcase ../starter/source/starter/execargcheck.F
37!||--- uses -----------------------------------------------------
38!|| grp_size_mod ../starter/share/modules1/grp_size_mod.F
39!|| random_mod ../starter/share/modules1/random_mod.F
40!||====================================================================
41 SUBROUTINE execargcheck(OUTPUT)
42 USE check_mod
44 USE random_mod
45 USE grp_size_mod
46 USE output_mod
47 USE python_funct_mod
48C-----------------------------------------------
49C I m p l i c i t T y p e s
50C-----------------------------------------------
51#include "implicit_f.inc"
52C-----------------------------------------------
53C C o m m o n B l o c k s
54C-----------------------------------------------
55#include "commandline.inc"
56#include "warn_c.inc"
57#include "execinp.inc"
58#include "userlib.inc"
59#include "tablen_c.inc"
60#include "ddspmd_c.inc"
61#include "debug_rst.inc"
62C-----------------------------------------------
63C D u m m y A r g u m e n t s
64C-----------------------------------------------
65 TYPE(output_), INTENT(INOUT) :: OUTPUT
66C-----------------------------------------------
67C L o c a l V a r i a b l e s
68C-----------------------------------------------
69 INTEGER ARGN
70 INTEGER PHELPI,PEXECI,PINPUTI,PNCPUI, PNTHI, PTIMER, PUSERLNAMI,MDS_PATHI
71 INTEGER PCHECKSUMI !< Flag for -checksum - stores Iteration in command line
72 INTEGER :: MDS_DIRI !< Flag for -mdsdir - stores Iteration in command line
73 INTEGER I,STRL,STRLN,ERR,LENLIST,ISIN,STRLNA,BEGIN
74 INTEGER IDUM
75 LOGICAL :: CONDITION
76 CHARACTER C
77 INTEGER GLOBAL_ERROR
78 CHARACTER*2096 INPUTR,INPUTC,STRING,ARGP,ARGS
79 CHARACTER*2096 CHECKSUMR,CHECKSUMC ! checksumr : read from command line / checksumc : capital_letter(checksumr)
80 CHARACTER*4096 ULIBC
81 character(len=2096) ARGS2,ARGS_REDUCE
82 INTEGER :: LEN_DOMDEC_CPU_TYPE
83 CHARACTER(LEN=15) :: DOMDEC_CPU_TYPE
84 INTEGER IARGC,IERRMSG,CDL_CASE
85 CHARACTER :: LAST_LETTER,SEPARATOR
86 INTEGER :: RANDM_SEED,RANDM_ALEA
87 REAL(kind=8) :: randm_seed_nbr,randm_alea_nbr
88 INTEGER :: GOT_GRP_SIZE
89 parameter(lenlist=33)
90 CHARACTER (LEN=20) :: ARGLIST(LENLIST)
91 EXTERNAL iargc
92 DATA arglist/
93 . '-VERSION', '-V',
94 . '-HELP' , '-H',
95 . '-INPUT' , '-I',
96 . '-NSPMD' , '-NP',
97 . '-NTHREAD' , '-NT',
98 . '-ERROR_MSG','-EM',
99 . '-NOTRAP' , '-TIMER',
100 . '-DYNAMIC_LIB', '-DYLIB',
101 . '-MDS_LIBPATH', '-MDSDIR',
102 . '-MEM-MAP' , '-INSPIRE', '-DD_TUNING',
103 . '-INSPIRE_ALM' , '-FLUSH_RST', '-CHECK',
104 . '-HSTP_READ' , '-HSTP_WRITE', '-RXALEA', '-RSEED',
105 . '-PREVIEW',
106 . '-GRP_SIZE' , '-PYTHON' , '-THNMS1','-CHECKSUM_READ'/
107 INTEGER :: RUNQA
108 CHARACTER (LEN=255) :: STR
109C-----------------------------------------------
110 idum=-1
111 itrace=1
112 ierrmsg=0
113 global_error = 0
114 python_error = 1
115 str = ' '
116
117 CALL getenv('RUN_QA',str)
118 runqa = 0
119 READ(str,'(I10)')runqa
120 IF(runqa == 1) python_error = 0
121
122 got_input = 0
123 got_ncpu = 0
124 got_nth = 0
125 got_timer = 0
126 got_userl_altname=0
127 got_mem_map=0
128 got_inspire=0
129 got_inspire_alm=0
130 got_hstp_read = 0
131 got_hstp_write = 0
132 mds_path_len = 0
133 flush_rst_to_txt = .false.
134c
135 input=' '
136 leni=0
137
138 got_path=0
139 lenp=0
140 path=' '
141
142 phelpi = 0
143 pexeci = 0
144 pinputi = 0
145 pncpui= 0
146 pnthi = 0
147 ptimer = 0
148 puserlnami = 0
149 mds_pathi = 0
150 mds_diri = 0
151 pchecksumi = 0
152! ------------------------
153! domdec optimization
154 domdec_tuning = 0
155 dd_optimization = 0
156 ! /RFILE/OFF or -check command line
157 ! --> avoid to write restart files at the end of the starter
158 ! default = write restart files
159 restart_file = 1
160! ------------------------
161! outfile / infile option
162 inout_bool = .false.
164 outfile_bool = .false.
167 infile_bool = .false.
169#if CPP_mach == CPP_w95 || CPP_mach == CPP_win64_spmd || CPP_mach == CPP_p4win64_spmd || CPP_mach == CPP_wnt || CPP_mach == CPP_wmr || CPP_mach == CPP_p4win64 || CPP_mach == CPP_p4win32
170 separator='\'
171#elif 1
172 separator='/'
173#endif
174! ------------------------
175! -rxalea or -rseed options
176 rand_struct%CMD=.false.
177 rand_struct%ALEA_NBR=0.d+00
178 rand_struct%SEED_NBR=0.d+00
179 rand_struct%ALEA=.false.
180 rand_struct%SEED=.false.
181
182 randm_seed=0
183 randm_alea=0
184! ------------------------
185! -GRP_SIZE hidden option
186 grp_size_bool=.false.
187 got_grp_size = 0
188 grp_size=128
189! ------------------------
190
191 output%TH%DUMP_THNMS1_FILE = 0
192 output%CHECKSUM%ST_CHECKSUM_READ = 0
193
194 args2(1:2096) = ''
195
196 argn = command_argument_count()!IARGC()
197
198 DO i=1,argn
199 CALL get_command_argument(i,args) !GETARG(I,ARGS)
200 strl=len_trim(args)
201 args2(1:2096) = ''
202 args2(1:strl) = args(1:strl)
203 CALL upcase(args)
204
205 args_reduce(1:9) = args(1:9)
206 cdl_case = 0
207C IF(ARGS_REDUCE(1:7)=='-CHECK=') CDL_CASE=1 ! remove -CHECK= to -CHECK
208 IF(args_reduce(1:9)=='-OUTFILE=') cdl_case = 2
209 IF(args_reduce(1:8)=='-INFILE=') cdl_case = 3
210
211 IF(cdl_case==0) THEN
212
213 SELECT CASE (args)
214C------------------------------------------------
215C -VERSION, -V
216 CASE ( '-VERSION')
217 pexeci = 1
218 CASE ( '-V')
219 pexeci = 1
220C------------------------------------------------
221C -HELP, -H
222 CASE ( '-HELP')
223 phelpi = 1
224 CASE ( '-H')
225 phelpi = 1
226C------------------------------------------------
227C -NODEBUG
228 CASE ( '-NOTRAP')
229 itrace = 0
230C------------------------------------------------
231C -ERROR_MSG, -EM
232 CASE ( '-ERROR_MSG')
233 ierrmsg = i
234 CASE ( '-EM')
235 ierrmsg = i
236C------------------------------------------------
237C -INPUT, -I
238 CASE ( '-INPUT')
239 IF (pinputi==0) pinputi = i
240 CASE ( '-I')
241 IF (pinputi==0) pinputi = i
242C------------------------------------------------
243C -NSPMD, -NP
244 CASE ( '-NSPMD')
245 IF (pncpui==0) pncpui = i
246 CASE ( '-NP')
247 IF (pncpui==0) pncpui = i
248C------------------------------------------------
249C -NTHREAD, -NT
250 CASE ( '-NTHREAD')
251 IF (pnthi==0) pnthi = i
252 CASE ( '-NT')
253 IF (pnthi==0) pnthi = i
254C------------------------------------------------
255C -TIMER
256 CASE ( '-TIMER')
257 IF (ptimer==0) ptimer = i
258C------------------------------------------------
259C -DYNAMIC_LIB, -DYLIB
260 CASE ( '-DYNAMIC_LIB')
261 IF (puserlnami==0) puserlnami=i
262 CASE ( '-DYLIB')
263 IF (puserlnami==0) puserlnami=i
264C------------------------------------------------
265C -MDS_LIBPATH
266 CASE ( '-MDS_LIBPATH')
267 IF (mds_pathi==0) mds_pathi=i
268C------------------------------------------------
269C -MDSDIR
270 CASE ( '-MDSDIR')
271 IF (mds_diri==0) mds_diri=i
272C------------------------------------------------
273C -MEM-MAP
274 CASE ( '-MEM-MAP')
275 got_mem_map=1
276C------------------------------------------------
277C -INSPIRE
278 CASE ( '-INSPIRE')
279 got_inspire=1
280C------------------------------------------------
281! -DD_TUNING
282 CASE('-DD_TUNING')
283 IF(domdec_tuning==0) domdec_tuning=i
284C------------------------------------------------
285C -INSPIRE_ALM
286 CASE ( '-INSPIRE_ALM')
287 got_inspire_alm=1
288C------------------------------------------------
289! -HSTP_READ
290 CASE ( '-HSTP_READ')
291 got_hstp_read = 1
292C------------------------------------------------
293! -HSTP_READ
294 CASE ( '-HSTP_WRITE')
295 got_hstp_write = 1
296C------------------------------------------------
297#ifdef DEBUG_RST
298 CASE ( '-FLUSH_RST')
299 flush_rst_to_txt = .true.
300#endif
301C------------------------------------------------
302! -CHECK
303 CASE('-CHECK')
304 restart_file = 0
305 CASE('-RXALEA')
306 randm_alea = i
307 CASE('-RSEED')
308 randm_seed = i
309 CASE('-PYTHON')
310 python_error = 0
311 CASE('-PREVIEW')
312C------------------------------------------------
313 CASE ( '-GRP_SIZE')
314 got_grp_size = i
315C------------------------------------------------
316 CASE ( '-THNMS1')
317 output%TH%DUMP_THNMS1_FILE = 1
318 CASE ( '-CHECKSUM_READ')
319 output%CHECKSUM%ST_CHECKSUM_READ = 1
320 IF (pchecksumi==0) pchecksumi = i
321 CASE DEFAULT
322 ! ------------------------------------------------
323 ! unknown command line argument
324 err = 0
325
326 IF (i == 1)THEN
327 err = 1
328 ELSE
329 CALL get_command_argument(i-1,argp) !GETARG(I-1,ARGP)
330 CALL upcase(argp)
331 strln=len_trim(argp)
332
333 ! Check if argument string is a variable to an argument
334 IF (argp == '-I' .OR. argp =='-INPUT' .OR.
335 * argp == '-NP' .OR. argp =='-NSPMD' .OR.
336 * argp == '-NT' .OR. argp =='-NTHREAD'.OR.
337 * argp == '-TIMER' .OR. argp =='-DYLIB'.OR.
338 * argp == '-DYNAMIC_LIB' .OR. argp == '-DD_TUNING'.OR.
339 * argp == '-RSEED' .OR. argp == '-RXALEA'.OR.
340 * argp == '-GRP_SIZE' .OR. argp == '-MDS_LIBPATH' .OR. argp == '-MDSDIR' .OR. argp == '-CHECKSUM_READ' )THEN
341 err = 0
342 ELSE
343 err = 1
344 ENDIF
345 ENDIF
346
347 IF (err == 1)THEN
348 CALL get_command_argument(i,argp) !GETARG(I,ARGP)
349 strln=len_trim(argp)
350 WRITE(6,'(A,A)') ' '
351 WRITE(6,'(A,A)') '*** ERROR : Unknown command line argument: ',argp(1:strln)
352 WRITE(6,'(A,A)') ' '
353 CALL prhelpinfo()
354 CALL my_exit(2)
355 ENDIF
356C------------------------------------------------
357 END SELECT
358
359 ELSE
360C------------------------------------------------
361 SELECT CASE (cdl_case)
362 ! -----------------------------
363 ! CHECK=... options
364 ! -----------------------------
365! ------------------------------------------------
366 CASE(1)
367 args2(:)=''
368 args2(1:len_trim(args)-7) = args(8:len_trim(args))
369 SELECT CASE ( args2(1:len_trim(args2)) )
370 ! -----------------------------
371 ! -CHECK=NORST option
372 ! -----------------------------
373 CASE ( 'NORST')
374 ! -CHECK=NORST : no restart file command
375 restart_file = 0
376 END SELECT
377 ! -----------------------------
378! ------------------------------------------------
379 ! -----------------------------
380 ! -OUTFILE=... option
381 ! -----------------------------
382 CASE(2)
383! IF(ARGS_REDUCE(1:9)=='-OUTFILE=') THEN
384 outfile_name_len = len_trim(args2) - 9
385 outfile_name(1:outfile_name_len) = args2(10:len_trim(args2))
386 outfile_bool=.true.
388 IF(last_letter/=separator) THEN
390 . outfile_name(1:outfile_name_len)//separator
392 ENDIF
393! ------------------------------------------------
394 ! -----------------------------
395 ! -INFILE=... option
396 ! -----------------------------
397 CASE(3)
398! ELSEIF(ARGS_REDUCE(1:8)=='-INFILE=') THEN
399 ! -INFILE=... option
400 infile_name_len = len_trim(args2) - 8
401 infile_name(1:infile_name_len) = args2(9:len_trim(args2))
402 infile_bool=.true.
404 IF(last_letter/=separator) THEN
406 . infile_name(1:infile_name_len)//separator
408 ENDIF
409! ENDIF
410 END SELECT
411! ------------------------------------------------
412 ENDIF
413 ENDDO
414
415 global_error = 0
416C------------------------------------------------
417C -VERSION SET
418C------------------------------------------------
419 IF (pexeci==1) THEN
420 CALL pexecinfo(idum)
421 ENDIF
422
423C------------------------------------------------
424C -HELP SET
425C------------------------------------------------
426 IF (phelpi==1) THEN
427 CALL phelpinfo()
428 ENDIF
429
430C------------------------------------------------
431C -ERROR_MSG SET
432C------------------------------------------------
433 IF (ierrmsg /= 0)THEN
434 IF (ierrmsg+1 > argn) THEN
435
436C Case -I is last argument in the list.
437
438 CALL get_command_argument(ierrmsg,argp) !GETARG(IERRMSG,ARGP)
439 strln=len_trim(argp)
440 WRITE(6,'(A)') ' '
441 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
442 * argp(1:strln)
443! MSG = ARGP
444! CALL PHELPINFO()
445
446 CALL my_exit(2)
447 ELSE
448 CALL get_command_argument(ierrmsg+1,inputr) !GETARG(IERRMSG+1,INPUTR)
449 leni=len_trim(inputr)
450
451C check if -i has got an argument or if the next string is an input command
452
453 inputc = inputr
454 CALL upcase(inputc)
455 isin = 0
456 CALL isanargument(arglist,lenlist,inputc,isin)
457 IF ( isin==1 )THEN
458 CALL get_command_argument(pinputi,argp) !GETARG(PINPUTI,ARGP)
459 strln=len_trim(argp)
460! MSG=ARGP
461 WRITE(6,'(A)') ' '
462 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
463 * argp(1:strln)
464 CALL my_exit(2)
465 ENDIF
466 CALL read_msgfile(leni,inputr)
467 CALL build_msg()
468 ENDIF
469 ENDIF
470
471 ! ------------------------------------------------
472 ! -CHECKSUM ROOTNAME
473 ! ------------------------------------------------
474 IF (pchecksumi /= 0)THEN
475
476 IF (pchecksumi + 1 > argn) THEN ! Case -CHECKSUM is last argument in the list.
477
478 CALL get_command_argument(pchecksumi,argp) ! GETARG(PINPUTI,ARGP)
479 strln=len_trim(argp)
480 WRITE(6,'(A)') ' '
481 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',argp(1:strln)
482 CALL phelpinfo()
483 global_error = 1
484
485 ELSE
486 CALL get_command_argument(pchecksumi+1,checksumr)
487 leni=len_trim(checksumr)
488 checksumc = checksumr
489 CALL upcase(checksumc)
490
491 ! check if -checksum has got an argument or if the next string is an input command
492 isin = 0
493 CALL isanargument(arglist,lenlist,checksumc,isin)
494
495 IF ( isin==1 )THEN
496 CALL get_command_argument(pinputi,argp)
497 strln=len_trim(argp)
498 WRITE(6,'(A)') ' '
499 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',argp(1:strln)
500 CALL phelpinfo()
501 global_error = 1
502
503 ELSE
504 output%CHECKSUM%ROOTNAME = ''
505 output%CHECKSUM%ROOTNAME(1:leni) = checksumr(1:leni)
506 ENDIF
507 ENDIF
508 ENDIF
509
510C------------------------------------------------
511C -INPUT SET
512C------------------------------------------------
513 IF (pinputi /= 0)THEN
514 IF (pinputi+1 > argn) THEN
515
516C Case -I is last argument in the list.
517
518 CALL get_command_argument(pinputi,argp) !GETARG(PINPUTI,ARGP)
519 strln=len_trim(argp)
520C CALL PRHELPINFO()
521 WRITE(6,'(A)') ' '
522 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
523 * argp(1:strln)
524 global_error = 1
525 GOTO 100
526
527 ELSE
528 CALL get_command_argument(pinputi+1,inputr) !GETARG(PINPUTI+1,INPUTR)
529 leni=len_trim(inputr)
530 got_input = 1
531
532C check if -i has got an argument or if the next string is an input command
533
534 inputc = inputr
535 CALL upcase(inputc)
536 isin = 0
537 CALL isanargument(arglist,lenlist,inputc,isin)
538 IF ( isin==1 )THEN
539 CALL get_command_argument(pinputi,argp) !GETARG(PINPUTI,ARGP)
540 strln=len_trim(argp)
541C CALL PRHELPINFO()
542 WRITE(6,'(A)') ' '
543 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
544 * argp(1:strln)
545 global_error = 1
546 GOTO 100
547 ENDIF
548
549 begin=len_trim(inputr)
550 condition = .false.
551 DO WHILE (begin > 0 .AND. .NOT.condition )
552 c = inputr(begin:begin)
553 IF (ichar(c)==47 .OR. ichar(c)==92) THEN
554 condition=.true.
555 GOTO 150
556 ENDIF
557 begin=begin-1
558 ENDDO
559 150 CONTINUE
560 leni = len_trim(inputr) - begin
561 begin=begin+1
562 input(1:leni) = inputr(begin:len_trim(inputr))
563
564 IF (begin > 1)THEN
565 got_path=1
566 lenp=begin-1
567 path(1:lenp)=inputr(1:lenp)
568 ENDIF
569 ENDIF
570 ELSE
571 ! PINPUTI is 0, which means -input/-i was not set
572 if (pchecksumi == 0)THEN ! -checksum option is set, does not need -i
573 WRITE(6,'(A)') ' '
574 WRITE(6,'(A)') '*** ERROR : No input deck set. Use -input [Starter input file] '
575 WRITE(6,'(A)') ' '
576 CALL phelpinfo()
577 endif
578 ENDIF
579 100 CONTINUE
580C------------------------------------------------
581C -NSPMD SET
582C------------------------------------------------
583 IF (pncpui /= 0)THEN
584
585 IF (pncpui+1 > argn) THEN
586
587C Case -np is last argument in the list.
588
589 CALL get_command_argument(pncpui,argp) !GETARG(PNCPUI,ARGP)
590 strln=len_trim(argp)
591C CALL PRHELPINFO()
592 WRITE(6,'(A)') ' '
593 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
594 * argp(1:strln)
595 global_error=1
596 GOTO 200
597
598 ELSE
599 CALL get_command_argument(pncpui+1,string) !GETARG(PNCPUI+1,STRING)
600
601C check if -np has got an argument or if the next string is an input command
602 CALL upcase(string)
603 isin = 0
604 CALL isanargument(arglist,lenlist,string,isin)
605 IF ( isin==1 )THEN
606 CALL get_command_argument(pncpui,argp) !GETARG(PNCPUI,ARGP)
607 strln=len_trim(argp)
608C CALL PRHELPINFO()
609 WRITE(6,'(A)') ' '
610 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
611 * argp(1:strln)
612 global_error=1
613 GOTO 200
614 ENDIF
615C convert the argument to an Integer
616 got_ncpu = 1
617 CALL get_command_argument(pncpui+1,string) !getarg(pncpui+1,string)
618 READ(string,'(I10)',err=999) ncpu
619C Read converting was OK goto 1000
620 GOTO 1000
621
622
623 999 CONTINUE
624C Error was found during Character to Integer translation
625 strln=len_trim(string)
626 CALL get_command_argument(pncpui,argp) !GETARG(PNCPUI,ARGP)
627 strlna=len_trim(argp)
628 WRITE(6,'(A)') ' '
629 WRITE(6,'(A,A,A,A,A)')
630 * '*** ERROR in "',argp(1:strlna),'" argument : "',
631 * string(1:strln),'" is not an integer value'
632 global_error=1
633 GOTO 200
634
635 1000 CONTINUE
636 ENDIF
637 ENDIF
638
639C------------------------------------------------
640C -NTHREAD SET
641C------------------------------------------------
642 IF (pnthi /= 0)THEN
643
644 IF (pnthi+1 > argn) THEN
645
646C Case -nt is last argument in the list.
647
648 CALL get_command_argument(pnthi,argp) !GETARG(PNTHI,ARGP)
649 strln=len_trim(argp)
650C CALL PRHELPINFO()
651 WRITE(6,'(A)') ' '
652 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
653 * argp(1:strln)
654 global_error=1
655 GOTO 200
656
657 ELSE
658 CALL get_command_argument(pnthi+1,string) !GETARG(PNTHI+1,STRING)
659
660C check if -nt has got an argument or if the next string is an input command
661 CALL upcase(string)
662 isin = 0
663 CALL isanargument(arglist,lenlist,string,isin)
664 IF ( isin==1 )THEN
665 CALL get_command_argument(pnthi,argp) !GETARG(PNTHI,ARGP)
666 strln=len_trim(argp)
667C CALL PRHELPINFO()
668 WRITE(6,'(A)') ' '
669 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
670 * argp(1:strln)
671 global_error=1
672 GOTO 200
673 ENDIF
674C convert the argument to an Integer
675 got_nth = 1
676 CALL get_command_argument(pnthi+1,string) !GETARG(PNTHI+1,STRING)
677 READ(string,'(I10)',err=1999) nth
678C Read converting was OK goto 2000
679 GOTO 2000
680
681
682 1999 CONTINUE
683C Error was found during Character to Integer translation
684 strln=len_trim(string)
685 CALL get_command_argument(pnthi,argp) !GETARG(PNTHI,ARGP)
686 strlna=len_trim(argp)
687 WRITE(6,'(A)') ' '
688 WRITE(6,'(A,A,A,A,A)')
689 * '*** ERROR in "',argp(1:strlna),'" argument : "',
690 * string(1:strln),'" is not an integer value'
691 global_error=1
692 GOTO 200
693
694 2000 CONTINUE
695 ENDIF
696 ENDIF
697C------------------------------------------------
698C -DYLIB SET
699C------------------------------------------------
700 IF (puserlnami /= 0)THEN
701 IF (puserlnami+1 > argn) THEN
702
703C Case -DYLIB is last argument in the list.
704
705 CALL get_command_argument(puserlnami,argp) !GETARG(PUSERLNAMI,ARGP)
706 strln=len_trim(argp)
707C CALL PRHELPINFO()
708 WRITE(6,'(A)') ' '
709 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',argp(1:strln)
710 global_error = 1
711
712 ELSE
713 CALL get_command_argument(puserlnami+1,userl_altname) !GETARG(PUSERLNAMI+1,USERL_ALTNAME)
714 len_userl_altname=len_trim(userl_altname)
715 got_userl_altname = 1
716C check if -dylib has got an argument or if the next string is an input command
717
718 ulibc=''
719 ulibc(1:len_userl_altname) = userl_altname(1:len_userl_altname)
720 CALL upcase(ulibc)
721 isin = 0
722 CALL isanargument(arglist,lenlist,ulibc,isin)
723 IF ( isin==1 )THEN
724 CALL get_command_argument(puserlnami,argp) !GETARG(PUSERLNAMI,ARGP)
725 strln=len_trim(argp)
726C CALL PRHELPINFO()
727 WRITE(6,'(A)') ' '
728 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
729 * argp(1:strln)
730 global_error = 1
731 GOTO 3000
732 ENDIF
733
734 ENDIF ! IF (PUSERLNAMI+1 > ARGN) THEN
735 ENDIF
736 3000 CONTINUE
737C------------------------------------------------
738C -MDS_LIBPATH
739C------------------------------------------------
740 IF (mds_pathi /= 0)THEN
741
742 IF (mds_pathi+1 > argn) THEN
743
744C Case -DYLIB is last argument in the list.
745
746 CALL get_command_argument(mds_pathi,argp)
747 strln=len_trim(argp)
748C CALL PRHELPINFO()
749 WRITE(6,'(A)') ' '
750 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',argp(1:strln)
751 global_error = 1
752
753 ELSE
754 CALL get_command_argument(mds_pathi+1,mds_path)
755 mds_path_len=len_trim(mds_path)
756C check if -mds has got an argument or if the next string is an input command
757
758 ulibc=''
759 ulibc(1:mds_path_len) = mds_path(1:mds_path_len)
760 CALL upcase(ulibc)
761 isin = 0
762 CALL isanargument(arglist,lenlist,ulibc,isin)
763 IF ( isin==1 )THEN
764 CALL get_command_argument(mds_pathi,argp) !GETARG(PUSERLNAMI,ARGP)
765 strln=len_trim(argp)
766C CALL PRHELPINFO()
767 WRITE(6,'(A)') ' '
768 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
769 * argp(1:strln)
770 global_error = 1
771 GOTO 4000
772 ENDIF
773
774 ENDIF ! IF (MDS_PATHI+1 > ARGN) THEN
775 ENDIF
776 4000 CONTINUE
777C------------------------------------------------
778C -MDSDIR
779C------------------------------------------------
780 IF (mds_diri /= 0)THEN
781
782 IF (mds_diri+1 > argn) THEN
783
784C Case -DYLIB is last argument in the list.
785
786 CALL get_command_argument(mds_diri,argp)
787 strln=len_trim(argp)
788C CALL PRHELPINFO()
789 WRITE(6,'(A)') ' '
790 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',argp(1:strln)
791 global_error = 1
792
793 ELSE
794
795 CALL get_command_argument(mds_diri+1,mds_path)
796 mds_path_len=len_trim(mds_path)
797 ! check if -mdsdir has got an argument or if the next string is an input command
798 ulibc=''
799 ulibc(1:mds_path_len) = mds_path(1:mds_path_len)
800 CALL upcase(ulibc)
801 isin = 0
802 CALL isanargument(arglist,lenlist,ulibc,isin)
803 IF ( isin==1 )THEN
804 CALL get_command_argument(mds_diri,argp) !GETARG(PUSERLNAMI,ARGP)
805 strln=len_trim(argp)
806 WRITE(6,'(A)') ' '
807 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
808 * argp(1:strln)
809 global_error = 1
810
811 ENDIF
812
813 ENDIF
814 ENDIF
815
816C------------------------------------------------
817C -TIME SET (hidden option)
818C------------------------------------------------
819 IF (ptimer>0) THEN
820 got_timer = 1
821 ENDIF
822
823
824! ------------------------------------------------
825! Domain decomposition tuning : hidden option
826! ------------------------------------------------
827! DD_OPTIMIZATION = 0 --> default case, DD optimized for Broadwell processor - AVX-2
828! DD_OPTIMIZATION = 1 --> DD optimized for Skylake processor - AVX-512
829! DD_OPTIMIZATION = 2 --> DD optimized for Sandy Bridge processor - SSE3
830! DD_OPTIMIZATION = 3 --> DD optimized for ThunderX2 processor - ARM
831 IF (domdec_tuning /= 0)THEN
832 IF (domdec_tuning+1 > argn) THEN
833
834C Case -DYLIB is last argument in the list.
835
836 CALL get_command_argument(domdec_tuning,argp) !GETARG(DOMDEC_TUNING,ARGP)
837 strln=len_trim(argp)
838C CALL PRHELPINFO()
839 WRITE(6,'(A)') ' '
840 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
841 * argp(1:strln)
842 global_error = 1
843
844 ELSE
845 CALL get_command_argument(domdec_tuning+1,domdec_cpu_type) !GETARG(DOMDEC_TUNING+1,DOMDEC_CPU_TYPE)
846 len_domdec_cpu_type=len_trim(domdec_cpu_type)
847C check if -DD_TUNING has got an argument or if the next string is an input command
848
849 ulibc(1:len_domdec_cpu_type) = domdec_cpu_type(1:len_domdec_cpu_type)
850 CALL upcase(ulibc)
851 isin = 0
852 CALL isanargument(arglist,lenlist,ulibc,isin)
853 IF ( isin==1 )THEN
854 CALL get_command_argument(domdec_tuning,argp) !GETARG(DOMDEC_TUNING,ARGP)
855 strln=len_trim(argp)
856C CALL PRHELPINFO()
857 WRITE(6,'(A)') ' '
858 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
859 * argp(1:strln)
860 global_error = 1
861 GOTO 3010
862 ENDIF
863
864 IF(domdec_cpu_type(1:len_domdec_cpu_type)=='AVX512') THEN
865 dd_optimization = 1
866 ELSEIF(domdec_cpu_type(1:len_domdec_cpu_type)=='SSE3') THEN
867 dd_optimization = 2
868 ELSEIF(domdec_cpu_type(1:len_domdec_cpu_type)=='ARMV8.0') THEN
869 dd_optimization = 3
870 ELSEIF(domdec_cpu_type(1:len_domdec_cpu_type)=='AVX2') THEN
871 dd_optimization = 0
872 ENDIF
873 ENDIF ! IF (DOMDEC_TUNING+1 > ARGN) THEN
874 ELSE
875! Default case : check the os/cpu in order to use the best choice of element costs
876 CALL get_ibuiltin_arch(dd_optimization)
877! in GET_IBUILTIN_ARCH :
878! 0 - X86-64 Linux AVX-2
879! 1 - X86-64 Linux AVX-512
880! 2 - X86-64 Linux SSE3
881! 3 - ARM64 Linux
882! 4 - X86-64 Windows AVX-2 --> default case AVX-2 ; DD_OPTIMIZATION is set to 0 in grid2mat
883 ENDIF
884! ------------------------------------------------
885! -RXALEA option
886! ------------------------------------------------
887 IF (randm_alea/=0)THEN
888 IF (randm_alea+1 > argn) THEN
889
890C Case -rxalea is last argument in the list.
891
892 CALL get_command_argument(randm_alea,argp) !GETARG(PNTHI,ARGP)
893 strln=len_trim(argp)
894
895 WRITE(6,'(A)') ' '
896 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
897 * argp(1:strln)
898 global_error=1
899 GOTO 200
900
901 ELSE
902 CALL get_command_argument(randm_alea+1,string)
903
904C check if -rxalea has got an argument or if the next string is an input command
905 CALL upcase(string)
906 isin = 0
907 CALL isanargument(arglist,lenlist,string,isin)
908 IF ( isin==1 )THEN
909 CALL get_command_argument(randm_alea,argp)
910 strln=len_trim(argp)
911
912 WRITE(6,'(A)') ' '
913 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',argp(1:strln)
914 global_error=1
915 GOTO 200
916 ENDIF
917C convert the argument to a real
918
919 CALL get_command_argument(randm_alea+1,string)
920 READ(string,'(F20.0)',err=5999) randm_alea_nbr
921 rand_struct%CMD=.true.
922 rand_struct%ALEA_NBR=randm_alea_nbr
923 rand_struct%ALEA=.true.
924C Read converting was OK goto 2000
925 GOTO 5000
926
927 5999 CONTINUE
928C Error was found during Character to real translation
929 strln=len_trim(string)
930 CALL get_command_argument(randm_alea,argp)
931 strlna=len_trim(argp)
932 WRITE(6,'(A)') ' '
933 WRITE(6,'(A,A,A,A,A)')
934 * '*** ERROR in "',argp(1:strlna),'" argument : "',
935 * string(1:strln),'" is not an real value'
936 global_error=1
937 GOTO 200
938
939 5000 CONTINUE
940 ENDIF
941 ENDIF
942! ------------------------------------------------
943! -RSEED option
944! ------------------------------------------------
945 IF (randm_seed/=0)THEN
946 IF (randm_seed+1 > argn) THEN
947
948C Case -rseed is last argument in the list.
949
950 CALL get_command_argument(randm_seed,argp)
951 strln=len_trim(argp)
952
953 WRITE(6,'(A)') ' '
954 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
955 * argp(1:strln)
956 global_error=1
957 GOTO 200
958
959 ELSE
960 CALL get_command_argument(randm_seed+1,string)
961
962C check if -rseed has got an argument or if the next string is an input command
963 CALL upcase(string)
964 isin = 0
965 CALL isanargument(arglist,lenlist,string,isin)
966 IF ( isin==1 )THEN
967 CALL get_command_argument(randm_seed,argp)
968 strln=len_trim(argp)
969
970 WRITE(6,'(A)') ' '
971 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',argp(1:strln)
972 global_error=1
973 GOTO 200
974 ENDIF
975C convert the argument to a real
976
977 CALL get_command_argument(randm_seed+1,string)
978 READ(string,'(F20.0)',err=6999) randm_seed_nbr
979 rand_struct%CMD=.true.
980 rand_struct%SEED_NBR=randm_seed_nbr
981 rand_struct%SEED=.true.
982C Read converting was OK goto 2000
983 GOTO 6000
984
985 6999 CONTINUE
986C Error was found during Character to real translation
987 strln=len_trim(string)
988 CALL get_command_argument(randm_alea,argp)
989 strlna=len_trim(argp)
990 WRITE(6,'(A)') ' '
991 WRITE(6,'(A,A,A,A,A)')
992 * '*** ERROR in "',argp(1:strlna),'" argument : "',
993 * string(1:strln),'" is not an real value'
994 global_error=1
995 GOTO 200
996
997 6000 CONTINUE
998 ENDIF
999 ENDIF
1000
1001
1002C------------------------------------------------
1003C -GRP_SIZE hidden option
1004C------------------------------------------------
1005 IF (got_grp_size /= 0)THEN
1006 IF (got_grp_size+1 > argn) THEN
1007C Case -grp_size is last argument in the list.
1008
1009 CALL get_command_argument(got_grp_size,argp)
1010 strln=len_trim(argp)
1011 WRITE(6,'(A)') ' '
1012 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
1013 * argp(1:strln)
1014 global_error=1
1015 GOTO 200
1016 ELSE
1017 CALL get_command_argument(got_grp_size+1,string)
1018
1019C check if -grp_size has got an argument or if the next string is an input command
1020 CALL upcase(string)
1021 isin = 0
1022 CALL isanargument(arglist,lenlist,string,isin)
1023 IF ( isin==1 )THEN
1024 CALL get_command_argument(got_grp_size,argp)
1025 strln=len_trim(argp)
1026C CALL PRHELPINFO()
1027 WRITE(6,'(A)') ' '
1028 WRITE(6,'(A,A)') '*** ERROR : Missing argument to ',
1029 * argp(1:strln)
1030 global_error=1
1031 GOTO 200
1032 ENDIF
1033C convert the argument to an Integer
1034 got_nth = 1
1035 CALL get_command_argument(got_grp_size+1,string)
1036 READ(string,'(I10)',err=3999) grp_size
1037 grp_size_bool = .true.
1038C Read converting was OK goto 2000
1039 GOTO 2123
1040
1041
1042 3999 CONTINUE
1043C Error was found during Character to Integer translation
1044 strln=len_trim(string)
1045 CALL get_command_argument(got_grp_size,argp)
1046 strlna=len_trim(argp)
1047 WRITE(6,'(A)') ' '
1048 WRITE(6,'(A,A,A,A,A)')
1049 * '*** ERROR in "',argp(1:strlna),'" argument : "',
1050 * string(1:strln),'" is not an integer value'
1051 global_error=1
1052 GOTO 200
1053
1054 2123 CONTINUE
1055 ENDIF
1056 ENDIF
1057
1058
1059! ------------------------------------------------
1060 3010 CONTINUE
1061
1062
1063
1064 200 CONTINUE
1065 IF (global_error ==1)THEN
1066 WRITE(6,'(A)') ' '
1067 CALL prhelpinfo()
1068 CALL my_exit(2)
1069 ENDIF
1070
1071 IF(infile_bool.or.outfile_bool) inout_bool = .true.
1072
1073
1074 RETURN
1075 END SUBROUTINE
1076
1077
1078
1079!||====================================================================
1080!|| upcase ../starter/source/starter/execargcheck.F
1081!||--- called by ------------------------------------------------------
1082!|| execargcheck ../starter/source/starter/execargcheck.F
1083!||====================================================================
1084 SUBROUTINE upcase (STRING)
1085C-----------------------------------------------
1086C I m p l i c i t T y p e s
1087C-----------------------------------------------
1088#include "implicit_f.inc"
1089C-----------------------------------------------
1090C D u m m y A r g u m e n t s
1091C-----------------------------------------------
1092 CHARACTER*(*) STRING
1093C-----------------------------------------------
1094C L o c a l V a r i a b l e s
1095C-----------------------------------------------
1096 INTEGER LS,LC
1097C
1098 ls = len(string)
1099C
1100 DO lc = 1,ls
1101 IF (lge(string(lc:lc),'a') .AND.
1102 1 lle(string(lc:lc),'z')) THEN
1103C
1104 string(lc:lc) = char(ichar(string(lc:lc)) - 32)
1105 ELSE
1106 ENDIF
1107 END DO
1108 RETURN
1109 END
1110!||====================================================================
1111!|| isanargument ../starter/source/starter/execargcheck.F
1112!||--- called by ------------------------------------------------------
1113!|| execargcheck ../starter/source/starter/execargcheck.F
1114!||====================================================================
1115 SUBROUTINE isanargument(ARGLIST,LENLIST,ARG,ISIN)
1116C-----------------------------------------------
1117C I m p l i c i t T y p e s
1118C-----------------------------------------------
1119#include "implicit_f.inc"
1120C-----------------------------------------------
1121C D u m m y A r g u m e n t s
1122C-----------------------------------------------
1123 CHARACTER (LEN=12),INTENT(IN) :: ARGLIST(LENLIST)
1124 CHARACTER ARG*2096
1125 INTEGER LENLIST,ISIN
1126C-----------------------------------------------
1127C L o c a l V a r i a b l e s
1128C-----------------------------------------------
1129 INTEGER I
1130C-----------------------------------------------
1131 isin = 0
1132 DO i=1,lenlist
1133 IF (trim(arglist(i))==trim(arg)) isin=1
1134 ENDDO
1135 END
1136
1137
1138
1139!||====================================================================
1140!|| pexecinfo ../starter/source/starter/execargcheck.F
1141!||--- called by ------------------------------------------------------
1142!|| execargcheck ../starter/source/starter/execargcheck.F
1143!||--- calls -----------------------------------------------------
1144!|| my_exit ../starter/source/output/analyse/analyse.c
1145!|| prexecinfo ../starter/source/starter/execargcheck.F
1146!||====================================================================
1147 SUBROUTINE pexecinfo(IDUM)
1148C-----------------------------------------------
1149C I m p l i c i t T y p e s
1150C-----------------------------------------------
1151#include "implicit_f.inc"
1152C-----------------------------------------------
1153C L o c a l V a r i a b l e s
1154C-----------------------------------------------
1155 INTEGER IDUM
1156C-----------------------------------------------
1157 CALL prexecinfo(idum)
1158
1159 CALL my_exit(0)
1160 END
1161
1162!||====================================================================
1163!|| prexecinfo ../starter/source/starter/execargcheck.F
1164!||--- called by ------------------------------------------------------
1165!|| pexecinfo ../starter/source/starter/execargcheck.F
1166!||--- calls -----------------------------------------------------
1167!||====================================================================
1168 SUBROUTINE prexecinfo(IDUM)
1169C-----------------------------------------------
1170C I m p l i c i t T y p e s
1171C-----------------------------------------------
1172#include "implicit_f.inc"
1173#include "r4r8_p.inc"
1174C-----------------------------------------------
1175C C o m m o n B l o c k s
1176C-----------------------------------------------
1177#include "build_info.inc"
1178C-----------------------------------------------
1179C L o c a l V a r i a b l e s
1180C-----------------------------------------------
1181 INTEGER IDUM
1182 CHARACTER*256 RFLEXNAM
1183 INTEGER LEN
1184C machine.inc include
1185 CHARACTER CPUNAM*20,ARCHTITLE*66
1186 INTEGER RDFLEXCOMP
1187
1188C unnecessary variables but defined in machine.cinc
1189 INTEGER IBUILTIN,NSPMD,IEXPM,ICRAY,IRESP,IRFORM,LENBT,READER_ID
1190 INTEGER READER_COMMIT_ID_SIZE,READER_COMMIT_ID_LEN
1191 CHARACTER(LEN=128):: READER_COMMIT_ID
1192 my_real :: bmul0
1193C-----------------------------------------------
1194#include "machine.inc"
1195C-----------------------------------------------
1196 ! Grab Build ID from hm_reader library
1197 reader_commit_id_size=128
1198 CALL hm_build_id(reader_commit_id,reader_commit_id_size,reader_commit_id_len)
1199
1200
1201 WRITE(6,'(A,A)') ' '
1202 WRITE(6,'(a,a)') 'openradioss starter '
1203 WRITE(6,'(a,a)') ' '
1204 WRITE(6,'(a,a)') 'platform release : ',CPUNAM
1205 WRITE(6,'(a,a)') 'platform info : ',ARCHTITLE
1206 IF (IR4R8==1)THEN
1207 WRITE(6,'(a,a)')
1208 * ' extended single precision version'
1209 ENDIF
1210 WRITE(6,'(a,a)') ' '
1211 WRITE(6,'(a,a)') 'time of build : ',BTIME
1212 WRITE(6,'(a,a)') 'date of build : ',BDATE
1213 WRITE(6,'(a,a)') ' '
1214 IF( BTAG(1:1) == ' ') THEN
1215 WRITE(6,'(a)') 'commitid : user build'
1216 ELSE
1217 WRITE(6,'(A)') btag(1:len_trim(btag))
1218 ENDIF
1219 WRITE(6,'(A,A)') 'Reader : ',reader_commit_id(1:reader_commit_id_len)
1220 WRITE(6,'(A,A)') ' '
1221
1222 END
1223
1224!||====================================================================
1225!|| phelpinfo ../starter/source/starter/execargcheck.F
1226!||--- called by ------------------------------------------------------
1227!|| execargcheck ../starter/source/starter/execargcheck.F
1228!||--- calls -----------------------------------------------------
1229!|| my_exit ../starter/source/output/analyse/analyse.c
1230!|| prhelpinfo ../starter/source/starter/execargcheck.F
1231!||====================================================================
1232 SUBROUTINE phelpinfo()
1233C-----------------------------------------------
1234C I m p l i c i t T y p e s
1235C-----------------------------------------------
1236#include "implicit_f.inc"
1237C-----------------------------------------------
1238C L o c a l V a r i a b l e s
1239C-----------------------------------------------
1240 CALL prhelpinfo()
1241
1242 CALL my_exit(0)
1243 END
1244
1245!||====================================================================
1246!|| prhelpinfo ../starter/source/starter/execargcheck.F
1247!||--- called by ------------------------------------------------------
1248!|| execargcheck ../starter/source/starter/execargcheck.F
1249!|| get_file_name_info ../starter/source/system/get_file_name_info.F
1250!|| phelpinfo ../starter/source/starter/execargcheck.F
1251!|| starter0 ../starter/source/starter/starter0.F
1252!||====================================================================
1253 SUBROUTINE prhelpinfo()
1254C-----------------------------------------------
1255C I m p l i c i t T y p e s
1256C-----------------------------------------------
1257#include "implicit_f.inc"
1258C-----------------------------------------------
1259C C o m m o n B l o c k s
1260C-----------------------------------------------
1261#include "build_info.inc"
1262C-----------------------------------------------
1263C L o c a l V a r i a b l e s
1264C-----------------------------------------------
1265 WRITE(6,'(A)') ' '
1266 WRITE(6,'(A,A)') 'RADIOSS Starter version ',vers(1:len_vers)
1267 WRITE(6,'(A)') ' '
1268 WRITE(6,'(A)') 'Command line arguments help: '
1269 WRITE(6,'(A,A)') ' -help / -h : ',
1270 * 'Print this message'
1271 WRITE(6,'(A,A)') ' -version / -v : ',
1272 * 'print radioss release information'
1273 WRITE(6,'(a,a)') ' -input [file] / -i [file] : ',
1274 * 'set radioss starter input file'
1275 WRITE(6,'(a,a)') ' -nspmd [integer] / -np [integer] : ',
1276 * 'set number of radioss spmd domains '
1277 WRITE(6,'(a,a)') ' -nthread [integer] / -nt [integer] : ',
1278 * 'set number of smp threads per spmd domain'
1279 WRITE(6,'(a,a)') ' -check : ',
1280 * 'check run - no restart file written'
1281 WRITE(6,'(a,a)') ' -notrap : ',
1282 * 'disable error trapping'
1283 WRITE(6,'(a,a)') ' -dynamic_lib [file] / -dylib [file] : ',
1284 * 'set name to the dynamic library for radioss user interface'
1285 WRITE(6,'(a,a)') ' -mdsdir [path] / -mds_libpath [path] : ',
1286#ifdef _WIN32
1287 * 'set directory to mds library(default is %ALTAIR_HOME%/hwsolver/multiscaledesigner/%arch%)'
1288#else
1289 * 'set directory to mds library(default is $altair_home/hwsolver/multiscaledesigner/$arch)'
1290#endif
1291 WRITE(6,'(a,a)') ' -outfile=[path] : ',
1292 * 'set output file directory for all output and created files'
1293 WRITE(6,'(a,a)') ' -hstp_write : ',
1294 * 'Write the xml file hst_input.hstp with the parameters for hyperstudy'
1295 WRITE(6,'(a,a)') ' -hstp_read : ',
1296 * 'Read the xml file hst_input.hstp with the parameters from hyperstudy'
1297 WRITE(6,'(a,a)') ' -rxalea [real value] : ',
1298 * 'activation of nodal random noise with a [value] alea'
1299 WRITE(6,'(a,a)') ' -rseed [real value] : ',
1300 * 'Optional value, set the seed value for nodal random noise'
1301 WRITE(6,'(a,a)') ' -python : ',
1302 * 'python function in model is safe and can be used'
1303 WRITE(6,'(A,A)') ' -checksum_read [rootname] : ',
1304 * 'parse output files for /checksum fingerprints and [rootname].report file'
1305
1306 WRITE(6,'(A)') ' '
1307 WRITE(6,'(A)') ' '
1308 END
1309
void my_exit(int *i)
Definition analyse.c:1038
#define my_real
Definition cppsort.cpp:32
end diagonal values have been computed in the(sparse) matrix id.SOL
void get_ibuiltin_arch(int *iarch)
#define seed()
Definition macros.h:43
for(i8=*sizetab-1;i8 >=0;i8--)
integer restart_file
Definition check_mod.F:52
logical grp_size_bool
integer grp_size
integer infile_name_len
integer, parameter infile_char_len
character(len=outfile_char_len) outfile_name
logical infile_bool
character(len=infile_char_len) infile_name
logical outfile_bool
integer, parameter outfile_char_len
integer outfile_name_len
type(random_struct) rand_struct
Definition random_mod.F:52
subroutine noise(dt2r, in, j, buf, v, a, ixs, elbuf_tab, iparg, weight, ixq)
Definition noise.F:41
program radioss
Definition radioss.F:34
subroutine report(ih3dreader, n, imvw, wfext, wfext_md, output)
Definition report.F:35
subroutine build_msg()
Definition build_msg.F:36
subroutine read_msgfile(leni, inputr)
subroutine prhelpinfo()
subroutine phelpinfo()
subroutine isanargument(arglist, lenlist, arg, isin)
subroutine pexecinfo(idum)
subroutine upcase(string)
subroutine execargcheck(output)
subroutine prexecinfo(idum)
program starter
Definition starter.F:39