OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
execargcheck.F File Reference
#include "implicit_f.inc"
#include "commandline.inc"
#include "warn_c.inc"
#include "execinp.inc"
#include "userlib.inc"
#include "tablen_c.inc"
#include "ddspmd_c.inc"
#include "debug_rst.inc"
#include "r4r8_p.inc"
#include "build_info.inc"
#include "machine.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine execargcheck (output)
subroutine upcase (string)
subroutine isanargument (arglist, lenlist, arg, isin)
subroutine pexecinfo (idum)
subroutine prexecinfo (idum)
subroutine phelpinfo ()
subroutine prhelpinfo ()

Function/Subroutine Documentation

◆ execargcheck()

subroutine execargcheck ( type(output_), intent(inout) output)

Definition at line 41 of file execargcheck.F.

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.AND..NOT. DO WHILE (BEGIN > 0 CONDITION )
552 C = INPUTR(BEGIN:BEGIN)
553.OR. IF (ICHAR(C)==47 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
void my_exit(int *i)
Definition analyse.c:1038
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 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)
program starter
Definition starter.F:39

◆ isanargument()

subroutine isanargument ( character (len=12), dimension(lenlist), intent(in) arglist,
integer lenlist,
character arg,
integer isin )

Definition at line 1115 of file execargcheck.F.

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

◆ pexecinfo()

subroutine pexecinfo ( integer idum)

Definition at line 1147 of file execargcheck.F.

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)
subroutine prexecinfo(idum)

◆ phelpinfo()

subroutine phelpinfo

Definition at line 1232 of file execargcheck.F.

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)

◆ prexecinfo()

subroutine prexecinfo ( integer idum)

Definition at line 1168 of file execargcheck.F.

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 variables inutiles mais definies dans machine.inc
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
#define my_real
Definition cppsort.cpp:32

◆ prhelpinfo()

subroutine prhelpinfo

Definition at line 1253 of file execargcheck.F.

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)') ' '

◆ upcase()

subroutine upcase ( character*(*) string)

Definition at line 1084 of file execargcheck.F.

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