Python i Fluent: Harmonia Mocy i Elegancji

PyFluent jest częścią pyAnsys (rys. 1), czyli zestawu open-source’owych pakietów, umożliwiających interakcję z Fluentem, MAPDL, AEDT i innymi produktami Ansys przy użyciu języka Python. Język ten jest obecnie często stosowany w analizie danych, obliczeniach naukowych i technicznych, cechuje się aktywną społecznością i posiada liczne biblioteki m. in. do wizualizacji czy uczenia maszynowego.

Rys. 1. PyAnsys umożliwia interakcję z różnymi modułami z wykorzystaniem języka Python

Ze względu na fakt, że PyAnsys jest projektem open-source, wiele cennych zasobów jest dostępnych na platformie GitHub. Udostępniane są kody źródłowe, dokumentację, a także informacje dotyczące prowadzonych zgłoszeń technicznych.

Dla PyFluent udostępniono użytkownikom:

Konfiguracja środowiska

Do instalacji pakietów PyAnsys i konfiguracji wirtualnych środowisk można skorzystać z Ansys Python Managera (rys. 2) dostępnego pod linkiem https://developer.ansys.com/ansys-python-manager.

Rys. 2. Ansys Python Manager - aplikacja ułatwiająca konfigurację środowiska

Do przygotowania i uruchamiania skryptów można stosować narzędzia takie jak Jupyter (rys. 3), Spyder czy Visual Studio.

Rys. 3. Jupyter Notebook

PyFluent

Obsługa Fluenta z poziomu języka Python ma na celu usprawnienie procesu automatyzacji obliczeń i powtarzalnych czynności. Do tej pory do automatyzacji we Fluencie stosowane były komendy journalowe TUI. Żeby dodać do nich np. pętle, konieczne było korzystanie z języka Scheme. PyFluent jest alternatywą względem komend journalowych TUI i pozwala na pisanie skryptów w Pythonie.

PyFluent został podzielony na 3 pakiety (rys. 4):

  1. Core: zapewnia dostęp do podstawowych funkcjonalności Fluenta, takich jak Meshing, Solver, podstawowy Post-Processing.
  2. Visualization: obejmuje zaawansowany postprocessing, wizualizację i obróbkę danych przy użyciu bibliotek takich jak PyVista i Matplotlib.
  3. Parametric: umożliwia obsługę wbudowanego we Fluencie narzędzia do analiz parametrycznych

Rys. 4. Pakiety PyFluent

Istnieją dwie metody interakcji z sesją ANSYS Fluent przy użyciu poleceń PyFluent. Jedną z nich jest TUI API, a drugą – Settings API (rys. 5).

TUI API jest analogiczny do poleceń TUI używanych w konsoli; wszystkie operacje, od siatkowania po postprocessing, mogą być nimi kontrolowane. Jeśli istnieje polecenie TUI dla danej operacji w Fluent, to istnieje odpowiednie polecenie TUI API dla tej operacji w PyFluent.

Interfejs Settings API jest z kolei analogiczny do interfejsu graficznego.

Rys. 5. TUI API vs Settings API

Przykładowe zastosowania pyFluenta

  1. Budowanie bazy skryptów i automatyzacja pracy
    Jeżeli pracujemy na powtarzalnych przypadkach, różniących się np. liczbą wlotów albo warunkiem brzegowym, możemy przygotować skrypty zastępujące wybrane operacje. Skrypty można uogólnić korzystając z operacji logicznych w języku Python. Przykładowo ustawienia mogą być wprowadzane dla wszystkich powierzchni, których nazwa spełnia dany warunek.
  2. Dodatkowa logika
    Do skryptów można dopisać logikę, na przykład modyfikacja warunku brzegowego, aby określony cel został spełniony. Przykładowo sterujemy prędkością obrotową wirnika tak, żeby uzyskać pożądaną wartość momentu obrotowego.
  3. Automatyczne generowanie raportów
    Istnieje możliwość wykorzystania bibliotek takich jak python-ppt, do automatycznego generowania raportu z przeprowadzonej symulacji w formie pliku PowerPointa.
  4. Zaawansowany post-processing
    Dostępne są zaawansowane biblioteki do przetwarzania danych, takie jak Plotly, mplot3d czy NumPy. Umożliwiają efektywne tworzenie efektownych wizualizacji oraz wysoce wydajną obróbkę danych z pojedynczej czy wielu symulacji.
  5. Machine Learning
    Model jest trenowany z wykorzystaniem danych z Fluenta, a Python nadzoruje proces uczenia. W trakcie szkolenia, w tle wywoływany jest Fluent z odpowiednimi parametrami. W tego typu implementacjach powszechnie stosowane są biblioteki, takie jak TensorFlow czy scikit-learn.
  6. Aplikacje
    Możliwe jest tworzenie aplikacji z uproszczonym interfejsem graficznym, w ramach którego użytkownik wprowadza jedynie podstawowe parametry wejściowe, np. wymiary geometryczne czy warunki brzegowe. Pozostałe czynności, takie jak tworzenie modelu, generowanie siatki, ustawienia solwera oraz przeprowadzanie obliczeń, są wykonywane automatycznie w tle, bez konieczności ingerencji użytkownika.

To tylko niektóre z możliwych zastosowań pakietu pyFluent. Zachęcamy do obserwowania naszych mediów społecznościowych bądź kontaktu bezpośrednio z nami jeśli są Państwo zainteresowani konkretnymi przykładami.

Obserwuj nas

linkedin-button
facebook-button
youtube-button