利用queue的功能由本地机器向远程unix机器提交abaqus作业的方法
利用queue的功能由本地机器向远程unix机器提交abaqus作业的方法假设:
1. 远程unix机器的安装目录为/abaqus,
2. 远程计算机IP地址为192.168.0.166,主机名为ibmlinux
3. 本地计算机IP地址为192.168.0.18,主机名为training
下面的讨论涉及的内容相应改变
Step 1 分别设置本地计算机和远程计算机之间的主机名和IP地址对应。
1. 修改本地hosts文件,windows上一般位于c:\windows\system32\drivers\etc下,unix上位于/etc下,加入远程计算机主机名和IP地址对应行,如:
192.168.0.166 ibmlinux
2. 修改远程hosts文件,位于/etc下,加入本地计算机主机名和IP地址对应行,如:
192.168.0.18 training
Step 2 设置本地计算机对远程计算机运行rsh和rcp命令正确。
1. 两台计算机登陆名和密码一致。举例而言,若远程计算机登陆名和密码为root/root,则设置本地计算机也用同样的用户名和密码登陆。
2. 修改远程计算机.rhosts文件,该文件位于对应用户名登陆后的主目录下,如/home/root,加入本地计算机的IP地址使得本地计算机可以访问到远程计算机。
3. 在本地计算机的提示符下键入
rsh ibmlinux ls
测试rsh是否能够正常使用,如果可以列出远程计算机主目录下文件,代表rsh和rcp工作正常。
Step 3 设置远程计算机该用户的默认登陆程序为csh,修改passwd文件,位于/etc下,如:
root:Ty91eFGzybEE2:0:3::/:/usr/bin/csh
Step 4 修改远程计算机的abaqus环境文件abaqus_v6.env
在环境文件最后加入
queue_name =["nice_queue"]
after_prefix = "-b"
queue_prefix = "-q"
nice_queue = "/bin/sh -c 'nice ./%S 1>%L 2>&1 &'"
保存
在提示符下面键入
abaqus fetch job=beam.inp
abaqus job=beam queue=nice_queue
如果可以顺利获得beam.odb,则表示远程计算机queue设置正确。
Step 5 修改本地计算机的abaqus环境文件abaqus_v6.env
在环境文件最后加入
def onCaeStartup():
def makeQueues(*args):
import os, driverUtils
driverName = './abaqus'
scratchDir = '/abaqus/Commands'
session.Queue(name='nice',
queueName='nice_queue',
hostName='ibmlinux',
driver=driverName,
localPlatform = NT,
fileCopy=ON,
directory=scratchDir)
addImportCallback('job', makeQueues)
保存
Step 6 在本地计算机上启动abaqus/cae,创建或打开一个模型,在Job模块创建一个新任务,选择Run Mode为Queue,选择nice,OK,提交运算,观察是否任务被自动提交到了远程计算机的/abaqus/Commands下运行并自动返回odb文件到本地计算机。如有错误,会在启动cae的提示符窗口中出现,检查错误并找到相应解决办法。
来自:likuiming收集的资料
页:
[1]