Lista komunikatów o błędach¶
Na tej stronie uporządkowano reprezentatywne komunikaty o błędach wyprowadzane przez FrontISTR według kategorii i przedstawiono tabelę referencyjną z prawdopodobnymi przyczynami oraz kierunkami działań naprawczych. Nie obejmuje ona wszystkich komunikatów wewnętrznych; koncentruje się na komunikatach często spotykanych podczas używania hecmw_part1 i fistr1.
Po wyświetleniu komunikatu najpierw sprawdź, czy ma on kod, i zidentyfikuj jego prefiks. Następnie użyj tabeli odpowiedniej kategorii, aby określić, czy należy sprawdzić plik wejściowy, siatkę, element, solver, kontakt, zbieżność czy ustawienia pamięci.
Jak czytać komunikaty¶
Komunikaty FrontISTR obejmują komunikaty kodowane pochodzące z biblioteki HEC-MW oraz komunikaty bez kodu wyprowadzane bezpośrednio przez fistr1. W przypadku komunikatów kodowanych prefiks wskazuje moduł źródłowy i poziom ważności.
| Format | Przykład | Sposób odczytu |
|---|---|---|
| HECMW-XXX-EYYYY | HECMW-IO-E1014 | Błąd z biblioteki HEC-MW. XXX identyfikuje podmoduł, E oznacza Error, a YYYY jest numerem komunikatu. |
| HECMW-XXX-WYYYY | HECMW-PART-W0401 | Ostrzeżenie z biblioteki HEC-MW. W oznacza Warning. |
| Brak kodu | Number of substeps reached max number |
Wyprowadzany głównie bezpośrednio przez fistr1 poprzez STOP, call hecmw_abort, write(*,*) i podobne ścieżki. |
Liczby lub ciągi wyświetlane na końcu komunikatu mogą być informacjami czasu wykonania, takimi jak nazwa pliku, numer materiału, numer elementu, numer podkroku lub flaga wewnętrzna. Końcowe wartości tego samego reprezentatywnego komunikatu mogą się różnić między przypadkami analizy.
Błędy interpretacji danych wejściowych¶
Błędy interpretacji danych wejściowych występują podczas odczytu plików sterujących, danych siatki, definicji materiałów, specyfikacji restartu i podobnych danych. Dla tego rodzaju błędu sprawdź nazwę pliku, nazwę słowa kluczowego, nazwę materiału i nazwę grupy odczytywane bezpośrednio przed błędem.
| Komunikat lub kod | Główna przyczyna | Zalecane działanie |
|---|---|---|
Cannot open FSTR control file |
Nie można otworzyć pliku sterującego ani pliku wejściowego wskazanego przez !INCLUDE. |
Sprawdź katalog uruchomienia, nazwę pliku, ścieżkę względną i uprawnienia dostępu. |
material property not defined! |
Materiał używany w analizie nie został zdefiniowany przez !MATERIAL. |
Uzgodnij nazwę materiału wskazaną przez !SECTION z nazwą !MATERIAL w pliku sterującym lub danych siatki. |
Error in material property definition! |
ID materiału, liczba definicji materiałów lub zależności między odwołaniami są niespójne. | Sprawdź numer materiału, liczbę definicji materiałów i odwołania z !SECTION. |
ERROR: Material type not supported |
Dla słowa kluczowego materiału określono nieobsługiwane TYPE. |
Dla !ELASTIC, !HYPERELASTIC, !PLASTIC i !VISCOELASTIC sprawdź odpowiadające im TYPE. |
We cannot deal with incompressible material currently |
Określono materiał całkowicie nieściśliwy ze współczynnikiem Poissona równym 0.5. | Zmień współczynnik Poissona na wartość mniejszą niż 0.5 i w razie potrzeby sprawdź sformułowanie elementu. |
Mohr-Coulomb and Drucker-Prager do not support temperature dependency |
Dla modelu Mohr-Coulomba lub Druckera-Pragera określono tabelę zależną od temperatury. | Użyj definicji bez zależności temperaturowej albo wybierz model materiałowy obsługujący zależność od temperatury. |
Multilinear hardening: Error in plastic strain definition |
Odkształcenie plastyczne dla wieloliniowego umocnienia nie jest zdefiniowane monotonicznie. | Ustaw pierwsze odkształcenie plastyczne na 0 i popraw tabelę tak, aby odkształcenie plastyczne rosło. |
HECMW-IO-E1012 Element doesn't have section |
Elementowi nie odpowiada żadna informacja o sekcji. | Sprawdź specyfikację grupy elementów w !SECTION oraz grupy elementów w siatce. |
HECMW-IO-E1013 Cannot set section |
Sekcji nie można przypisać do elementu. | Sprawdź spójność typu sekcji, nazwy materiału i nazwy grupy elementów. |
HECMW-IO-E1014 No nodes defined |
Brak definicji węzłów. | Sprawdź, czy dane siatki zawierają blok węzłów. |
HECMW-IO-E1015 No elements defined |
Brak definicji elementów. | Sprawdź, czy dane siatki zawierają blok elementów. |
HECMW-UTIL-E0040 !RESTART: Invalid token in control file |
Składnia !RESTART jest niepoprawna. |
Sprawdź separatory, nazwy parametrów i wartości w wierszu !RESTART. |
HECMW-UTIL-E0041 !RESTART: Missing NAME |
!RESTART nie zawiera NAME. |
Określ nazwę danych restartu. |
HECMW-UTIL-E0042 !RESTART: Missing IO |
!RESTART nie zawiera IO. |
Dodaj specyfikację odczytu/zapisu. |
Błędy siatki i elementów¶
Błędy siatki i elementów występują, gdy niewłaściwa jest kombinacja typu elementu i funkcji, węzłów referencyjnych, lokalnego układu współrzędnych lub typu elementu używanego dla powierzchni kontaktowej. Sprawdź nie tylko składnię wejściową, lecz także jakość kształtu elementów i kolejność węzłów.
| Komunikat | Główna przyczyna | Zalecane działanie |
|---|---|---|
##Error: This element type is not supported in contact analysis !!! |
Dla powierzchni kontaktowej określono typ elementu nieobsługiwany w analizie kontaktowej. | Sprawdź typ elementu używany dla powierzchni kontaktowej i definicję powierzchni. Sprawdź, czy na powierzchni kontaktowej nie są używane elementy wyższego rzędu lub specjalne. |
Bad reference for beam element! |
Węzeł referencyjny lub kierunek referencyjny elementu belkowego jest niepoprawny. | Sprawdź węzeł referencyjny elementu belkowego, lokalny układ współrzędnych i nakładające się węzły. |
Fail to setup local coordinate |
Nie można skonstruować lokalnego układu współrzędnych elementu. | Sprawdź zapadniętą geometrię elementu, kolejność węzłów, zduplikowane węzły i referencyjny układ współrzędnych. |
Niepowodzenie konfiguracji lokalnego układu współrzędnych zależy nie tylko od wartości wejściowych, lecz także od jakości siatki. W szczególności sprawdź bardzo małe elementy, elementy o polu lub objętości bliskiej zeru oraz elementy z odwróconą kolejnością węzłów.
Błędy związane z solverem¶
Błędy związane z solverem występują wskutek niepoprawnych ustawień solvera liniowego, niepowodzeń faktoryzacji w metodzie bezpośredniej, osobliwości macierzy, braku połączenia z bibliotekami zewnętrznymi i podobnych przyczyn. Sprawdź, czy dziennik bezpośrednio przed zatrzymaniem analizy zawiera informacje o metodzie iteracyjnej, metodzie bezpośredniej, stopniach swobody kontaktu, MPC lub elementach pokrewnych.
| Komunikat | Główna przyczyna | Zalecane działanie |
|---|---|---|
ERROR ordering option for direct solver out of range |
Specyfikacja porządkowania dla solvera bezpośredniego jest poza zakresem. | Sprawdź ustawienie porządkowania solvera bezpośredniego w !SOLVER. |
ERROR in symb. fact. flag: Should be 1 or 0 |
Flaga faktoryzacji symbolicznej nie ma wartości 0 ani 1. | Sprawdź określoną wartość wewnętrznej flagi solvera bezpośredniego. Użytkownik zwykle nie zmienia tego ustawienia bezpośrednio. |
ERROR in numer. fact. flag: Should be 1 or 0 |
Flaga faktoryzacji numerycznej nie ma wartości 0 ani 1. | Sprawdź określoną wartość wewnętrznej flagi solvera bezpośredniego. |
ERROR in nufct0. ir = |
Faktoryzacja numeryczna w metodzie bezpośredniej zakończyła się niepowodzeniem. | Sprawdź niewystarczające więzy, mody ruchu bryły sztywnej, nieprawidłowe stałe materiałowe, warunki kontaktu i warunki MPC. |
error in nusol0. irr = |
Podstawienie wsteczne w metodzie bezpośredniej zakończyło się niepowodzeniem. | Podobnie jak przy niepowodzeniu faktoryzacji numerycznej sprawdź, czy układ liniowy nie jest osobliwy lub niespójny. |
METIS not available |
Określono porządkowanie oparte na METIS, ale kompilacja nie zawiera obsługi METIS. | Zmień ustawienie na takie, które nie używa METIS, albo przebuduj z obsługą METIS. Informacje o bibliotekach zależności zawiera Wymagane i opcjonalne biblioteki zależności. |
Faktoryzacja metodą bezpośrednią może zakończyć się niepowodzeniem nie tylko z powodu ustawień solvera, ale też z powodu ruchu bryły sztywnej modelu, niewystarczających więzów, zduplikowanych więzów, skrajnych stałych materiałowych lub niespójnych warunków kontaktu. Sprowadzenie więzów i obciążeń do prostego przypadku i sprawdzenie, czy układ liniowy można rozwiązać w minimalnej konfiguracji, może pomóc odizolować przyczynę.
Błędy analizy kontaktowej¶
Błędy analizy kontaktowej występują wskutek niespójności między parami kontaktowymi i grupami powierzchni, osobliwości geometrycznych podczas wyszukiwania kontaktu, niedopasowanych typów elementów powierzchniowych lub niewystarczającej pamięci do wyszukiwania kontaktu. W przypadku błędów kontaktu sprawdź nazwy grup slave i master, typ elementu powierzchni kontaktowej, penetrację początkową oraz kierunek normalny powierzchni kontaktowej.
| Komunikat | Główna przyczyna | Zalecane działanie |
|---|---|---|
Inconsistence in contact and surface definition |
Grupa powierzchni lub para kontaktowa wskazana przez !CONTACT albo !EMBED jest niespójna. |
Sprawdź nazwę pary kontaktowej, nazwę grupy powierzchni oraz istnienie grup węzłów i powierzchni. |
error in contact state |
Dane stanu kontaktu nie wskazują poprawnej powierzchni kontaktowej. | Sprawdź definicję powierzchni kontaktowej, początkowy stan kontaktu i krok, w którym para kontaktowa jest aktywowana. |
Math error in contact searching |
Podczas projekcji punktu kontaktu wystąpił stan osobliwy. | Sprawdź geometrię powierzchni kontaktowej, rozmieszczenie węzłów, penetrację początkową i skrajne odkształcenie. |
Error in calculate DispIncreMatrix |
Nie można obliczyć macierzy przyrostu przemieszczenia na powierzchni kontaktowej. | Sprawdź, czy geometria elementu powierzchni kontaktowej nie uległa zapadnięciu i czy kolejność węzłów jest poprawna. |
Error: cal_node_normal: invalid isin / Error: cal_node_normal: invalid isin_n |
Podczas obliczania normalnej w węźle węzeł nie znajduje się w oczekiwanym położeniu na powierzchni kontaktowej. | Sprawdź definicję powierzchni, orientację powierzchni kontaktowej i specyfikację slave/master. |
type of surface element not defined |
Nie można zidentyfikować typu elementu powierzchniowego. | Sprawdź typ elementu i numer ściany określony dla powierzchni kontaktowej. |
Allocation error: bktdb%buckets |
Nie udało się przydzielić pamięci dla tablicy kubełków używanej w wyszukiwaniu kontaktu. | Sprawdź liczbę powierzchni kontaktowych, gęstość siatki, liczbę poddomen i dostępną pamięć. |
Jeśli błąd związany z kontaktem pojawia się bezpośrednio po odczytaniu danych wejściowych, głównym kandydatem jest niedopasowanie nazw par kontaktowych lub grup powierzchni. Jeśli pojawia się podczas iteracji nieliniowych, powierzchnia kontaktowa mogła ulec silnemu zniekształceniu, penetracja początkowa może być zbyt duża albo przyrost czasu może być zbyt duży.
Wskazówki dotyczące wyboru typów kontaktu i algorytmów kontaktu znajdują się w Kontakt i osadzanie.
Błędy zbieżności i cutback¶
Błędy zbieżności i cutback występują, gdy w nieliniowej analizie statycznej nie można przejść do następnego podkroku. Typowe przyczyny obejmują nawiązanie lub rozdzielenie kontaktu, szybki rozwój uplastycznienia, duże odkształcenie, niespójne więzy i nadmiernie duże przyrosty obciążenia.
| Komunikat | Główna przyczyna | Zalecane działanie |
|---|---|---|
Number of successive cutback reached max number |
Powtarzające się cutback spowodowane niepowodzeniami zbieżności osiągnęły maksymalną liczbę kolejnych niepowodzeń. | Zmniejsz początkowy przyrost czasu. Sprawdź współczynnik redukcji cutback i limit kolejnych niepowodzeń w AUTOINC_PARAM. Sprawdź poprawność kontaktu, materiału i warunków brzegowych. |
Number of substeps reached max number |
Maksymalna liczba podkroków została osiągnięta przed zakończeniem kroku. | Zwiększ SUBSTEPS. Zmniejsz przyrost obciążenia lub czasu. Dodaj czasy wyjściowe albo podziel krok w chwilach, w których nieliniowość zmienia się gwałtownie. |
Gdy zbieżność nie zostaje osiągnięta, samo zwiększenie maksymalnej liczby iteracji solvera może nie usunąć przyczyny źródłowej. Stopniowe przykładanie obciążenia i sprawdzenie odtwarzalności przy uproszczonych warunkach kontaktu lub nieliniowości materiałowej może pomóc odizolować przyczynę.
Błędy warunków brzegowych¶
Błędy warunków brzegowych występują, gdy specyfikacja w pliku sterującym narusza ograniczenie funkcjonalne. W przypadku obrotowych warunków brzegowych użycie specyfikacji wartości całkowitej w taki sam sposób jak dla więzu przemieszczenia powoduje błąd.
| Komunikat | Główna przyczyna | Zalecane działanie |
|---|---|---|
Error: rotational boundary cannot be specified with total value |
Dla więzu obrotowego użyto specyfikacji wartości całkowitej (TOTAL=YES). |
Dla więzów obrotowych użyj specyfikacji przyrostowej. Zmień definicję warunku brzegowego tak, aby pominąć TOTAL=YES. |
fstr control file error : !BOUNDARY : rotational boundary cannot be specified with total value |
To samo naruszenie ograniczenia wykryto podczas odczytu pliku sterującego. | Sprawdź wiersz więzu obrotowego w !BOUNDARY i specyfikację TOTAL. |
Więzy obrotowe i obciążenia obrotowe zależą także od typu elementu i konfiguracji stopni swobody. Przy używaniu elementów z obrotowymi stopniami swobody, takich jak belki i powłoki, sprawdź zarówno numer stopnia swobody warunku brzegowego, jak i docelową grupę węzłów.
Błędy dekompozycji domeny (hecmw_part1)¶
Błędy z hecmw_part1 są wyprowadzane jako kody rozpoczynające się od HECMW-PART. W przypadku dekompozycji domeny sprawdź kolejno obecność pliku wejściowego, wymagane parametry !PARTITION, ograniczenia metody partycjonowania i liczby domen oraz spójność pliku part określonego przez użytkownika.
| Zakres kodów lub kod reprezentatywny | Główna przyczyna | Zalecane działanie |
|---|---|---|
| HECMW-PART-E0001–E0006 | Podstawowe błędy związane z operacjami na plikach, nazwami plików, EOF lub argumentami. | Sprawdź, czy wskazany plik istnieje, długość nazwy pliku, koniec pliku wejściowego i argumenty polecenia. |
| HECMW-PART-E0101 | Plik sterujący zawiera niepoprawny token. | Sprawdź składnię wiersza !PARTITION i wiersza specyfikacji kierunku partycjonowania. |
HECMW-PART-E0111 'TYPE' must not be omitted |
TYPE nie jest określone. |
Określ typ partycjonowania, na przykład !PARTITION, TYPE=NODE-BASED. |
HECMW-PART-E0121 'METHOD' must not be omitted |
METHOD nie jest określone. |
Określ METHOD=RCB, METHOD=PMETIS, METHOD=KMETIS albo inną właściwą metodę. |
HECMW-PART-E0131 'DOMAIN' must not be omitted |
Liczba domen nie jest określona. | Ustaw DOMAIN na dodatnią liczbę całkowitą odpowiadającą liczbie procesów MPI. |
HECMW-PART-E0134 'METHOD' is 'RCB', but 'DOMAIN' is not n-th power of 2 |
Przy metodzie RCB liczba domen nie jest równa \(2^n\). | Podczas używania RCB ustaw liczbę domen na \(2^n\). Jeśli wymagana jest dowolna liczba domen, rozważ metodę opartą na METIS. |
| HECMW-PART-E0201–E0206 | Typ partycjonowania, metoda partycjonowania, typ elementu, kierunek partycjonowania, liczba domen lub głębokość nakładania jest niepoprawna. | Sprawdź TYPE, METHOD, DOMAIN, DEPTH oraz specyfikację kierunku partycjonowania. |
| HECMW-PART-E0301–E0331 | Numer domeny, liczba węzłów, liczba elementów lub liczba sąsiednich domen w danych po podziale jest poza zakresem. | Sprawdź spójność między siatką wejściową, plikiem part określonym przez użytkownika i liczbą partycji. |
| HECMW-PART-E0601–E0606 | Plik part określony przez użytkownika zawiera pustą domenę, niepoprawny format albo niezgodne liczby węzłów, elementów lub domen. | Sprawdź format pliku part i jego spójność z siatką. |
HECMW-PART-W0401 EQUATION_BLOCK not found |
Ostrzeżenie, że nie znaleziono EQUATION_BLOCK. |
Jeśli jest wymagane dla analizy używającej MPC, sprawdź odpowiedni blok. Jeśli nie jest wymagane, wykonanie może być kontynuowane. |
HECMW-PART-W0502 Log file for partitioner already initialized |
Inicjalizację dziennika wywołano więcej niż raz. | Zwykle traktuj to jako ostrzeżenie i sprawdź, czy bezpośrednio po nim nie występuje błąd krytyczny. |
Koncepcję dekompozycji domeny i wybór metod partycjonowania opisano w Dekompozycja domeny. Konkretne procedury wykonania równoległego opisano w przewodniku uruchamiania.
Błędy alokacji pamięci¶
Błędy alokacji pamięci są wyprowadzane, gdy nie można przydzielić tablic lub obszarów roboczych. Zużycie pamięci rośnie dla dużych siatek, modeli z wieloma powierzchniami kontaktowymi, metod bezpośrednich i analiz z wieloma zmiennymi wyjściowymi.
| Komunikat | Główna przyczyna | Zalecane działanie |
|---|---|---|
stop due to allocation error <FSTR_SOLID, TEMPERATURE> |
Nie udała się alokacja tablicy temperatury. | Sprawdź liczbę węzłów, stopnie swobody temperatury, ustawienia naprężeń cieplnych i dostępną pamięć. |
stop due to allocation error <FSTR_SOLID, GL> |
Nie udała się alokacja globalnej tablicy analizy konstrukcyjnej. | Sprawdź rozmiar modelu, liczbę poddomen, typ analizy i pozycje wyjściowe. |
Allocation error: bktdb%buckets |
Nie można przydzielić tablicy kubełków do wyszukiwania kontaktu. | Sprawdź liczbę powierzchni kontaktowych, gęstość siatki, liczbę par kontaktowych i dekompozycję domeny. |
ALLOCATION ERROR, ... |
Nie można przydzielić tablicy roboczej dla metody bezpośredniej lub procesu porządkowania. | Rozważ przejście z metody bezpośredniej na iteracyjną, zmianę liczby poddomen albo zwiększenie przydzielonej pamięci. |
Jeśli podejrzewasz niedobór pamięci, najpierw sprawdź, czy metodę bezpośrednią można zastąpić metodą iteracyjną. Jeśli metoda bezpośrednia jest konieczna, rozważ zmniejszenie rozmiaru modelu, liczby zmiennych wyjściowych, dostosowanie liczby poddomen albo zwiększenie pamięci przydzielonej zadaniu.
Błędy restartu¶
Błędy restartu występują z powodu niepoprawnej składni !RESTART, braku wymaganych parametrów lub niespójności między odczytywanym plikiem a bieżącymi warunkami analizy. Przy korzystaniu z restartu siatka, liczba poddomen, typ analizy i informacje o krokach muszą być zgodne między analizą, która zapisała dane restartu, a analizą, która je odczytuje.
| Kod | Główna przyczyna | Zalecane działanie |
|---|---|---|
HECMW-UTIL-E0040 !RESTART: Invalid token in control file |
Składnia wiersza !RESTART jest niepoprawna. |
Sprawdź nazwy parametrów, separatory i formaty wartości. |
HECMW-UTIL-E0041 !RESTART: Missing NAME |
NAME nie jest określone. |
Określ nazwę danych restartu. |
HECMW-UTIL-E0042 !RESTART: Missing IO |
IO nie jest określone. |
Dodaj specyfikację odczytu/zapisu. |
Jeśli odczyt danych restartu nie powiedzie się, sprawdź nie tylko nazwę pliku restartu, lecz także siatkę, liczbę domen MPI, ustawienia kroków i wersję restartu podczas zapisu i odczytu. Przegląd funkcji restartu znajduje się w Wyjście i restart.
Tematy powiązane¶
- Solver i prekondycjonowanie — Informacje pomocne przy błędach związanych z solverem.
- Dekompozycja domeny — Informacje pomocne przy błędach związanych z
hecmw_part1. - Wyjście i restart — Sprawdzanie specyfikacji restartu i plików wyjściowych.
- Wymagane i opcjonalne biblioteki zależności — Biblioteki zależności, takie jak METIS, oraz ustawienia budowania.