REM 让marc自定义子程序支持f90
REM 请将本run_marc.bat文件copy到marc安装目录下tools文件夹 REM 作者:阚前华 REM *.bat清单:
REM######################################################################## @echo off setlocal
for %%i in (%0) do set DIR=%%~dpi
if exist \for %%i in (run_marc.bat) do set DIR=%%~dp$PATH:i :full_path
REM if edited in here by user, the path must include the drive letter
set DIR=%DIR%..
CALL \
REM
REM ######################################################################### REM REM run_marc - run a marc job REM -------------------------
REM REM usage: run_marc -j jid { options }
REM REM where options are:
REM REM -j jid job id number.
REM -pr prog program name (saved user subroutine executable) REM -r rid restart file job id. REM -si sid substructure file id. REM -pi post post file job id.
REM REM -u user user subroutine.
REM -sa y|n do or do not save load module: defaults to no REM -au y|n use auto restart feature: defaults to no
REM Auto restart control stops the analysis, runs REM a mesher to remesh and restarts the analysis
REM Windows NT only. Used for DCOM server support.
REM -nprocd number of tasks for domain decomposition. REM -nthread number of threads per task. REM -itree message passing tree for domain decomposition. REM -de defaults file. REM -vf viewfactor file.
REM -host host file: defaults to local
REM -me manual remeshing control
REM -ma maxall parameter. overrides value given in include file
REM -pc remote computer name: defaults to local. Windows NT only. REM Used for DCOM server support.
REM -dir sets the current directory. this is where the job REM i/o takes place. defaults to current directory REM -sdir sets the scratch directory. this is where scratch REM files for the job are created. defaults to current REM directory
REM -dcoup contact decoupling used for Superform problem with REM deformable tools REM
REM -alloc only perform memory allocation test, no analysis REM
REM -dytran flag to switch from Dytran to Marc
REM dytran = 0,program will run without Marc-Dytran switch. REM = 1,program will restart Marc after Dytran run. REM >= 2,Not supported yet.
REM -dytran is not supported for MSC.Marc2003 REM
REM ########################################################################
REM Variables for the MARC environment
SET EXITMSG=%DIR%\\tools\\MESSAGES SET AFMATDAT=%DIR%\\AF_flowmat\\
rem: define path to global unified material database SET MATFILE=
REM set PATH to include Patran mesh dynamic library SET PATH=%DIR%\\lib;%PATH%
REM defaults
set prog=marc set jid= set pid= set rid= set sid= set did= set vid= set dirjid= set dirpid= set dirrid=
set dirsid= set dirdid= set dirvid= set user= set userdir= set qid=y
rem set priority= set att= set pid= set prgsav=n set error= set nprocd=0 set nthread=0 set itree=0 set iam=
set nthreadmax=0 set marclink= set nauto=0 set ndcoup=0 set ndytran=0 set host= set userhost= set cpinput=y set cpresults=y set dist=n set mesh=0 set mach= set cmdline= set jidlog=
set dcomserver= set dotdat=.dat set dirscrset=
rem initialize dirjob and dirscr to current directory for /f \ \set dirjob=%curdir%
if exist \echo error, program
echo %dir%\\bin\\run_marc_read.exe
echo which reads the command line options does not exist goto end_of_file :run_marc_read
rem first run %dirjob%\\ through run_marc_read with -j as dummy rem argument to strip off backslash in case job is run in for instance c:\\
call \ \call .\\run_marc_read.bat set dirjob=%value2% set dirscr=%dirjob%
rem scratch directory can be specified via environmental variable rem MARCSCRATCH
if \if exist %MARCSCRATCH% goto marcscratchexists echo.
echo error, scratch directory \
echo specified via environmental variable MARCSCRATCH does not exist goto end_of_file :marcscratchexists
set dirscr=%MARCSCRATCH% :nomarcscratch
REM
########################################################################### REM parse input - arguments always come in pairs # REM
###########################################################################
set arg=%1
if not \set error=no input parameters specified goto read_arg_error :no_arg_end set cmdline=%1
:read_arg_beg shift
set cmdline=%cmdline% %1
if \ goto al_end1 if not \:al_end1
rem just run marc with -alloc option \goto end_of_file :al_end
set value=%1
if \ ==\if not \
call \
call .\\run_marc_read.bat
if not \ goto pr_end set prog=%value% goto read_new :pr_end
if not \ goto j_end set jid=%value% set dirjid=%value2%
if \goto read_new :j_end
if not \ goto pi_end set pid=%value% set dirpid=%value2%
if \goto read_new :pi_end
if not \ goto r_end set rid=%value% set dirrid=%value2%
if \goto read_new :r_end
if not \ goto si_end set sid=%value% set dirsid=%value2%
if \goto read_new :si_end
if not \ goto de_end set did=%value%