Porównanie z solverami komercyjnymi

PoSMES 1.6.0 · silnik TOMes® 1.0.0 · zestaw weryfikacyjny: 389 testów

Zastrzeżenie, od którego trzeba zacząć Nastran ani Ansys nie zostały uruchomione przy tworzeniu tego dokumentu — nie ma do nich licencji. Każda liczba podana tu jako „wynik Ansysa" byłaby zmyślona, więc takich liczb tu nie ma. Porównanie idzie drogą, którą posługują się same te programy w swoich podręcznikach weryfikacji: przez rozwiązania zamknięte i wartości docelowe NAFEMS, które nie zależą od tego, kto liczy. Wyniki solverów komercyjnych pojawiają się wyłącznie tam, gdzie zostały opublikowane przez ich producentów — zawsze z odnośnikiem do źródła.

1. Wyniki wobec rozwiązań odniesienia

Wszystkie zadania mają geometrię prostopadłościenną, którą generator siatki odwzorowuje dokładnie. Liczby pochodzą z zestawu silnik/verify/porownanie.test.js i odtwarzają się poleceniem node silnik/verify/run.js.

ZadanieWielkośćPoSMESOdniesienieBłądŹródło odniesienia
Test łatyσₓ jednorodne1,000000 MPa1,000000 MPa5·10⁻¹⁵stan jednorodny — ścisły
Belka głęboka NAFEMS FV5pierwsza częstość giętna42,681 Hz42,649 Hz0,07%wartość docelowa NAFEMS
Pręt skrępowany cieplnienaprężenie osiowe−240,000 MPa−240,000 MPa<10⁻¹²σ = −E·α·ΔT
Przewodnictwo ustalonetemperatura w połowie50,000 °C50,000 °C<10⁻¹²profil liniowy
Rezonans harmonicznywzmocnienie amplitudy24,988×25,000×0,05%Q = 1/(2ζ)
Słup ściskanysiła krytyczna257 679 N257 021 N0,26%Euler: π²EI/(2L)²
Skok obciążeniawspółczynnik dynamiczny1,9846×2,0000×0,77%rozwiązanie ścisłe
Wspornik zginanyugięcie końca1,3356 mm1,3547 mm1,41%Timoszenko: PL³/3EI + PL/kGA
Wspornik wirujący (klasa VM54)częstość przy 2865 obr/min104,31 Hz102,61 Hz1,66%Southwell (przybliżenie inżynierskie)
Co z tego wynika Na zadaniach o rozwiązaniu zamkniętym błąd nie przekracza 1,7%, a w czterech przypadkach jest na poziomie dokładności arytmetyki. Podręczniki weryfikacyjne solverów komercyjnych podają na zadaniach tej klasy stosunek wynik/odniesienie w przedziale mniej więcej 0,99–1,01, czyli ten sam rząd zgodności. Na NAFEMS FV5 — zadaniu wybranym przez NAFEMS właśnie dlatego, że odróżnia elementy uwzględniające ścinanie od tych, które je pomijają — trafiamy w wartość docelową z błędem 0,07%.

Czego to porównanie dowodzi, a czego nie

Dowodzi, że sformułowanie i solver liczą poprawnie na zadaniach, dla których istnieje odpowiedź niezależna od programu. Nie dowodzi równoważności funkcjonalnej — o tym jest rozdział 3.

2. Wpływ rzędu elementu — czemu to ważne przy porównywaniu

Ta sama belka NAFEMS FV5 policzona dwoma rodzajami elementu:

ElementStopnie swobodyPierwsza częstośćBłąd wobec NAFEMS
TET4 (liniowy)2 26845,45 Hz+6,6%
TET10 (kwadratowy)7 04742,68 Hz+0,07%

TET4 blokuje się postaciowo i gubi zmiękczenie ścinaniem — wynik ląduje na rozwiązaniu Eulera-Bernoulliego (45,34 Hz), które dla belki tak wysokiej jest zawyżone. Jest to znane zachowanie elementu liniowego, takie samo w każdym programie MES. Do zadań zginanych właściwy jest TET10 i tak też mówi podpowiedź w interfejsie.

Ograniczenie siatkownika, nie solvera Belka o przekroju kwadratowym ma parę postaci giętnych o tej samej częstości. Podział sześcianu na czworościany nie jest symetryczny względem zamiany osi Y i Z, więc siatka sama rozdziela tę parę o kilkanaście procent. Siatkownik heksaedryczny odwzorowałby symetrię dokładnie. Jest to wada generatora siatki, a nie zadania własnego — solver utrzymuje wartości podwójne, co osobno sprawdza zestaw dynamiki wirników.

3. Gdzie poziomy naprawdę się różnią

Zgodność liczbowa na zadaniach wzorcowych nie czyni z PoSMES-a zamiennika Nastrana czy Ansysa. Różnice leżą gdzie indziej i są istotne:

ObszarNastran / AnsysPoSMES
Biblioteka elementówbryłowe, powłokowe, belkowe, prętowe, sprężyny, masy skupione, elementy kontaktowewyłącznie bryłowe TET4, TET10, HEX8 oraz złącza sprężyste
Konstrukcje cienkościenneelement powłokowy — kilka tysięcy stopni swobodytrzeba siatkować bryłowo; blacha 3 mm na 300 mm to dziesiątki tysięcy elementów
Siatkowaniesiatkowniki dopasowane do krzywizny, warstwy przyścienne, siatki heksaedrycznesiatkownik wokselowy — geometria krzywoliniowa wychodzi schodkowa
Przepływy (CFD)pełny zakres: RANS, LES, ściśliwe, wielofazoweprzepływ potencjalny i ośrodek porowaty; reszta w przygotowaniu
Kontaktkontakt ogólny, samokontakt, duże poślizgikontakt węzeł-węzeł z tarciem, małe poślizgi
Wielkość zadaniamiliony stopni swobody, obliczenia równoległe i rozproszonedo ok. 100 tys. bezpośrednio, wyżej gradienty sprzężone; jeden rdzeń w przeglądarce
Weryfikacjapodręczniki z setkami zadań, certyfikaty branżowe389 testów w pakiecie, uruchamialnych u siebie jednym poleceniem
Odpowiedź na pytanie „czy silniki są na podobnym poziomie" Na tym, co PoSMES liczy — tak. Rdzeń obliczeniowy: sformułowanie elementów, faktoryzacja, zadanie własne, całkowanie w czasie i modele materiałowe dają wyniki zgodne z rozwiązaniami zamkniętymi w granicach, w których mieszczą się solvery komercyjne.

Zakres jest natomiast nieporównywalnie węższy. Brak elementów powłokowych i belkowych wyklucza całą klasę konstrukcji cienkościennych — a to jest chleb powszedni obliczeń lotniczych i samochodowych. Siatkownik wokselowy nie nadaje się do geometrii krzywoliniowej z ostrymi wymaganiami na naprężenia w karbie. CFD praktycznie nie ma.

Innymi słowy: dokładność jest porównywalna, możliwości nie są.

4. Jak to sprawdzić samodzielnie

node silnik/verify/run.js

Zestaw wypisuje każdy sprawdzian z wartością obliczoną, wartością odniesienia i błędem względnym. Grupa „Porównanie z rozwiązaniami odniesienia" zawiera zadania z tabeli w rozdziale 1. Solver, którego nie da się sprawdzić na własnym sprzęcie, jest przy odbiorze bezwartościowy — dlatego zestaw jest częścią pakietu, a nie materiałem reklamowym producenta.

Źródła