找回密码
 注册
Simdroid-非首页
查看: 617|回复: 4

[15.分享让我牛B] COMSOL 命令集

  [复制链接]
发表于 2013-1-31 16:46:00 | 显示全部楼层 |阅读模式 来自 韩国
COMSOL 命令集 通用格式:
comsol [<target>] [<options>] [<target arguments>]
1. <target>
comsol                         : 启动COMSOL
comsol server                  : 启动COMSOL SERVER,用于联用MATLAB
comsol client                  : 启动COMSOL CLIENT
comsol batch                   : 命令行模式的COMSOL,用于运行一个MPH算例或class文件
comsol compile                 : 编译模型java文件,用于JAVA API
comsol server matlab           : 启动MATLAB并连接到COMSOL SERVER,SSH下个人推荐这种方式,原因自己体会
comsol matlab                  : 启动MATLAB,并设置COMSOL的路径,不灵的(它没把mli下级目录添加进去,因此需要手动设置下)
comsol convertpre35a           : 转换COMSOL v3.x版本模型,我觉得是生成高版本的MPH或M文件
comsol mph                     : 运行COMSOL并行模式(multiprocessing daemon)

2. <options>
-h                             : 屏显HELP
<target> -h                    : 屏显<target>的HELP
-32                            : 32位模式
-64                            :64位模式
-3drend ogl | sw               : OpenGL的3D渲染
-np <number>                   : 启动核数,WIN窗口模式默认启动全部核心,LIN则需要配置
-numasets <number>             : 非一致性内存访问 (NUMA)硬件可以通过将专用内存与 CPU 配对来显著提高性能,通常为CPU核sockets数
-mpmode throughput |           : 并行模式 优化COMSOL与其他线程同时运行
      turnaround   |           : 并行模式 在无其他任务进行时,优化COMSOL进程
           owner               : 并行模式 在所有进程中,给予最高级的性能配置
-blas {auto}| mkl  |           :basic linear algebra operations,COMSOL很多计算引擎依赖BLAS
        acml | path            : 使用BLAS库 mkl:intel的CPU,acml:AMD SSE2支持的CPU
-blaspath <path>               : BLAS库路径,与-blas path联用 (环境变量为LD_LIBRARY_PATH)
-ipv6                          : IPV6支持
-nn <number>                   : 节点数
-nnhost <number>               :每个HOST使用的节点数
-mpi {auto} | intel |
  mpich2 | wccs2003 |
  whpc2008 | user| path        :调用MPI库
-mpipath <path>                : MPI库路径
-mpiroot <path>                : MPI库root路径
-mpirsh {rsh} | ssh            : 在MPD模式下使用rsh或ssh
-scalapack {auto} |
mpich2 | wccs2003 |
whpc2008 | user | path        :Scalapcak库
-scalapackpath <path>          : Scalpack库路径
-clusersimple                  :Simple cluser模式   不知是神马
-prefsdir <path>               : 配置属性路径
-tmpdir <path>                 : 临时文件路径
-version                       : 屏显版本号
-ckl                           : 使用class-kit 许可
-forcegcc                      : 强制加载GCC库,通常是在联用MATLAB,而函数无法返回MATLAB时使用
-forcecomsolgcc                :与COMSOL强制加载GCC库,COMSOL通常默认使用系统GCC,当在无法正常启动COMSOL时,尝试使用该命令

3. COMSOL SERVER 命令
通用格式
comsol [<options>] server [<target arguments>]

comsol target arguments
-user <user>                   : login user name
-port <port>                   : TCP/IP port to listen
-passwd <reset/nostore>        : 当需要提供新密码时使用,如果不需要存储新密码联用nostore
-login <{info}/force/never>    : 查询登录信息
-multi on | {off}              : 允许client重复链接
-silent                        : 不接受标准输入
-graphics                      : 启动COMSOL的图形库,不在COMSOL的GUI下,但是是COMSOL的绘图模式

