Windows命令行提交Marc计算任务

发布于:2012-07-26 | 分类:finite element analysis


完成Marc有限元建模后,可以直接在MENTAT中执行计算,也可以使用run_marc在命令行提交计算任务。

命令行

打开命令行窗口,切换到Marc输入文件如example.dat所在目录,然后输入如下命令提交计算:

run_marc -j example -b n

第一次执行过程中可能出现以下错误提示:

'#for' 不是内部或外部命令,也不是可运行的程序或批处理文件。
'getarch.bat' 不是内部或外部命令,也不是可运行的程序或批处理文件。
error, program
\run_marc_read.exe
which reads the command line options does not exist.

解决方案1:在marc2010\tools目录中找到run_marc.bat文件,将第三行

for %%i in (%0) do set DIRSCRIPT=%%~dpi

修改为

for %%i in (run_marc.bat) do set DIRSCRIPT=%%~dp$PATH:i

参数说明

run_marc命令的控制参数有:

run_marc 
    -prog prog_name 
    -jid job_name 
    -rid rid_name 
    -pid pid_name 
    -sid sid_name 
    -queue queue_name 
    -user user_name 
    -back back_value 
    -ver verify_value 
    -save save_value 
    -vf view_name 
    -def def_name 
    -nprocd number_of_processors (for Single Input file runs, use -nps number_of_processors) 
    -nthread number_of_threads 
    -dir directory_where_job_is_processed 
    -itree message_passing_type 
    -host hostfile (for running over the network) 
    -pq queue_priority 
    -at date_time 
    -comp compatible_machines_on_network 
    -cpu time_limit 
    -nsolver number of processors (MUMPS)
    -ml memory_limit 
    -mode i4 
    -mpi intel-mpi

一般只需指定几个常用参数即可,详细说明参考Marc2010帮助文档:《Volume A: Theory and User Information》。

实例

  • 单处理器后台运行任务e2x1.dat ,要求e2x1.dat在当前目录下

    run_marc -jid e2x1
    
  • 4处理器前台运行任务e2x1.dat,并使用用户子程序u2x14.f,计算完成后在相应目录下创建可执行模块u2x14.marc 。

    run_marc -jid e2x14 -user u2x14 -sav y -b no -nprocd 4