VibInfo 发表于 2006-3-17 11:00

[转帖]本地机器abaqus向远程unix机器提交作业的方法

本帖最后由 wdhd 于 2016-3-16 10:31 编辑

  利用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的提示符窗口中出现,检查错误并找到相应解决办法。

  来自:Simwe

zhangmeng 发表于 2006-6-3 16:13

本帖最后由 wdhd 于 2016-3-16 10:31 编辑

  能给点关于Linux的讲解吗?

  谁现在还用Unix
页: [1]
查看完整版本: [转帖]本地机器abaqus向远程unix机器提交作业的方法