Wyjście i restart¶
Wyniki analizy istnieją początkowo w pamięci, dlatego do postprocessingu, wizualizacji, odtworzenia i wznowienia muszą zostać zapisane w odpowiednich plikach. Ponieważ format pliku, pozycje wyjściowe i częstotliwość zapisu różnią się zależnie od celu, FrontISTR udostępnia kilka ścieżek wyjścia do różnych zastosowań.
Wyjście FrontISTR składa się z trzech systemów: plików wynikowych zapisujących wartości analizy (!WRITE,RESULT), plików wizualizacji używanych do wizualizacji (!WRITE,VISUAL) oraz plików restartu zapisujących stan analizy (!RESTART). Wielkości fizyczne zawarte odpowiednio w plikach wynikowych i plikach wizualizacji wybiera się za pomocą !OUTPUT_RES i !OUTPUT_VIS.
Przegląd funkcji¶
Ustawienia wyjścia łatwiej uporządkować, rozpatrując osobno następujące trzy osie.
| Oś | Główne dane wejściowe | Rola |
|---|---|---|
| Miejsce docelowe wyjścia | !WRITE,RESULT, !WRITE,VISUAL, !RESTART |
Określa typ pliku, w którym wyniki są zapisywane zgodnie z przeznaczeniem. |
| Zmienne wyjściowe | !OUTPUT_RES, !OUTPUT_VIS |
Określa wielkości fizyczne zawarte w plikach wynikowych lub plikach wizualizacji. |
| Częstotliwość wyjścia | FREQUENCY |
Określa liczbę kroków między kolejnymi zapisami do pliku. |
!WRITE,RESULT włącza pliki wynikowe, a !OUTPUT_RES określa zmienne wyjściowe. !WRITE,VISUAL włącza pliki wizualizacji, a !OUTPUT_VIS określa zmienne przekazywane do wizualizacji. W obu przypadkach odstęp wyjścia można sterować przez FREQUENCY. !WRITE jest pojedynczą kartą, a RESULT / VISUAL / FEMAP mogą współistnieć jako parametry wybierające miejsca docelowe wyjścia.
Linie danych !OUTPUT_RES i !OUTPUT_VIS zawierają nazwy zmiennych wyjściowych oraz ON / OFF. Określenie GROUP pozwala ograniczyć obiekt wyjścia według grupy. Szczegółową składnię wejściową i dostępne linie danych podano w dokumentacji słów kluczowych.
!RESTART zapisuje sam stan analizy, niezależnie od plików wynikowych i plików wizualizacji. Pliki restartu służą do wznowienia analizy z tego samego stanu po przerwaniu.
Wybór wyjścia¶
Najpierw wybierz wyjście odpowiednio do celu, który chcesz sprawdzić. Użyj pliku wynikowego, gdy wartości liczbowe będą wykorzystywane w postprocessingu lub innej analizie, a pliku wizualizacji, gdy kształty lub rozkłady będą sprawdzane za pomocą narzędzia wizualizacyjnego. Jeśli analizę trzeba wznowić po częściowym wykonaniu, włącz plik restartu niezależnie od zwykłego wyjścia wynikowego.
| Cel | Wybrane wyjście | Główne ustawienie |
|---|---|---|
| Zapis wartości analizy do postprocessingu, porównania lub innej analizy | Plik wynikowy | !WRITE,RESULT i !OUTPUT_RES |
| Sprawdzenie rozkładów i odkształconych kształtów w ParaView lub podobnych narzędziach | Plik wizualizacji | !WRITE,VISUAL, !OUTPUT_VIS, !VISUAL |
| Wznowienie długotrwałej analizy po częściowym wykonaniu | Plik restartu | !RESTART |
| Zmniejszenie rozmiaru wyjścia | Wyprowadzanie tylko wymaganych zmiennych | ON / OFF i FREQUENCY w !OUTPUT_RES / !OUTPUT_VIS |
W analizach wielkoskalowych zapisywanie każdego kroku z domyślnymi ustawieniami wyjścia może prowadzić do bardzo dużych plików wynikowych i wizualizacyjnych. Ustaw na ON tylko wymagane wielkości fizyczne, a wielkości zbędne do kontroli na OFF. Jeśli drobnoziarnista historia czasowa nie jest potrzebna, zwiększ FREQUENCY, aby zwiększyć odstęp między zapisami.
Przydatna kolejność wyboru zmiennych wyjściowych to „wielkość fizyczna do sprawdzenia”, „miejsce docelowe wyjścia” i „częstotliwość”. Na przykład, aby sprawdzić rozkład naprężeń w ParaView, włącz pliki wizualizacji i wybierz NSTRESS lub NMISES za pomocą !OUTPUT_VIS. Aby numerycznie przetwarzać siłę kontaktową, włącz pliki wynikowe i wybierz CONTACT_NFORCE lub podobną zmienną za pomocą !OUTPUT_RES.
Dostępne wielkości fizyczne¶
Zmienne wyjściowe dzielą się na wyniki analizy konstrukcyjnej, dynamicznej, cieplnej, kontaktowej, wyniki specyficzne dla elementów oraz metadane identyfikacyjne. Poniższa tabela podsumowuje główne nazwy zmiennych, ich typy i rodzaje analiz, w których są używane. Pełną listę nazw zmiennych i składnię linii danych podano w !OUTPUT_RES i !OUTPUT_VIS.
| Kategoria | Nazwa zmiennej | Typ | Główny typ analizy | Opis |
|---|---|---|---|---|
| Podstawowe wielkości konstrukcyjne | DISP, ROT, REACTION |
Wektor | Analiza statyczna, analiza dynamiczna | Przemieszczenie, obrót i węzłowa siła reakcji. ROT jest poprawne dla elementów z obrotowymi stopniami swobody. |
| Naprężenie | NSTRESS, ESTRESS, ISTRESS |
Tensor symetryczny | Analiza konstrukcyjna | Naprężenie uśrednione w węzłach, naprężenie elementu i naprężenie w punkcie całkowania. |
| Naprężenie von Misesa / naprężenie główne | NMISES, EMISES, PRINC_NSTRESS, PRINC_ESTRESS, PRINCV_NSTRESS, PRINCV_ESTRESS |
Skalar, wektor | Analiza konstrukcyjna | Naprężenie von Misesa, wartości naprężeń głównych i kierunki naprężeń głównych. |
| Odkształcenie | NSTRAIN, ESTRAIN, ISTRAIN |
Tensor symetryczny | Analiza konstrukcyjna | Odkształcenie węzłowe, odkształcenie elementu i odkształcenie w punkcie całkowania. |
| Odkształcenie plastyczne / cieplne | PL_ISTRAIN, PL_ESTRAIN, TH_NSTRAIN, TH_ESTRAIN, TH_ISTRAIN |
Skalar, tensor symetryczny | Nieliniowa analiza konstrukcyjna, analiza naprężeń cieplnych | Równoważne odkształcenie plastyczne i odkształcenie cieplne. |
| Odkształcenie główne | PRINC_NSTRAIN, PRINC_ESTRAIN, PRINCV_NSTRAIN, PRINCV_ESTRAIN |
Skalar, wektor | Analiza konstrukcyjna | Wartości odkształceń głównych i kierunki odkształceń głównych. |
| Analiza dynamiczna | VEL, ACC |
Wektor | Analiza dynamiczna | Prędkość węzłowa i przyspieszenie węzłowe. |
| Analiza cieplna | TEMP |
Skalar | Analiza przewodzenia ciepła | Temperatura węzłowa. W plikach wynikowych i wizualizacyjnych analizy cieplnej jest wyprowadzana jako pole temperatury. |
| Kontakt | CONTACT_NFORCE, CONTACT_FRICTION, CONTACT_RELVEL, CONTACT_STATE, CONTACT_NTRACTION, CONTACT_FTRACTION |
Wektor, skalar | Analiza kontaktowa | Normalna siła kontaktowa, siła tarcia, względna prędkość poślizgu, stan kontaktu i siła kontaktowa na jednostkę powierzchni. |
| Element belkowy | BEAM_NQM |
Wartość 12-składowa | Analiza konstrukcyjna obejmująca elementy belkowe | Siły przekrojowe elementów belkowych. |
| Identyfikacja / stan | NODE_ID, ELEM_ID, SECTION_ID, MATERIAL_ID, ELEMACT, YIELD_RATIO |
Skalar | Analiza konstrukcyjna, wizualizacja | Informacje identyfikacyjne węzłów, elementów, sekcji i materiałów; stan aktywacji elementu; oraz współczynnik uplastycznienia. ELEMACT wyprowadza 1 dla elementów aktywnych i 0 dla elementów nieaktywnych (dezaktywowanych). |
| Informacje pomocnicze powłoki | SHELL_LAYER, SHELL_SURFACE |
Skalar | Analiza konstrukcyjna obejmująca elementy powłokowe | Informacje pomocnicze identyfikujące wyjście warstw powłoki i powierzchnie powłoki. |
Domyślnie DISP, ROT, NSTRESS i NMISES mają wartość ON. To, czy rzeczywiście zostaną wyprowadzone sensowne wartości, zależy jednak od typu analizy, typu elementu, modelu materiałowego i ustawień kontaktu. Na przykład VEL i ACC są używane w analizie dynamicznej, a CONTACT_* wtedy, gdy w analizie kontaktowej generowane są informacje kontaktowe.
Wyjście według warstw powłoki¶
Elementy powłokowe mają wiele punktów całkowania lub warstw w kierunku grubości, dlatego wartości naprężeń i odkształceń mogą różnić się zależnie od warstwy lub powierzchni nawet w obrębie tego samego elementu. Przy użyciu wyłącznie zwykłych wartości uśrednionych w węzłach lub wartości elementowych trudno rozróżnić, do której warstwy lub powierzchni należy dana wartość.
Gdy SHELL_LAYER jest ustawione na ON, wyniki dla stron + i - każdej warstwy powłoki laminowanej są wyprowadzane osobno. Wyprowadzane składowe naprężeń i odkształceń zawierają identyfikatory numeru warstwy i strony powierzchni, co umożliwia ocenę rozkładu naprężeń przez grubość oraz uszkodzeń według warstw.
SHELL_SURFACE jest informacją pomocniczą służącą do identyfikacji powierzchni powłoki, takich jak powierzchnia górna i dolna. Podczas wizualizacji wyników warstw powłoki włącz SHELL_LAYER i wymagane zmienne naprężenia/odkształcenia, a w narzędziu wizualizacyjnym wybierz składową wyniku odpowiadającą docelowej warstwie lub powierzchni.
Ponieważ wyjście według warstw powłoki zwiększa liczbę składowych wyjściowych, rozmiar pliku rośnie dla modeli z wieloma warstwami. Zaleca się ograniczyć wyjście do wymaganych zmiennych naprężenia i odkształcenia.
Miejsca docelowe wyjścia¶
Pliki wynikowe i pliki wizualizacji różnią się przeznaczeniem i formatem przechowywania. W jednej analizie można wyprowadzić oba rodzaje plików albo tylko jeden z nich.
Pliki wynikowe¶
Pliki wynikowe włącza się za pomocą !WRITE,RESULT. Wyniki analizy są zapisywane jako dane wynikowe FrontISTR / HEC-MW i używane do numerycznego postprocessingu lub jako dane wejściowe do innej analizy. Zmienne wyjściowe wybiera się za pomocą !OUTPUT_RES.
!WRITE,RESULT jest także zaimplementowane jako parametr RESULT karty !WRITE i stanowi opcję miejsca docelowego wyjścia obok wizualizacji oraz wyjścia FEMAP.
Pliki wynikowe mogą przechowywać przemieszczenie, naprężenie, odkształcenie, siły reakcji, informacje o kontakcie i inne wielkości analizy konstrukcyjnej, a także pola temperatury dla analizy cieplnej. Odstęp wyjścia według kroków określa FREQUENCY. Konkretne nazwy plików, ich położenie i sposób sprawdzania po wykonaniu opisano w przewodniku uruchamiania.
Pliki wynikowe (rozszerzenie .res) są danymi tekstowymi o następującej strukturze. Najpierw występują wersja formatu i komentarz, następnie zmienne globalne, a na końcu zmienne wyjściowe dla poszczególnych węzłów i elementów.
*fstrresult 2.0
*comment
<wiersz komentarza>
*global
<liczba zmiennych globalnych>
<liczba stopni swobody zmiennych globalnych>
<nazwy zmiennych globalnych>
<wartości zmiennych globalnych>
...
*data
<liczba węzłów> <liczba elementów>
<liczba pozycji danych węzłowych> <liczba pozycji danych elementowych>
<liczba stopni swobody danych węzłowych> ...
<nazwy danych węzłowych>
...
<wartości danych węzłowych>
...
<liczba stopni swobody danych elementowych> ...
<nazwy danych elementowych>
...
<wartości danych elementowych>
...
Pliki dziennika¶
Pliki dziennika (rozszerzenie .log) są plikami podsumowującymi, które są zawsze wyprowadzane po analizie. Oprócz wielkości fizycznych dla poszczególnych węzłów i elementów wyprowadzane są maksymalne/minimalne wartości składowych przemieszczenia, odkształcenia i naprężenia. W analizie modalnej wyprowadzane są wartości własne i wartości wektorów własnych. Parametr LOG karty !WRITE steruje zawartością wyjścia. Nazwy i położenie plików opisano w przewodniku uruchamiania.
Pliki wizualizacji¶
Pliki wizualizacji włącza się za pomocą !WRITE,VISUAL. Konwertują one dane siatki i wyników do formatu przeznaczonego dla narzędzi wizualizacyjnych i zapisują je. Zmienne wyjściowe wybiera się za pomocą !OUTPUT_VIS, a format i warunki wizualizacji określa się przez !VISUAL.
!WRITE,VISUAL nie jest niezależnym słowem kluczowym; jest zaimplementowane jako parametr VISUAL karty !WRITE, przełączający miejsce docelowe wyjścia na tym samym poziomie co !WRITE,RESULT / !WRITE,FEMAP (fstr_ctrl_get_WRITE w fistr1/src/common/fstr_ctrl_common.f90).
Aby włączyć wizualizację, na karcie !VISUAL należy określić co najmniej powierzchnię wizualizacji i format wyjścia. Poniżej przedstawiono minimalny zestaw danych.
Specyfikacji surface_num i !surface nie można pominąć. Szczegółową składnię i dostępne opcje opisano w !VISUAL.
Główne formaty wizualizacji są następujące.
| Format | Zastosowanie |
|---|---|
| VTK | Używany do wizualizacji w ParaView i podobnych narzędziach. |
| AVS (UCD) | Używany do wizualizacji i wymiany danych w formacie AVS / UCD. |
| BMP | Wyprowadza wyniki wizualizacji jako obrazy. |
| NEU | Używany do wymiany danych w neutralnym formacie FEMAP. |
Pliki wizualizacji są łatwiejsze do bezpośredniej obsługi przez narzędzia wizualizacyjne niż pliki wynikowe, ale ich rozmiar rośnie zależnie od wybranego formatu i liczby zmiennych. W modelach wielkoskalowych za pomocą !OUTPUT_VIS włączaj tylko zmienne potrzebne do wyświetlenia.
Restart¶
Restart jest funkcją zapisywania stanu wewnętrznego w punkcie przerwania analizy i wznawiania obliczeń z tego samego stanu przy następnym uruchomieniu. Zwykłe pliki wynikowe służą do postprocessingu, natomiast pliki restartu przechowują stan potrzebny solverowi do kontynuowania obliczeń.
Gdy n w !RESTART, FREQUENCY=n jest dodatnie, plik restartu jest zapisywany w określonym odstępie kroków. Gdy n jest ujemne, istniejący plik restartu jest odczytywany przy uruchomieniu, a następnie nowe pliki restartu są zapisywane z wartością bezwzględną |n| jako odstępem wyjścia.
Dla restartu analizy konstrukcyjnej zapisywane są: bieżący krok, podkrok, skumulowany krok, czas, przyrost czasu, historia obciążenia, przemieszczenie, siła zewnętrzna, naprężenie i odkształcenie w każdym punkcie Gaussa, wewnętrzne zmienne stanu materiału, stan kontaktu i inne dane. Analiza dynamiczna dodatkowo zapisuje stan dynamiczny wymagany do wznowienia całkowania w czasie, w tym prędkość i przyspieszenie, energię odkształcenia, bieżący czas i przyrost czasu. Analiza cieplna zapisuje numer kroku, czas i pole temperatury, a przy odczycie odtwarza pole temperatury jako stan początkowy.
Moment zapisu i zachowanie przy wznowieniu restartu analizy statycznej¶
W przypadku restartu analizy statycznej (fstr_solve_NLGEOM) istnieją dwie ścieżki zapisu, a ich zachowanie przy wznowieniu różni się.
- Zapis w trakcie podkroku: Plik jest zapisywany wewnątrz pętli podkroku, gdy
step_countstaje się wielokrotnościąFREQUENCY. Zapisana informacja o czasie jest przechowywana jako „czas rozpoczęcia bieżącego kroku” i towarzyszy jej lista obciążeń poprzedniego kroku. - Zapis na końcu kroku: Plik jest zawsze zapisywany bezpośrednio po zakończeniu pętli podkroków każdego kroku obciążenia, niezależnie od tego, czy krok jest wielokrotnością
FREQUENCY. Zapisana informacja o czasie jest przechowywana jako „czas zakończenia kroku” i towarzyszy jej lista obciążeń danego kroku.
Podczas odczytu FrontISTR określa, czy krok został zakończony, na podstawie zgodności zapisanych wartości „bieżącego czasu” i „czasu odniesienia” (fstr_read_restart w fstr_Restart.f90).
| Stan w chwili zapisu | Zachowanie przy wznowieniu |
|---|---|
| W trakcie podkroku | Kontynuuje od następnego podkroku tego samego kroku. Dziedziczy pozycję podkroku z chwili zapisu i wykonuje pozostałą część pętli podkroków. |
| Koniec kroku | Rozpoczyna od pierwszego podkroku następnego kroku. Zwiększa cstep o 1, resetuje substep=1, a następnie kontynuuje analizę. |
Dlatego nawet przy tym samym ustawieniu FREQUENCY numer kroku i odniesienie czasowe po wznowieniu różnią się zależnie od momentu zapisu (w trakcie podkroku / na końcu kroku). W szczególności zapis końca kroku jest wykonywany zawsze na końcu każdego kroku, niezależnie od ustawienia FREQUENCY.
Moment zapisu i zachowanie przy wznowieniu restartu analizy dynamicznej¶
Restart analizy dynamicznej historii czasowej również rozróżnia zapis w trakcie podkroku i zapis na końcu kroku. W trakcie podkroku plik jest zapisywany, gdy skumulowana liczba podkroków step_count staje się wielokrotnością FREQUENCY; na końcu kroku plik jest zapisywany na końcu tego kroku niezależnie od FREQUENCY.
Podczas odczytu pozycja wznowienia jest odtwarzana z zapisanego numeru kroku, numeru podkroku i skumulowanej liczby podkroków. Bieżący format (restart_version >= 5) używa nagłówka wspólnego z analizą statyczną i zapisuje bieżący czas, przyrost czasu, statystyki iteracji Newtona oraz stan automatycznego przyrostu. Dzięki temu analiza dynamiczna korzystająca z wielu kart !STEP oraz automatycznego przyrostu/cutback może po restarcie zachować odniesienie czasowe i przyrost czasu. Starsze pliki restartu analizy dynamicznej zachowują częściową zgodność odczytu, ale w nowych analizach należy używać bieżącego formatu.
Zapisywanie kart !STEP dla restartu¶
Podczas wznawiania z restartu FrontISTR odczytuje karty !STEP w pliku cnt jako „sekwencję kroków do wykonania po wznowieniu” i zawsze przetwarza je kolejno od pierwszej (tot_step=1). Numer kroku w wczytanej informacji restartu służy do wyrównania skumulowanego numeru kroku wyświetlanego na ekranie i nie wpływa na sam indeks !STEP w pliku cnt. Ponadto w bieżącym formacie do starttime każdej karty !STEP w pliku cnt podczas odczytu restartu zbiorczo dodawany jest czas odniesienia, dzięki czemu oś czasu jest wyrównana względem czasu restartu jako początku.
Dlatego plik cnt do restartu przygotuj zgodnie z następującą zasadą.
| Sposób przerwania uruchomienia | Zakres kart !STEP, które należy zachować w cnt |
|---|---|
| Zapis w trakcie podkroku (krok nieukończony) | Najpierw zachowaj przerwany krok. Po nim umieść kolejne niewykonane kroki. |
| Zapis na końcu kroku (krok ukończony) | Usuń ukończone kroki i jako pierwszy umieść następny krok do wykonania. |
W obu przypadkach podstawową zasadą jest usunięcie z pliku cnt kroków, które już się zakończyły. Ponieważ czas restartu jest automatycznie dodawany do starttime, w pliku cnt można używać początku w zerze (lub względnych czasów rozpoczęcia kroków). Odwołania takie jak warunki brzegowe i obciążenia należy zachować w pliku cnt tylko dla pozostawionych kart !STEP. Ta sama zasada dotyczy restartu analizy dynamicznej z wieloma kartami !STEP.
Typowy przebieg restartu jest następujący.
- W pierwszym uruchomieniu określ
!RESTART, FREQUENCY=ni zapisz plik restartu. - W uruchomieniu wznawiającym analizę określ
!RESTART, FREQUENCY=-n. - FrontISTR odczytuje plik restartu przy uruchomieniu, a następnie zapisuje nowy stan co
nkroków.
Nazewnictwo i rozmieszczenie plików restartu oraz sposób ich określania przy uruchomieniu opisano w przewodniku uruchamiania. Starsze formaty zachowują częściową zgodność odczytu, ale nowe analizy powinny używać bieżącego formatu.
Tematy powiązane¶
- Uruchamianie szeregowe — Podstawy rozmieszczenia plików i sprawdzania wyjścia podczas wykonywania analizy.
- !OUTPUT_RES, !OUTPUT_VIS — Określanie zmiennych wyprowadzanych do plików wynikowych i plików wizualizacji.
- !WRITE — Włączanie wyjścia plików wynikowych, plików wizualizacji i dziennika oraz określanie częstotliwości wyjścia (parametry
RESULT/VISUAL/LOG/FEMAP). - !VISUAL — Określanie powierzchni wizualizacji i formatów wyjścia (w tym przykład minimalnego zestawu danych).
- !RESTART — Określanie odczytu i zapisu plików restartu.
- Typy analiz — Główne pozycje wyników dla poszczególnych typów analiz.
- Kontakt i osadzanie — Znaczenie wyjścia kontaktowego i obsługa stanów kontaktu.
- Sterowanie krokami — Zależność od kroków wyjścia i punktów czasowych.