Łączenie się z ANSYSem

ANSYS udostępnia swoje API do zdalnego wykonywania operacji. Pokażemy jak skonfigurować połączenie.

Co chcemy osiągnąć?

ANSYS udostępnia swoje API do zdalnego wykonywania operacji. Działanie to jest możliwe dzięki uruchomieniu serwera gRPC. Opiszemy, jak skonfigurować takie połączenie i uruchomić proste połączenie za pomocą stworzonej w tym celu biblioteki Pythona.

Dzięki takiemu rozwiązaniu możliwe jest wielokrotne wykonywanie tego samego programu, automatyzacja powtarzalnych zadań i przeprowadzanie symulacji bez włączania interfejsu użytkownika.

Kolejnym istotnym aspektem jest segregacja. Możemy wykonać nasz program na innej (potencjalnie słabszej) maszynie. Nie jesteśmy już także ograniczeni przez lokalizację - jedynym zmartwieniem jest przepustowość, która w dzisiejszych czasach nie jest krytycznym problemem.

Wymagania wstępne

Zanim zaczniemy, sprawdźmy, czego potrzebujemy:

APDL (Oprogramowanie ANSYS)

Oczywiście potrzebujemy oprogramowania ANSYS z APDL (ANSYS Parametric Design Language). Musi być ono zainstalowane wraz z licencją.

Czym jest APDL?
Biblioteka języka programowania
image/svg+xml

Będziemy używać języka programowania Python. Obecnie wiele systemów operacyjnych posiada preinstalowany Python lub oferuje gotowe instalatory.

W przypadku korzystania z systemu Windows (lokalny komputer może się różnić od komputera, na którym działa ANSYS) i braku zainstalowanego Pythona, należy rozważyć użycie Conda (wrapper do uruchamiania Pythona).

Należy zainstalować menedżera pakietów pip.

Wiersz poleceń / powłoka

Korzystanie z wiersza poleceń jest niezbędną umiejętnością do uruchamiania skryptów lub programów.

Jeśli nie wiesz jeszcze, jak otworzyć konsolę systemową, przeczytaj kilka stron pomocy/artykułów:

Konsola Windows
Konsola Linux
Konsola MacOS

Uruchomienie serwera gRPC

Musimy uruchomić proces, który będzie obsługiwał wykonywanie APDL na maszynie z ANSYSem.

Aby to zrobić, zlokalizuj, gdzie znajduje się program ANSYS MAPDL i uruchom następujące polecenie w konsoli:

[path to ANSYS executable] -grpc -port 50052

W tym przykładzie dla systemu Windows lokalizacją instalacji może być: C:/Program Files/ANSYS Inc/vXXX (XXX - twoja wersja), więc polecenie wyglądałoby następująco:

C:/Program Files/ANSYS Inc/vXXX/ansys/bin/winx64/ANSYSXXX.exe -grpc -port 50052

Po wykonaniu tej czynności w wierszu poleceń powinien pojawić się następujący tekst:

Start GRPC Server
##############################
### START GRPC SERVER      ###
##############################

Server Executable   : MapdlGrpc Server
Server listening on : 0.0.0.0:50052

Oznacza to, że serwer gRPC został pomyślnie uruchomiony.

Uwagi

❗ Ten serwer gRPC zajmie slot licencji podczas wykonywania.

❗ Może wystąpić błąd, gdy port (50052) jest już zajęty. W takiej sytuacji należy zamknąć proces korzystający z tego portu. Może to być inna instancja serwera gRPC. Jeśli jest to inny program, który używa tego portu, można przypisać inny (zmienić numer 50052 na inny). Uwaga: 50052 jest portem domyślnym.

❗ Twój serwer gRPC działa na tej samej maszynie, ale może nie być dostępny z drugiej, może być kilka powodów, najczęstszym jest to, że zapora blokuje ruch na określonym porcie. Będziemy omawiać takie kwestie w różnych artykułach.

❗ W dalszej części, gdy sesja APDL zostanie zamknięta, serwer gRPC może również zostać zamknięty. Omówimy tę kwestię w innym artykule.

Łączenie przy użyciu Pythona

Zanim napiszemy właściwy program, upewnijmy się, że mamy zainstalowane niezbędne biblioteki na naszym komputerze. Otwórz konsolę i wpisz:

pip install ansys-mapdl-core

Ta czynność zainstaluje pakiet, który pozwala łączyć się i zdalnie uruchamiać polecenia APDL za pomocą języka/poleceń Python.

Teraz otwórz edytor tekstu i utwórz plik run_ansys.py (jeśli chcesz, możesz nazwać go inaczej; pamiętaj tylko aby kończył się rozszerzeniem .py i używaj tej samej nazwy w kolejnych poleceniach konsoli) i wpisz/wklej następującą treść:

from ansys.mapdl.core import Mapdl mapdl = Mapdl("grpc_machine_address", port=50052) print(mqpdl)

Gdzie grpc_machine_address to adres sieciowy maszyny z uruchomionym serwerem gRPC. Jeśli uruchamiasz go lokalnie (na tym samym komputerze), użyj 127.0.0.1; jeśli w sieci lokalnej, użyj lokalnego adresu IP. Bardziej zaawansowane połączenia sieciowe omówimy w innych artykułach.

Gdy plik jest na miejscu, otwórz konsolę, przejdź do lokalizacji pliku (przejdź do bieżącej lokalizacji pliku w konsoli) i uruchom polecenie:

python run_ansys.py

Co powinno skutkować następującym wynikiem:

Product:             ANSYS Mechanical Enterprise
MAPDL Version:       RELEASE  20XX RX           BUILD XX.X
PyMAPDL Version:     Version: X.XX.X

Jeśli otrzymasz ten komunikat, wiesz, że pomyślnie połączyłeś serwer gRPC i program Python. Otwiera to wiele możliwości automatyzacji pracy lub umożliwienia jej wykonywania w środowisku zdalnym.

Teraz nadszedł czas, aby dowiedzieć się, jak wykonywać polecenia APDL za pomocą Pythona - już wkrótce na totalsym.com. Jeśli masz jakieś problemy, skontaktuj się z nami przez e-mail: [email protected].

Uwagi

❗ Możliwe błędy mogą być związane z problemami sieciowymi. Omówimy je w innym artykule.

❗ Istnieje kilka dodatkowych ustawień w inicjowaniu połączenia, które mogą być pomocne. Wszystkie są opisane w dokumentacji API w artykułach pomocy ANSYS: API Reference.