Python i Fluent: Harmonia Mocy i Elegancji
Rys. 1. PyAnsys umożliwia interakcję z różnymi modułami z wykorzystaniem języka Python
Dla PyFluent udostępniono użytkownikom:
- repozytorium GitHub – https://github.com/ansys/pyfluent
- dokumentację – https://fluent.docs.pyansys.com/version/stable
- kompleksowe przykłady – https://fluent.docs.pyansys.com/version/stable/examples
- cheat sheet – https://developer.ansys.com/blog/pyfluent-cheat-sheet
Konfiguracja środowiska
Rys. 2. Ansys Python Manager - aplikacja ułatwiająca konfigurację środowiska
Rys. 3. Jupyter Notebook
PyFluent
PyFluent został podzielony na 3 pakiety (rys. 4):
- Core: zapewnia dostęp do podstawowych funkcjonalności Fluenta, takich jak Meshing, Solver, podstawowy Post-Processing.
- Visualization: obejmuje zaawansowany postprocessing, wizualizację i obróbkę danych przy użyciu bibliotek takich jak PyVista i Matplotlib.
- Parametric: umożliwia obsługę wbudowanego we Fluencie narzędzia do analiz parametrycznych
Rys. 4. Pakiety PyFluent
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
- 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. - 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. - Automatyczne generowanie raportów
Istnieje możliwość wykorzystania bibliotek takich jak python-ppt, do automatycznego generowania raportu z przeprowadzonej symulacji w formie pliku PowerPointa. - 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. - 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. - 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.