Ansys – mały wstęp do języka APDL

Ansys – kombajn do obliczeń inżynierskich

Ansys to wszechstronny pakiet do obliczeń inżynierskich prowadzonych z wykorzystaniem metody elementów skończonych. Od momentu kiedy po raz pierwszy się z nim zetknąłem, minęło trochę czasu, ale ten program jest solidny jak skała. Klasyczny interfejs Ansysa to powrót do czasów dzieciństwa. GUI przypomina programy rodem z lat 90-tych i praca z nim bywa  momentami równie „komfortowa”. Jest w nim jednak coś, co doceni każdy użytkownik na wyższym stopniu wtajemniczenia. Chodzi o możliwość tworzenia skryptów czy całych wręcz procedur w języku, który zwie się APDL.

Cóż to jest ten APDL?

APDL czyli Ansys Parametric Design Language jest wewnętrznym językiem środowiska Ansysa i jest strukturalnie oparty na Fortranie. Fortran z kolei, pomyślany był jako język dedykowany inżynierom do tworzenia programów obliczeniowych. Na tym polu sprawdza się od lat, więc nic dziwnego, że właśnie na tym języku bazuje APDL. Jakie zatem korzyści płyną ze znajomości APDL-a?

Jeśli spojrzymy na modelowanie numeryczne od strony geometrii obiektu, szczególnie w odniesieniu do pakietu SpaceClaim, to pisanie skryptów wydaje się na pierwszy rzut oka pieśnią przeszłości. Modelowanie bezpośrednie pozwala na natychmiastowe wygenerowanie niemal dowolnego obiektu wraz z uwzględnieniem jego parametryzacji. Dlaczego zatem APDL może być taki interesujący? Otóż nie wszystko w Ansysie czy też podobnych mu programach da się wygenerować za pomocą graficznego interfejsu użytkownika. Przykładowo, tworząc typoszereg modeli gwoździa śródszpikowego, byłoby idealnie mieć procedurę, która w oparciu o wprowadzone parametry tworzy całą geometrię, prowadzi dyskretyzację i realizuje obliczenia. To jest pole do popisu dla osoby tworzącej symulacje z wykorzystaniem wewnętrznego języka środowiska Ansys.

Od czego zacząć?

Przygotowując się do pracy z każdym językiem programowania warto zaopatrzyć się w edytor, który będzie nas wspierał kolorowaniem składni. Dzięki temu nasz kod stanie się dla nas bardziej czytelny a podświetlanie pozwoli łatwo wychwycić błędy literowe w poleceniach – z doświadczenia wiem, że polecenie /CLAER można przez pół godziny czytać jako /CLEAR i poszukiwać błędu w innym miejscu. Podświetlanie eliminuje tego typu przykre niespodzianki, czeskie błędy i inne zmory programisty. W moim przekonaniu najlepszym rozwiązaniem jest darmowy ContextEditor.

Ze strony trzeba pobrać dwa pliki – poza samym programem potrzebujemy jeszcze pliku podświetlenia – AnSys Macros. Plik ten należy wkleić w folderze Highlighters, który znajduje się w folderze programu.

No to jazda!

Mamy zatem wszystko co potrzebne, więc możemy zabrać się do dzieła.
Jak większość programów obliczeniowych, Ansys w wersji Classic (zwany niekiedy „czarnym Ansysem”) składa się z trzech podstawowych modułów: preprocesora, solvera i postprocesora. W celu rozpoczęcia pracy wpisujemy następujące polecenia:

FINISH        !zakończenie poprzedniej analizy
/CLEAR        !wyczyszczenie pliku bazy, usunięcie zmiennych, itd.
/PREP7        !uruchomienie preprocesora

W tym momencie możemy rozpocząć modelowanie geometrii obiektu. Skupmy się jednak we dalszym ciągu na samym APDL-u. Co warto jeszcze wiedzieć? Jak już pokazałem, komentarze wstawiamy poprzedzone wykrzyknikiem. Ten typ komentarza nie będzie widoczny na wyjściu (okienko OUTPUT – czyli to małe, czarne na które zwykle nie zwraca się uwagi, a w którym Ansys wypisuje wszystko co może na zainteresować). Jeśli chcemy by nasze komentarze były jednak widoczne w trakcie pracy programu, to możemy je wstawić za pomocą polecenia:

/COM, nasz komentarz

przy czym jesteśmy tu ograniczeni w swej twórczości do 75 znaków.

Dlaczego warto komentować? Głównie dla siebie – o ile w trakcie pracy wszystko jest dla nas jasne i zmienna wzk1 jest dla nas kompletnie zrozumiała, o tyle za 3 tygodnie nasze działania mogą rozpocząć się od niekończącego się przypominania sobie, co to znaczyło. Zwykle rodzi to frustracje, podnosi spożycie kawy i naraża klawiaturę na zniszczenie.

Oczywiście Context przychodzi nam tutaj z pomocą, chodzi głównie o komentowanie/odkomentowanie większych partii naszego programu – robimy to za pomocą skrótu CTRL+SHIFT+C. Do dobrej praktyki należy także robienie wcięć, które zwiększają czytelność kodu – szczególnie kiedy zaczynamy pisać pętle lub zagnieżdżamy je w sobie. Inną przydatną rzeczą, jest stworzenie na początku pliku krótkiej informacji o tym, co poniższy program robi, kiedy go napisaliśmy, która to wersja, itd.

Read Input from...Gotowe makro wczytujemy w Ansysie za pomocą polecenia wybieranego z górnego paska: FILE -> Read Input from …

Wczytywanie krótszych partii programu może odbywać się poprzez wklejanie kodu do wiersza poleceń, ale może zdarzyć się, że program nie zachowa się tak jak oczekiwaliśmy tego pisząc kod. Sposób ten uznajmy zatem za mniej pewny lub stosujmy go wtedy, kiedy wiemy jak zareaguje nasz ulubiony program.

Tym krótkim wstępem możemy zaczynać przygodę z językiem APDL.

Powodzenia!

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *