Views

Fluent sekwencyjny

From Centrum Komputerów Dużej Mocy, ICM Uniwersytet Warszawski

Jump to: navigation, search
FLUENT
Grafika:Fluent_ansys_logo.gif
Produkt: FLUENT
Producent: ANSYS
Licencja:
Zainstalowany na: halo2 rekin labuz1 labuz3 lab edukacyjny
Wersja: 12.1, 13.0.LM2, 14.0
Email: fluent@icm.edu.pl
Program Fluent
Licencja krajowa
Fluent w ICM
Uruchamianie
Obliczenia równoległe
Program Gambit
Gambit w ICM
Uruchamianie
Program Tgrid
Tgrid w ICM
Uruchamianie
Obliczenia w ICM
Tryb wsadowy
Fluent sekwencyjny
Fluent równoległy
Wstawianie do kolejki
Rozmaitości
Projekty użytkowników
Linki

PRZYKŁAD SKRYPTU KOLEJKOWEGO - Fluent sekwencyjny

Skrypty kolejkowe różnią się w zależności od tego czy obliczenia będą wykonywane na jednym procesorze czy też będą prowadzone w trybie równoległym.

Przykładowy skrypt kolejkowy uruchamiający obliczenia na jednym procesorze może wyglądać następująco:

     #!/bin/csh
     #PBS -S /bin/csh
     #PBS -N zadanie
     #PBS -l cput=100:00:00
     #PBS -l mem=460mb
     #PBS -l nodes=1:ppn=1
     #PBS -l walltime=200:00:00
     #PBS -m e
     #
     env | grep PBS
     cd /home/users/ala/test
     mkdir -p /tmp1/$USER/$PBS_JOBID
     cp example.cas inputfile /tmp1/$USER/$PBS_JOBID
     cd /tmp1/$USER/$PBS_JOBID
     use_fluent
     fluent 3ddp -g -i inputfile >output
     cd /home/users/ala/test
     cp -r /tmp1/$USER/$PBS_JOBID . && rm -rf /tmp1/$USER



Najważniejsze w tym skrypcie polecenie wywołujące FLUENTa zostało pogrubione. Jest to polecenie opisane w punkcie Uruchamianie programu Fluent. Przypomnijmy, że opcja -g oznacza wyłączenie trybu graficznego, -i inputfile oznacza, ze odpowiedzi na pytania Fluenta będą pobierane z pliku inputfile natomiast wszystkie komunikaty generowane przez Fluenta, które podczas pracy interaktywnej pojawiałyby się na konsoli, będą zapisywane do pliku output.

Przez przystąpieniem do omówienia znaczenia kolejnych linii przypominany o obowiązującej użytkowników dużych maszyn w ICM sugestii aby wszystkie dane oraz wyniki wykonywanych programów przechowywać w katalogach /tmp1, a nie w katalogu domowym. Przedstawiany skrypt sprawi, że ten wymóg zostanie automatycznie spełniony. Zakładamy dodatkowo, że dane dla Fluenta (pliki example.cas oraz inputfile) znajdują się w katalogu /home/users/ala/test.

Powróćmy do skryptu:

     #!/bin/csh
     #PBS -S /bin/csh

shell do interpretacji pliku ze skryptem


     #PBS -N zadanie

Określenie nazwy zadania (tu: zadanie). Pod taką nazwą będzie widziane zadanie w systemie (np. podczas oglądania zawartości kolejki poleceniem qstat) oraz tak zaczynać się będą nazwy plików generowanych przez system kolejkowy: zadanie.eXXX oraz zadanie.oXXX, gdzie XXX to numer zadania jaki przydzielił system kolejkowy PBS.


Definiowanie limitów:

     #PBS -l cput=100:00:00

limit czasu cpu, tu: 100 godzin

     #PBS -l mem=460mb

limit pamięci

     #PBS -l nodes=1:ppn=1

liczba procesorów. Tu: jeden węzeł (nodes=1), a na nim jeden procesor (ppn=1).

     #PBS -l walltime=200:00:00

Określenie "czasu zegarowego" realizowanego zadania.

     #PBS -m e

Po zakończeniu obliczeń użytkownik zostanie o tym poinformowany za pomocą poczty elektronicznej.


     env | grep PBS

Polecenie "informacyjne", nie mające wpływu na realizację zadania. W pliku zadanie.oXXX wypisane zostaną wartości wszystkich zmiennych środowiskowych związanych z systemem kolejkowym PBS.


     cd /home/users/ala/test

Przejście do katalogu, w którym zgodnie z założeniem przyjętym dla potrzeb przykładu znajdują się dane dla Fluenta.


     mkdir -p /tmp1/$USER/$PBS_JOBID

Utworzenie katalogu roboczego /tmp1/$USER/$PBS_JOBID w katalogu /tmp1 na dysku lokalnym. $USER jest zmienną środowiskową, której wartością jast nazwa użytkownika (tu: ala), zaś $PBS_JOBID jest numerem zadania przydzielonym przez system kolejkowy. Zauważmy, że katalog ten zostanie utworzony na tym komputerze, który zostanie przydzielony do realizacji naszego zadania. Przed rozpoczęciem wykonywania skryptu nie wiadomo, który z komputerów w klastrze będzie realizował nasze zadanie.


     cp example.cas inputfile /tmp1/$USER/$PBS_JOBID

Skopiowanie plików z danymi dla Fluenta do katalogu roboczego. Należy skopiować wszystkie pliki, które będą potrzebne do uruchomienia programu (np. pliki zawierające funkcje zdefiniowane przez użytkownika, ew. pliki .dat w przypadku kontynuowania obliczeń.


     cd /tmp1/$USER/$PBS_JOBID

Katalog roboczy /tmp1/$USER/$$ staje się katalogiem bieżącym.


     use_fluent

Ustawienie środowiska dla programu Fluent.


     fluent 3ddp -g -i inputfile >output

Uruchomienie programu Fluent. Wszystkie komunikaty, które podczas pracy w trybie interakcyjnym ukazywałyby się w 'oknie głównym' Fluenta, zostaną zapisane w pliku o nazwie output.


     cp -r /tmp1/$USER/$PBS_JOBID . && rm -rf /tmp1/$USER

Po zakończeniu obliczeń skopiowanie całego katalogu roboczego do podkatalogu test katalogu bieżącego i skasowanie (o ile nie wystąpiły błędy przy kopiowaniu, np. brak miejsca w katalogu domowym) katalogu roboczego.


Uwaga: Po zakończeniu obliczeń warto obejrzeć nie tylko wyniki działania programu, ale również zapoznać się z zawartością plików .oXXX oraz .eXXX aby upewnić się, że podczas wykonywania programu nie wystąpiły błędy. Pliki te znajdują się w katalogu, z którego wstawiono zadanie do kolejki.