4. COMSOL CLIENT 命令
通用格式
comsol [<options>] client [<target arguments>]

-port <port>                   : 指定连接的端口
-server <server name>          :连接的server名

5. COMSOL BATCH 命令
COMSOL的无GUI模式,可以运行MPH算例及模型JAVA文件,模型JAVA文件运行前需要编译。
通用格式
comsol [<options>] batch [<target arguments>]

<option>
-inputfile <file name>         : 运行一个MPH或java class文件
-outputfile <file name>        : 保存运算后的MPH文件,缺省时覆盖源文件
-job <job name>                : 运行COMSOL的study中batch任务
-study <study name>            : 运行COMSOL的study任务
-pnmae <parameter name>        : 参数化扫描变量名
-plist <parameter value>       : 参数化扫描变量值
-batchlog <file name>          : 保存batch的记录文件
-client                        : 以client模式运行
-host                          : 连接到HOST
-port                          : 连接到端口
-graphics                      : 启动COMSOL batch模式图形库以显示后处理图像
-nosave                        : 不保存模型结果

example:
comsol batch -inputfile in.mph -outputfile out.mph -job b3 -pname v -plist 10
输入in.mph输出out.mph,执行任务b3,参数v的值为10

6. COMSOL COMPILE 命令
通用格式
comsol [<options>] compile [<target arguments>] <file>.java

[<options>]
-jdkroot <path>                : JDK root路径
-classpathadd <classpath>      : additional classpath
-verbose                       : verbose输出

7. COMSOL CLUSTER 命令
通用格式
comsol -nn <no. of nodes> [<options>] [<target>] [<target arguments>]

COMSOL CLUSTER TARGETS
comsol -nn <nn> batch         : 并行batch模式
comsol -nn <nn> server        : 并行server模式
comsol -nn <nn>               : 并行桌面模式

RUNNING...

MPI mode下启动COMSOL,需要初始化MPI环境,MPD(Multiprocessing daemon)在每个节点上运行。简单的做法是:
comsol -nn 4 -clustersimple
当以batch模式运行时,使用:
comsol -clustersimple batch -inputfile input.mph -outputfile output.mph
这样Intel MPI库会自动检测分配的节点数,-nn 指定节点数。这是最有效的运行COMSOL方式。

对于单独cluster:
要在多个节点上运行MPD,需输入:
comsol -nn <number of computer node> mpd boot -f <filename>
<filename>中保存着运行程序节点的host names,每个Host name单独占一行,里面也可以列出每个节点的IP地址。
通过comsol mpd trace来检测所有节点是否启动起来。
distributed COMSOL,这样server在多个节点上启动。计算的节点可以大于物理计算节点。通过-nnhost来强制某些计算的节点在一个物理计算节点上。避免启动计算的节点数大于总物理核数。
comsol -nn <number> server
当完成了distributed COMSOL后,便可以关掉所有MPDs.
comsol mpd allexit
在一台计算机上启动MPD:
comsol mpd mpd &
这样可以使用一个多CPU计算机所有的计算节点。
而comsol mpd trace -l和comsol mpd mpd --port <number> --host <hostname>可以在每个节点上启动MPD,并且给它指定HOST和PORT。

使用--clustersimple自动启动和关闭MPD。它使用$HOME下mpd.host的配置文件。

EXAMPLE:
在一台电脑上启动MPD:
comsol mpd mpd &
comsol -nn 2 -np 3 可选
comsol -nn 2 -np 3 server 可选
comsol -nn 2 -np 3 batch -inputfile in.mph -outputfile out.mph
comsol mpd allexit

启动myhost中的多节点:
comsol -nn mpd boot -f myhosts
comsol mpd trace
comsol -nn 4
comsol -nn 4 server
comsol -nn 4 batch -inputfile in.mph -outputfile out.mph
comsol mpd allexit

