Przejdź do treści

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.

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.

!WRITE,VISUAL
!VISUAL,method=PSR
!surface_num=1
!surface 1
!output_type=VTK

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_count staje 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.

  1. W pierwszym uruchomieniu określ !RESTART, FREQUENCY=n i zapisz plik restartu.
  2. W uruchomieniu wznawiającym analizę określ !RESTART, FREQUENCY=-n.
  3. FrontISTR odczytuje plik restartu przy uruchomieniu, a następnie zapisuje nowy stan co n krokó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.