2017-05-22 5 views
1

Ich versuche, einige Berechnungen in OpenFOAM von HTCondor zu starten. Bisher haben wir nur einen Multicore-Server OpenFOAM bereit. OpenFOAM wird von der Quelle installiert ist (nicht Docker verwenden) gemäß den Anweisungen in: https://openfoam.org/download/4-1-source/HTCondor mit OpenFOAM

Das Problem: Wenn ich einen Job in Htcondor einreichen, wird es richtig gestartet (ich sehe, dass die Ergebnisdateien erzeugt werden), aber die Ausgabedateien werden nicht auf den Computer zurückkopiert, der das Senden vorgenommen hat (unter Windows).

Das ist mein Job-Datei:

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 * 

Bitte beachten Sie, dass ich eine condorworker Benutzer den Prozess statt Benutzer niemand zu starten. Die Übermittlung erfolgt von einem Windows-Computer. Danke.

Antwort

1

Gelöst. Problem war das "cd" in meinem Skript. Dadurch wurde das aktuelle Arbeitsverzeichnis in einen anderen Ordner verschoben, den HTCondor nicht kennt. Lösung war hinzuzufügen, am Anfang:

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

Und am Ende:

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