Informace Fórum Stav sítě ČVUT IDS Hledání Přihlášení Mapa stránek

Fluent

CFD (Computational Fluid Dynamics) software Fluent umožňuje provádět výpočty proudění tekutin za současného přenosu tepla, chemických reakcí a další. Podrobnější výčet možností a informace o dalších spřízněných produktech lze nalézt na stránce firmy Fluent Inc.

Na počítačích Altix a rex je momentálně nainstalována verze 6.3.26. Program je umístěn v adresáři


  Altix: /opt/fluent/63/Fluent.Inc 
  Rex: /opt/Fluent.Inc

Licence platí pro určitý počet uživatelů. Licence je tzv. plovoucí a není tedy vázána na počítač. Fluent lze tedy spouštět na interaktivním CPU setu nebo pomocí systému PBS na zbytku počítače. Licenční server běží na počítači sgi.fsid.cvut.cz.

Interaktivní spuštění programu

Program Fluent se spouští příkazem:

  /opt/fluent/63/Fluent.Inc/bin/fluent nebo 
  /opt/Fluent.Inc/bin/fluent

Po spuštění by se mělo objevit grafické základní okno Fluentu. Při spuštění lze použít některé parametry, jejichž kompletní seznam lze získat pomocí přepínače -help:

  /opt/Fluent.Inc/bin/fluent -help

Někdy je nutné použít přepínač -driver týkající se typu grafického systému, na kterém má probíhat zobrazení. Automatická detekce občas selhává a snaží se například použít OpenGL grafiku na systémech, které ji nepodporují. Pak lze použít ovladač pro normální systém X-Window:

  /opt/bin/fluent -driver x11

Nebo je zde možnost pustit Fluent v negrafickém, čistě textovém režimu a ovládat jej pouze z příkazové řádky:

  /opt/Fluent.Inc/bin/fluent -g

Tento režim běhu je nutný při neinteraktivním počítání na pozadí, např. v dávkovém systému PBS.

Neinteraktivní spuštění programu

Pro neinteraktivní výpočty spouštěné na pozadí je třeba Fluent volat s přepínačem -g, viz výše. To spustí Fluent v čistě textovém režimu a lze využít přesměrování standardního vstupu k zadání příkazů pro načtení dat, zadání daného počtu iterací a následně i uložení výsledků a ukončení Fluentu.

Před vlastním neinteraktivním výpočtem je nutné si připravit zmiňovaný vstupní soubor s příkazy pro Fluent, které zajistí korektní provedení požadovaných kroků. Aby těchto kroků nebylo přiliš mnoho, je výhodné si během interaktivního běhu (v grafickém režimu) nejprve připravit vlastní úlohu včetně nastavení příslušných parametrů pro výpočet, inicializace příslušných veličin, atp. Potom si úlohu uložte přes položku v menu File - Write - Case & Data.

Následně si musíte vytvořit textový soubor, který bude obsahovat příkazy pro Fluent pro načtení úlohy, spuštění výpočtu atd, např:


  2d

  rcd uloha1

  solve

  iter 200

  wcd uloha200

  quit

  exit

  y

Vysvětlivky:
  1. První řádek obsahuje specifikaci typu řešiče (2d, 3d, ...). To lze také definovat přímo na příkazové řádce (a potom je možné první řádek vynechat):
    
        /opt/bin/fluent 2d -g
    
      
  2. Další řádek obsahuje příkaz pro načtení úlohy s názvem uloha1. Zkratka rcd odpovídá příkazu read-case-data. Je zřejmé, že se v aktuálním adresáři musí nacházet dva soubory:
    
      uloha1.cas
    
      uloha1.dat
    
    
  3. Další dva řádky zajistí vyvolání menu solve a spuštění 200 iterací.
  4. A další řádek s příkazem wcd (write-case-data) zajistí uložení spočteným dat a vytvoření opět dvou souborů:
    
      uloha200.cas
    
      uloha200.dat
    
      
  5. Následuje již jen příkaz quit pro opuštění menu solve a příkaz exit pro ukončení Fluentu. Poslední řádek pak již obsahuje jen potvrzení y (yes), že se má Fluent ukončit.

Poznámky:

No a teď tedy k vlastní syntaxi spuštění neinteraktivního výpočtu z příkazové řádky. Jsou dvě, trochu odlišné možnosti, které v podstatě zajistí to samé:


  /opt/Fluent.Inc/bin/fluent -g < vstup.txt > vystup.txt



  /opt/Fluent.Inc/bin/fluent -g -i vstup.txt > vystup.txt

Soubor vstup.txt musí obsahovat sled potřebných příkazů k provedení výpočtů, do souboru vystup.txt budou uloženy informace, které by se jinak vypisovali na standardní výstup, tedy obrazovku. Někdy je dobré si do stejného souboru přesměrovat i standardní chybový výstup, syntaxe se však pro různé typy shellů liší:

Bourne shell, Korne shell, Bash:


  /opt/Fluent.Inc/bin/fluent -g -i vstup.txt > vystup.txt 2>&1

