我正试图从htcondor的openfoam中启动一些计算。
到目前为止,我们只准备了一个多核服务器openfoam。
OpenFoam是按照https://openfoam.org/download/4-1-source/中的说明从源代码(不使用Docker)安装的。
问题是:当我在htcondor中提交作业时,它被正确地启动(我看到生成了结果文件),但是输出文件没有被复制回进行提交的机器(在windows上)。
这是我的工作文件:

Universe = vanilla
Executable = openfoamtest.sh

process_name = openfoamtest
input = /dev/null
requirements = ( (OpSys == "LINUX") && (Machine == "master") )

output = $(process_name).job.$(Process).out
error = $(process_name).job.$(Process).err
log = $(process_name).job.log

should_transfer_files = YES
when_to_transfer_output = ON_EXIT_OR_EVICT
transfer_executable = true

Queue 1

openfoamtest.sh:打开泡沫测试:
#!/bin/bash
# Import the OpenFOAM environment
source /etc/bashrc
export PATH=$PATH:/usr/lib64/openmpi/bin/
source /opt/OpenFOAM/OpenFOAM-4.1/etc/bashrc

cd /tmp/openfoam/pitzDaily
blockMesh
simpleFoam
zip pitzDaily.zip *

请注意,我使用condorworker用户启动流程,而不是user nobody。提交是从Windows计算机进行的。
谢谢您。

最佳答案

解决了的。问题是我剧本里的CD。这将当前工作目录移动到另一个文件夹,htcondor不知道。解决办法是加上,
开始时:

# This is the folder where Condor starts
CURRENT_FOLDER=$PWD

最后:
# Copy back the generated file to Condor's execute folder.
cp pitzDaily.zip $CURRENT_FOLDER

10-06 11:20