51#include "implicit_f.inc"
55#include "commandline.inc"
59#include "tablen_c.inc"
60#include "ddspmd_c.inc"
61#include "debug_rst.inc"
65 TYPE(output_),
INTENT(INOUT) :: OUTPUT
70 INTEGER PHELPI,PEXECI,PINPUTI,PNCPUI, PNTHI, PTIMER, PUSERLNAMI,MDS_PATHI
73 INTEGER I,STRL,STRLN,ERR,LENLIST,ISIN,STRLNA,BEGIN
78 CHARACTER*2096 INPUTR,INPUTC,STRING,ARGP,ARGS
79 CHARACTER*2096 CHECKSUMR,CHECKSUMC
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
90 CHARACTER (LEN=20) :: ARGLIST(LENLIST)
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
',
106 . '-
grp_size' , '-python
' , '-thnms1
','-checksum_read
'/
108 CHARACTER (LEN=255) :: STR
117 CALL GETENV('run_qa
',STR)
119 READ(STR,'(i10)
')RUNQA
120 IF(RUNQA == 1) PYTHON_ERROR = 0
133 FLUSH_RST_TO_TXT = .FALSE.
152! ------------------------
156 ! /RFILE/OFF or -check command line
157 ! --> avoid to write restart files at the end of the starter
158 ! default = write restart files
160! ------------------------
161! outfile / infile option
164 OUTFILE_BOOL = .FALSE.
165 OUTFILE_NAME(1:OUTFILE_CHAR_LEN) =''
167 INFILE_BOOL = .FALSE.
168 INFILE_NAME(1:INFILE_CHAR_LEN) =''
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
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.
184! ------------------------
185! -GRP_SIZE hidden option
186 GRP_SIZE_BOOL=.FALSE.
189! ------------------------
191 OUTPUT%TH%DUMP_THNMS1_FILE = 0
192 OUTPUT%CHECKSUM%ST_CHECKSUM_READ = 0
196 ARGN = COMMAND_ARGUMENT_COUNT()!IARGC()
199 CALL GET_COMMAND_ARGUMENT(I,ARGS) !GETARG(I,ARGS)
202 ARGS2(1:strl) = ARGS(1:strl)
205 ARGS_REDUCE(1:9) = ARGS(1:9)
208 IF(ARGS_REDUCE(1:9)=='-outfile=
') CDL_CASE = 2
209 IF(ARGS_REDUCE(1:8)=='-infile=
') CDL_CASE = 3
239 IF (PINPUTI==0) PINPUTI = I
241 IF (PINPUTI==0) PINPUTI = I
245 IF (PNCPUI==0) PNCPUI = I
247 IF (PNCPUI==0) PNCPUI = I
251 IF (PNTHI==0) PNTHI = I
253 IF (PNTHI==0) PNTHI = I
257 IF (PTIMER==0) PTIMER = I
260 CASE ( '-dynamic_lib
')
261 IF (PUSERLNAMI==0) PUSERLNAMI=I
263 IF (PUSERLNAMI==0) PUSERLNAMI=I
266 CASE ( '-mds_libpath
')
267 IF (MDS_PATHI==0) MDS_PATHI=I
271 IF (mds_diri==0) mds_diri=i
283 IF(domdec_tuning==0) domdec_tuning=i
286 CASE (
'-INSPIRE_ALM')
294 CASE (
'-HSTP_WRITE')
299 flush_rst_to_txt = .true.
317 output%TH%DUMP_THNMS1_FILE = 1
318 CASE ( '-checksum_read
')
319 OUTPUT%CHECKSUM%ST_CHECKSUM_READ = 1
320 IF (PCHECKSUMI==0) PCHECKSUMI = I
322 ! ------------------------------------------------
323 ! unknown command line argument
329 CALL GET_COMMAND_ARGUMENT(I-1,ARGP) !GETARG(I-1,ARGP)
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
348 CALL GET_COMMAND_ARGUMENT(I,ARGP) !GETARG(I,ARGP)
351 WRITE(6,'(a,a)
') '*** error : unknown command line argument:
',ARGP(1:STRLN)
361 SELECT CASE (CDL_CASE)
362 ! -----------------------------
364 ! -----------------------------
365! ------------------------------------------------
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 ! -----------------------------
374 ! -CHECK=NORST : no restart file command
377 ! -----------------------------
378! ------------------------------------------------
379 ! -----------------------------
380 ! -OUTFILE=... option
381 ! -----------------------------
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))
387 LAST_LETTER = OUTFILE_NAME(OUTFILE_NAME_LEN:OUTFILE_NAME_LEN)
388 IF(LAST_LETTER/=SEPARATOR) THEN
389 OUTFILE_NAME(1:OUTFILE_NAME_LEN+1) =
390 . OUTFILE_NAME(1:OUTFILE_NAME_LEN)//SEPARATOR
391 OUTFILE_NAME_LEN = OUTFILE_NAME_LEN + 1
393! ------------------------------------------------
394 ! -----------------------------
396 ! -----------------------------
398! ELSEIF(ARGS_REDUCE(1:8)=='-infile=
') THEN
400 INFILE_NAME_LEN = LEN_TRIM(ARGS2) - 8
401 INFILE_NAME(1:INFILE_NAME_LEN) = ARGS2(9:LEN_TRIM(ARGS2))
403 LAST_LETTER = INFILE_NAME(OUTFILE_NAME_LEN:OUTFILE_NAME_LEN)
404 IF(LAST_LETTER/=SEPARATOR) THEN
405 INFILE_NAME(1:INFILE_NAME_LEN+1) =
406 . INFILE_NAME(1:INFILE_NAME_LEN)//SEPARATOR
407 INFILE_NAME_LEN = INFILE_NAME_LEN + 1
411! ------------------------------------------------
433 IF (IERRMSG /= 0)THEN
434 IF (IERRMSG+1 > ARGN) THEN
438 CALL GET_COMMAND_ARGUMENT(IERRMSG,ARGP) !GETARG(IERRMSG,ARGP)
441 WRITE(6,'(a,a)
') '*** error : missing argument to
',
448 CALL GET_COMMAND_ARGUMENT(IERRMSG+1,INPUTR) !GETARG(IERRMSG+1,INPUTR)
449 LENI=LEN_TRIM(INPUTR)
456 CALL ISANARGUMENT(ARGLIST,LENLIST,INPUTC,ISIN)
458 CALL GET_COMMAND_ARGUMENT(PINPUTI,ARGP) !GETARG(PINPUTI,ARGP)
462 WRITE(6,'(a,a)
') '*** error : missing argument to
',
466 CALL READ_MSGFILE(LENI,INPUTR)
471 ! ------------------------------------------------
473 ! ------------------------------------------------
474 IF (PCHECKSUMI /= 0)THEN
476 IF (PCHECKSUMI + 1 > ARGN) THEN ! Case -CHECKSUM is last argument in the list.
478 CALL GET_COMMAND_ARGUMENT(PCHECKSUMI,ARGP) ! GETARG(PINPUTI,ARGP)
481 WRITE(6,'(a,a)
') '*** error : missing argument to
',ARGP(1:STRLN)
486 CALL GET_COMMAND_ARGUMENT(PCHECKSUMI+1,CHECKSUMR)
487 LENI=LEN_TRIM(CHECKSUMR)
488 CHECKSUMC = CHECKSUMR
489 CALL UPCASE(CHECKSUMC)
491 ! check if -checksum has got an argument or if the next string is an input command
493 CALL ISANARGUMENT(ARGLIST,LENLIST,CHECKSUMC,ISIN)
496 CALL GET_COMMAND_ARGUMENT(PINPUTI,ARGP)
499 WRITE(6,'(a,a)
') '*** error : missing argument to
',ARGP(1:STRLN)
504 OUTPUT%CHECKSUM%ROOTNAME = ''
505 OUTPUT%CHECKSUM%ROOTNAME(1:LENI) = CHECKSUMR(1:LENI)
513 IF (PINPUTI /= 0)THEN
514 IF (PINPUTI+1 > ARGN) THEN
518 CALL GET_COMMAND_ARGUMENT(PINPUTI,ARGP) !GETARG(PINPUTI,ARGP)
522 WRITE(6,'(a,a)
') '*** error : missing argument to
',
528 CALL GET_COMMAND_ARGUMENT(PINPUTI+1,INPUTR) !GETARG(PINPUTI+1,INPUTR)
529 LENI=LEN_TRIM(INPUTR)
537 CALL ISANARGUMENT(ARGLIST,LENLIST,INPUTC,ISIN)
539 CALL GET_COMMAND_ARGUMENT(PINPUTI,ARGP) !GETARG(PINPUTI,ARGP)
543 WRITE(6,'(a,a)
') '*** error : missing argument to
',
549 BEGIN=LEN_TRIM(INPUTR)
551.AND..NOT.
DO WHILE (BEGIN > 0 CONDITION )
552 C = INPUTR(BEGIN:BEGIN)
553.OR.
IF (ICHAR(C)==47 ichar(C)==92) THEN
560 LENI = LEN_TRIM(INPUTR) - BEGIN
562 INPUT(1:LENI) = INPUTR(BEGIN:LEN_TRIM(INPUTR))
567 PATH(1:LENP)=INPUTR(1:LENP)
571 ! PINPUTI is 0, which means -input/-i was not set
572 if (PCHECKSUMI == 0)THEN ! -checksum option is set, does not need -i
574 WRITE(6,'(a)
') '*** error : no input deck set.
Use -input [
starter input file]
'
585 IF (PNCPUI+1 > ARGN) THEN
589 CALL GET_COMMAND_ARGUMENT(PNCPUI,ARGP) !GETARG(PNCPUI,ARGP)
593 WRITE(6,'(a,a)
') '*** error : missing argument to
',
599 CALL GET_COMMAND_ARGUMENT(PNCPUI+1,STRING) !GETARG(PNCPUI+1,STRING)
604 CALL ISANARGUMENT(ARGLIST,LENLIST,STRING,ISIN)
606 CALL GET_COMMAND_ARGUMENT(PNCPUI,ARGP) !GETARG(PNCPUI,ARGP)
610 WRITE(6,'(a,a)
') '*** error : missing argument to
',
617 CALL GET_COMMAND_ARGUMENT(PNCPUI+1,STRING) !GETARG(PNCPUI+1,STRING)
618 READ(STRING,'(i10)
',ERR=999) NCPU
625 STRLN=LEN_TRIM(STRING)
626 CALL GET_COMMAND_ARGUMENT(PNCPUI,ARGP) !GETARG(PNCPUI,ARGP)
627 STRLNA=LEN_TRIM(ARGP)
629 WRITE(6,'(a,a,a,a,a)
')
630 * '*** error in
"',ARGP(1:STRLNA),'" argument :
"',
631 * STRING(1:STRLN),'" is not an integer value
'
644 IF (PNTHI+1 > ARGN) THEN
648 CALL GET_COMMAND_ARGUMENT(PNTHI,ARGP) !GETARG(PNTHI,ARGP)
652 WRITE(6,'(a,a)
') '*** error : missing argument to
',
658 CALL GET_COMMAND_ARGUMENT(PNTHI+1,STRING) !GETARG(PNTHI+1,STRING)
663 CALL ISANARGUMENT(ARGLIST,LENLIST,STRING,ISIN)
665 CALL GET_COMMAND_ARGUMENT(PNTHI,ARGP) !GETARG(PNTHI,ARGP)
669 WRITE(6,'(a,a)
') '*** error : missing argument to
',
676 CALL GET_COMMAND_ARGUMENT(PNTHI+1,STRING) !GETARG(PNTHI+1,STRING)
677 READ(STRING,'(i10)
',ERR=1999) NTH
684 STRLN=LEN_TRIM(STRING)
685 CALL GET_COMMAND_ARGUMENT(PNTHI,ARGP) !GETARG(PNTHI,ARGP)
686 STRLNA=LEN_TRIM(ARGP)
688 WRITE(6,'(a,a,a,a,a)
')
689 * '*** error in
"',ARGP(1:STRLNA),'" argument :
"',
690 * STRING(1:STRLN),'" is not an integer value
'
700 IF (PUSERLNAMI /= 0)THEN
701 IF (PUSERLNAMI+1 > ARGN) THEN
705 CALL GET_COMMAND_ARGUMENT(PUSERLNAMI,ARGP) !GETARG(PUSERLNAMI,ARGP)
709 WRITE(6,'(a,a)
') '*** error : missing argument to
',ARGP(1:STRLN)
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
719 ULIBC(1:LEN_USERL_ALTNAME) = USERL_ALTNAME(1:LEN_USERL_ALTNAME)
722 CALL ISANARGUMENT(ARGLIST,LENLIST,ULIBC,ISIN)
724 CALL GET_COMMAND_ARGUMENT(PUSERLNAMI,ARGP) !GETARG(PUSERLNAMI,ARGP)
728 WRITE(6,'(a,a)
') '*** error : missing argument to
',
734 ENDIF ! IF (PUSERLNAMI+1 > ARGN) THEN
740 IF (MDS_PATHI /= 0)THEN
742 IF (MDS_PATHI+1 > ARGN) THEN
746 CALL GET_COMMAND_ARGUMENT(MDS_PATHI,ARGP)
750 WRITE(6,'(a,a)
') '*** error : missing argument to
',ARGP(1:STRLN)
754 CALL GET_COMMAND_ARGUMENT(MDS_PATHI+1,MDS_PATH)
755 MDS_PATH_LEN=LEN_TRIM(MDS_PATH)
759 ULIBC(1:MDS_PATH_LEN) = MDS_PATH(1:MDS_PATH_LEN)
762 CALL ISANARGUMENT(ARGLIST,LENLIST,ULIBC,ISIN)
764 CALL GET_COMMAND_ARGUMENT(MDS_PATHI,ARGP) !GETARG(PUSERLNAMI,ARGP)
768 WRITE(6,'(a,a)
') '*** error : missing argument to
',
774 ENDIF ! IF (MDS_PATHI+1 > ARGN) THEN
780 IF (MDS_DIRI /= 0)THEN
782 IF (MDS_DIRI+1 > ARGN) THEN
786 CALL GET_COMMAND_ARGUMENT(MDS_DIRI,ARGP)
790 WRITE(6,'(a,a)
') '*** error : missing argument to
',ARGP(1:STRLN)
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
799 ULIBC(1:MDS_PATH_LEN) = MDS_PATH(1:MDS_PATH_LEN)
802 CALL ISANARGUMENT(ARGLIST,LENLIST,ULIBC,ISIN)
804 CALL GET_COMMAND_ARGUMENT(MDS_DIRI,ARGP) !GETARG(PUSERLNAMI,ARGP)
807 WRITE(6,'(a,a)
') '*** error : missing argument to
',
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
836 CALL GET_COMMAND_ARGUMENT(DOMDEC_TUNING,ARGP) !GETARG(DOMDEC_TUNING,ARGP)
840 WRITE(6,'(a,a)
') '*** error : missing argument to
',
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)
849 ULIBC(1:LEN_DOMDEC_CPU_TYPE) = DOMDEC_CPU_TYPE(1:LEN_DOMDEC_CPU_TYPE)
852 CALL ISANARGUMENT(ARGLIST,LENLIST,ULIBC,ISIN)
854 CALL GET_COMMAND_ARGUMENT(DOMDEC_TUNING,ARGP) !GETARG(DOMDEC_TUNING,ARGP)
858 WRITE(6,'(a,a)
') '*** error : missing argument to
',
864 IF(DOMDEC_CPU_TYPE(1:LEN_DOMDEC_CPU_TYPE)=='avx512
') THEN
866 ELSEIF(DOMDEC_CPU_TYPE(1:LEN_DOMDEC_CPU_TYPE)=='sse3
') THEN
868 ELSEIF(DOMDEC_CPU_TYPE(1:LEN_DOMDEC_CPU_TYPE)=='armv8.0
') THEN
870 ELSEIF(DOMDEC_CPU_TYPE(1:LEN_DOMDEC_CPU_TYPE)=='avx2
') THEN
873 ENDIF ! IF (DOMDEC_TUNING+1 > ARGN) THEN
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
882! 4 - X86-64 Windows AVX-2 --> default case AVX-2 ; DD_OPTIMIZATION is set to 0 in grid2mat
884! ------------------------------------------------
886! ------------------------------------------------
887 IF (RANDM_ALEA/=0)THEN
888 IF (RANDM_ALEA+1 > ARGN) THEN
892 CALL GET_COMMAND_ARGUMENT(RANDM_ALEA,ARGP) !GETARG(PNTHI,ARGP)
896 WRITE(6,'(a,a)
') '*** error : missing argument to
',
902 CALL GET_COMMAND_ARGUMENT(RANDM_ALEA+1,STRING)
907 CALL ISANARGUMENT(ARGLIST,LENLIST,STRING,ISIN)
909 CALL GET_COMMAND_ARGUMENT(RANDM_ALEA,ARGP)
913 WRITE(6,'(a,a)
') '*** error : missing argument to
',ARGP(1:STRLN)
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.
929 STRLN=LEN_TRIM(STRING)
930 CALL GET_COMMAND_ARGUMENT(RANDM_ALEA,ARGP)
931 STRLNA=LEN_TRIM(ARGP)
933 WRITE(6,'(a,a,a,a,a)
')
934 * '*** error in
"',ARGP(1:STRLNA),'" argument :
"',
935 * STRING(1:STRLN),'" is not an real value
'
942! ------------------------------------------------
944! ------------------------------------------------
945 IF (RANDM_SEED/=0)THEN
946 IF (RANDM_SEED+1 > ARGN) THEN
950 CALL GET_COMMAND_ARGUMENT(RANDM_SEED,ARGP)
954 WRITE(6,'(a,a)
') '*** error : missing argument to
',
960 CALL GET_COMMAND_ARGUMENT(RANDM_SEED+1,STRING)
965 CALL ISANARGUMENT(ARGLIST,LENLIST,STRING,ISIN)
967 CALL GET_COMMAND_ARGUMENT(RANDM_SEED,ARGP)
971 WRITE(6,'(a,a)
') '*** error : missing argument to
',ARGP(1:STRLN)
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.
987 STRLN=LEN_TRIM(STRING)
988 CALL GET_COMMAND_ARGUMENT(RANDM_ALEA,ARGP)
989 STRLNA=LEN_TRIM(ARGP)
991 WRITE(6,
'(A,A,A,A,A)')
992 *
'*** ERROR in "',argp(1:strlna),
'" argument : "',
993 * string(1:strln),
'" is not an real value'
1005 IF (got_grp_size /= 0)
THEN
1006 IF (got_grp_size+1 > argn)
THEN
1009 CALL get_command_argument(got_grp_size,argp)
1010 strln=len_trim(argp)
1012 WRITE(6,
'(A,A)')
'*** ERROR : Missing argument to ',
1017 CALL get_command_argument(got_grp_size+1,string)
1024 CALL get_command_argument(got_grp_size,argp)
1025 strln=len_trim(argp)
1028 WRITE(6,
'(A,A)')
'*** ERROR : Missing argument to ',
1035 CALL get_command_argument(got_grp_size+1,string)
1036 READ(string,
'(I10)',err=3999)
grp_size
1044 strln=len_trim(string)
1045 CALL get_command_argument(got_grp_size,argp)
1046 strlna=len_trim(argp)
1048 WRITE(6,
'(A,A,A,A,A)')
1049 *
'*** ERROR in "',argp(1:strlna),
'" argument : "',
1050 * string(1:strln),
'" is not an integer value'
1065 IF (global_error ==1)
THEN
1172#include "implicit_f.inc"
1173#include "r4r8_p.inc"
1177#include "build_info.inc"
1182 CHARACTER*256 RFLEXNAM
1185 CHARACTER CPUNAM*20,ARCHTITLE*66
1189 INTEGER IBUILTIN,NSPMD,IEXPM,ICRAY,IRESP,IRFORM,LENBT,READER_ID
1190 INTEGER READER_COMMIT_ID_SIZE,
1191 CHARACTER(LEN=128):: READER_COMMIT_ID
1194#include "machine.inc"
1197 reader_commit_id_size=128
1198 CALL hm_build_id(reader_commit_id,reader_commit_id_size,reader_commit_id_len)
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
1208 *
' Extended Single Precision Version'
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'
1217 WRITE(6,
'(A)') btag(1:len_trim(btag))
1219 WRITE(6,
'(A,A)''Reader : ',reader_commit_id(1:reader_commit_id_len)
1220 WRITE(6,
'(A,A)')
' '
1257#include "implicit_f.inc"
1261#include "build_info.inc"
1266 WRITE(6,
'(A,A)')
'RADIOSS Starter version ',vers(1:len_vers)
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] :
',
1287 * 'set directory to mds library(default is %ALTAIR_HOME%/hwsolver/multiscaledesigner/%arch%)
'
1289 * 'set directory to mds library
'
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] :
',
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]
',
subroutine noise(dt2r, in, j, buf, v, a, ixs, elbuf_tab, iparg, weight, ixq)