fdsrun

Najczęstsze błędy w pliku .fds i jak je poprawić

Redakcja fdsrun · · 7 min czytania

Brak &TAIL, nachodzące siatki, czujniki poza domeną, odwołania do nieistniejących SURF: lista błędów, które zatrzymują FDS albo psują wyniki.

Większość nieudanych obliczeń FDS kończy się nie na fizyce, tylko na pliku wejściowym: brakującym ukośniku, siatce eksportowanej dwa razy albo czujniku, który po zmianie geometrii wylądował poza domeną. Część takich błędów zatrzymuje FDS od razu, część pozwala mu liczyć godzinami i psuje wyniki. Poniżej najczęstsze z nich, w kolejności od najgroźniejszych.

Błędy, które zatrzymują FDS

Niezamknięta grupa (brak „/”)

Każda grupa zaczyna się od &NAZWA i kończy ukośnikiem /. Brak ukośnika — często przy ręcznej edycji albo przy nieparzystej liczbie apostrofów w tekście — sprawia, że FDS czyta kolejne linie jako część tej samej grupy.

&SURF ID='BURNER', HRRPUA=500.0, COLOR='RED'      ← brak /
&OBST XB=0,1,0,1,0,0.5, SURF_ID='BURNER' /

Brak &HEAD z CHID albo niedozwolone znaki

CHID nadaje nazwę wszystkim plikom wynikowym. Powinien zawierać tylko litery, cyfry, _ i -, bez spacji i kropek: &HEAD CHID='hala_wariant1' /.

Brak &TAIL na końcu pliku

Ostatnią linią pliku powinno być &TAIL /. Eksport z niektórych narzędzi albo sklejanie plików potrafi ją zgubić.

Odwołanie do nieistniejącego ID

SURF_ID, MATL_ID, RAMP_ID, PROP_ID, CTRL_ID — jeśli wskazują nazwę, której nie zdefiniowano (albo różniącą się wielkością liter), FDS zatrzyma się zaraz po starcie. Typowy scenariusz: zmiana nazwy materiału w jednym miejscu i pozostawienie starej w innym.

Siatka bez poprawnych IJK lub XB

Każda &MESH potrzebuje IJK (liczby komórek w trzech kierunkach) i XB (granice w metrach). Błędna kolejność współrzędnych w XB (np. x2 < x1) daje siatkę o ujemnym wymiarze.

Kolejność MPI_PROCESS

Numery procesów muszą być kolejne i rosnące, zaczynając od 0. Luka (np. 0, 1, 3) albo malejąca kolejność to błąd uruchomienia w trybie MPI.

Błędy, które psują wyniki

Brak T_END

Bez &TIME T_END=… FDS przyjmie domyślnie 1 sekundę symulacji. Obliczenia „przejdą”, ale wynik jest bezużyteczny.

Siatki nachodzące na siebie

FDS dopuszcza nakładanie się siatek — pierwsza w pliku ma wtedy pierwszeństwo. W modelach inżynierskich nakładanie jest jednak prawie zawsze pomyłką (np. siatka wyeksportowana dwa razy albo przesunięta o jedną komórkę), która niepotrzebnie zwiększa liczbę komórek i zaburza wymianę danych między siatkami. Siatki powinny stykać się ścianami.

Niezgodne komórki na styku siatek

Na granicy dwóch siatek komórki powinny mieć ten sam rozmiar albo całkowity stosunek (1:2, ewentualnie 1:3). Stosunki niecałkowite i duże skoki rozdzielczości to częste źródło błędów prędkości na stykach (więcej: rozmiar komórki w FDS).

Czujniki poza domeną

&DEVC z XYZ poza wszystkimi siatkami nie zmierzy niczego. Zdarza się to po zmianie granic siatek, gdy czujniki zostały w starych miejscach — i wychodzi dopiero przy analizie wyników.

Przegrody bez TMP_INNER przy nietypowej temperaturze

Jeśli powietrze w modelu startuje z inną temperaturą niż otoczenie (&INIT), a przegrody nie mają TMP_INNER, ich wnętrze startuje z temperaturą TMPA. Czasem to zamierzone, często — przeoczenie.

Drobiazgi, które warto poprawić

Jak to sprawdzić szybko

Część błędów pokaże FDS po uruchomieniu z T_END=0 (sama inicjalizacja, bez liczenia), a geometrię warto obejrzeć w Smokeview. Szybciej: wgraj plik do bezpłatnego narzędzia fdsrun — wszystkie opisane wyżej problemy sprawdzi w kilka sekund, wskaże numer linii i podpowie poprawkę.

Inne poradniki

Źródła: FDS User Guide (NIST SP 1019), rozdz. 5.6, 6.2, 6.3, 7; doświadczenia fdsrun z analizy plików użytkowników. FDS i Smokeview to oprogramowanie National Institute of Standards and Technology; NIST nie jest powiązany z fdsrun.

Na pewno?