C-shell, Tcsh:

  /opt/Fluent.Inc/bin/fluent -g -i vstup.txt >& vystup.txt

Pro skutečné odsunutí úlohy na pozadí je třeba ještě na konec příslušné řádky přidat znak &, který zajistí uvolnění řádky, aby se šlo potom i odlogovat. Na počítačích Altix a Rex však pro spouštění úloh na pozadí používejte dávkový systém PBS - viz dále.

Neinteraktivní dávkové spuštění - PBS

Delší výpočty je nutné spouštět neinteraktivně prostřednictvím existujících front systému PBS. Podrobnější popis o tomto systému s dalšími odkazy lze nalézt na této stránce. V zásadě je potřeba vytvořit soubor s informacemi pro dávkové spuštění příslušné úlohy. Tento soubor obsahuje direktivy pro PBS, které jsou uvozeny výrazem #PBS. Tyto direktivy určují, do jaké fronty se úloha umístit, kolik potřebuje procesorů a paměti, atp. Za direktivamy se nachází tělo scritu pro spuštění úlohy.

Proto musí být korektním spustitelným skriptem, tzn. na první řádce by měl obsahovat odkaz na shell (příkazový interpreter), který bude daný skript provádět. Příklad následuje:


#!/bin/bash
#PBS -S /bin/bash
#PBS -q paralel8
#PBS -N data
#PBS -j oe
#PBS -M user@cvut.cz
#PBS -m bae
#PBS -l ncpus=6,mem=20GB,walltime=150:00:00
echo "Starting run at: `date`"
/opt/fluent/63/Fluent.Inc/bin/fluent 3d -g -t6 < /home/user/uloha1/data.in> /home/user/uloha1/data.out
echo "Job finished at: `date`"

Vysvětlivky:

Po vytvoření tohoto souboru jej lze potom umístit do fronty dávkového systému PBS pomocí příkazu qsub:


  /qsub uloha.cmd

Pomocí příkazu qstat lze pak sledovat, jestli se daná úloha dostala vůbec do nějaké fronty, jestli již běží nebo ještě čeká na volný uzel. Příkaz qdel může posloužit pro ukončení nějaké neposlušné úlohy, která se na něčem zadrhla a zbytečně blokuje výpočetní prostředky.

Paralelní běh

Paralelní spuštění Fluentu se díky archytektuře systémů SGI altix provádí podobně jako sériové. Počet vláken je třeba přizpůsobit charakteru úlohy. Výpočet na výce jak 4 procesorech však bývá pro většinu úloh neefektivní.

Pro paralelní výpočet je nutné nejprve rozdělit síť na jednotlivé části, např. pomocí položky v menu Grid - Partition (lze to i již během vytváření geometrie v Gambitu). Potom je třeba uložit soubory CAS a DAT a při následném spuštění z příkazové řádky je nutné specifikovat příslušný počet procesů pomocí parametru -t. K tomu vhodné použít parametr -p určující typ komunikace mezi jednotlivými procesy:


  /opt/Fluent.Inc/bin/fluent 3d -g -t2 -psmpi -i data.in2 


  -pnet  Socket interface

  -psmpi Shared memory MPI

  -pvmpi Vendor MPI

Pokud není použit parametr -p, je vybrán nějaký výkonově nejefektivnější způsob komunikace.

Dokumentace

Při interaktivním spuštění Fluentu je k dispozici online nápověda, která odpovídá i tištěné verzi aktuálních manuálů. Elektronickou verzi těchto dokumentů lze momentálně také nalézt na adrese:
http://man.fsid.cvut.cz
Papírové verze manuálů jsou k zapůjčení u Karla Petery z fakulty strojní.

Další poznámky

Gambit, PreBFC, ...

Na počítačích Altix nejsou grafické preprocesory pro vytvoření geometrie a sítě instalovány. Předpokládá se, že uživatel si preprocesing zajistí jinde - např. na počítačích SGI O2 v Výpočetním centru ČVUT, nebo na vlastním pracovišti.

Geometrii a síť lze vytvořit pomocí programu Gambit. Pro generování sítě a okrajových podmínek lze však obecně použít i jiného preprocesoru: například Patran, který je spolu s Gambitem nainstalován na stanicích SGI O2. Gambit lze jej spouštět s řadou parametrů, z nichž jedním může být název souboru (jejich seznam lze vypsat pomocí parametru -help).

Historicky se s Fluentem ještě dodává preprocesor preBFC, který je však jen pro silnější povahy - práce s ním je založena na příkazové řádce a složitější geometrie se v něm vytváří velice těžko.

Starší grafický preprocesor Geomesh již není podporován.

Kontakt

Ohledně vysvětlení věcí týkajících se Fluentu můžete kontaktovat Karla Peteru z Fakulty strojní, s dotazy týkajícími se vlastních počítačů IBM SP, SP2 a Altix se obracejte na pracovníky Výpočetního centra ČVUT.

Aplikační prog. vybavení