启动简化版,调用的是mpd.hosts文件中的配置
comsol -nn 4 -clustersimple alternatively
comsol -nn 4 -clustersimple server alternatively
comsol -nn 4 -clustersimple batch -inputfile in.mph -outputfile out.mph

8. MPI选项
COMSOL支持基于MPICH2的大多数MPI,不过通常建议使用Intel MPI。
使用兼容模式加上 -mpi mpich2 (这里PATH和LD_LIBRARY_PATH要在系统变量中)
如调用其他版本的MPI,可以用 -mpipath -mpiroot来指定它们的位置。

9. MPD操作
boot
mpd
exit
allexit
cleanup
trace
check
ringtest
listjobs
sigjob
killjobs
tune
help

10. COMSOL MATLAB 命令
comsole server matlab [<options>]
建立一个object:
model = com.comsol.model.ModelUtil.create(<name>);

其他方式:
comsol matlab [<options>]com.comsol.model.ModelUtil.connect(<host>,<port>);
model = com.comsol.model.ModelUtil.create(<name>);
% work with your model
com.comsol.model.ModelUtil.disconnect;

close

其他选项:
-mlroot <path>
-host <hostname>
-port <hostname>
-desktop                       :GUI模式
-nodesktop                     :无桌面模式
-mlnosplash
-compat                        : COMSOL 3.5a 兼容模式
-c35aroot                      : COMSOL 3.5a root路径
-graphics

11. COMSOL35a 转换 命令
comsol [options] <input directory> <output directory> [log file]


12. 其他补充
命令模式常用形式:
comsol batch -inputfile in.mph -outputfile out.mph -job b1 -batchlog out.log
COMSOL MATLAB脚本模式:
comsol server matlab "myscript4, exit" -nodesktop
需要添加 exit 这样计算完毕后才会退出,也可将exit写到M文件中。
PBS文件写法:
串行:
#!/bin/bash
#PBS -N job name
#PBS -l walltime=10:0:0  等待时间
#PBS -l pvmem=3gb        取用3G内存空间
cd $PBS_O_WORKDIR
comsol batch -inputfile my_file.mph -outputfile my_file_out.mph -batchlog my_file.log

单机多核:
#PBS -N COMSOL
#PBS -l mem=16gb
#PBS -q smp
cd $PBS_O_WORKDIR
comsol -np 4 batch -inputfile my_file.mph

MPI模式:
#PBS -N COMSOL
#PBS -l pvmem=8gb                     注: memory per core.
#PBS -l nodes=2:ppn:4
cd $PBS_O_WORKDIR
comsol -clustersimple -nn 2 -np 8 batch -inputfile my_file.mph       //读取mpd.hosts或host列表,如果没有指定,那么MPI任务仅在本机运行。 而使用-nn <number>必须启动 mpd。
以上单命令已测试,未提交测试PBS任务,理论上问题不大。

目前我所使用的PBS文件:
#!/bin/bash
#PBS -N comsol_mpi_test
#PBS -l nodes=2:ppn=4
cd $PBS_O_WORKDIR
comsol -nn 2 -np 8 -clustersimple batch -inputfile in.mph -outputfile out.mph -batchlog in_test.log

评分

1

查看全部评分

发表于 2013-2-11 15:43:25 | 显示全部楼层 来自 法国
Simdroid开发平台

多谢,对本人非常有用,谢谢楼主
回复 不支持

使用道具 举报

发表于 2013-3-9 16:26:07 | 显示全部楼层 来自 北京
这个命令集到底是干什么用的
回复 不支持

使用道具 举报

发表于 2013-3-17 13:17:02 | 显示全部楼层 来自 清华大学
学习必备
回复 不支持

使用道具 举报

发表于 2013-5-17 22:29:12 | 显示全部楼层 来自 广东深圳
顶一个,来学习的
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-6-16 07:05 , Processed in 0.035854 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表