Виведення та перезапуск¶
Результати аналізу зберігаються в пам’яті, тому їх потрібно записувати у відповідні файли для постобробки, візуалізації, відновлення та перезапуску. Оскільки формат файлів, склад даних і частота виведення залежать від призначення, FrontISTR надає кілька шляхів виведення для різних цілей.
Виведення FrontISTR складається з трьох систем: файлів результатів, що зберігають значення аналізу (!WRITE,RESULT), файлів візуалізації (!WRITE,VISUAL) і файлів перезапуску, що зберігають стан аналізу (!RESTART). Фізичні величини, які включаються відповідно до файлів результатів і файлів візуалізації, вибираються за допомогою !OUTPUT_RES і !OUTPUT_VIS.
Огляд функцій¶
Налаштування виведення зручніше організовувати, розглядаючи окремо такі три аспекти.
| Аспект | Основні вхідні дані | Призначення |
|---|---|---|
| Місце призначення виведення | !WRITE,RESULT, !WRITE,VISUAL, !RESTART |
Визначає тип файла, у якому зберігаються результати відповідно до їх призначення. |
| Змінні виведення | !OUTPUT_RES, !OUTPUT_VIS |
Визначає фізичні величини, що включаються до файлів результатів або файлів візуалізації. |
| Частота виведення | FREQUENCY |
Визначає кількість кроків між записами у файл. |
!WRITE,RESULT вмикає файли результатів, а !OUTPUT_RES задає змінні виведення. !WRITE,VISUAL вмикає файли візуалізації, а !OUTPUT_VIS задає змінні, передані для візуалізації. В обох випадках інтервал виведення можна керувати параметром FREQUENCY. !WRITE є однією карткою, а RESULT / VISUAL / FEMAP можуть співіснувати як параметри вибору місць призначення виведення.
Рядки даних !OUTPUT_RES і !OUTPUT_VIS містять імена змінних виведення та ON / OFF. Задання GROUP дає змогу обмежити об’єкт виведення певною групою. Конкретний синтаксис вхідних даних і доступні рядки даних див. у довіднику ключових слів.
!RESTART зберігає сам стан аналізу окремо від файлів результатів і файлів візуалізації. Файли перезапуску використовуються для відновлення аналізу з того самого стану після переривання.
Вибір виведення¶
Вибирайте спосіб виведення насамперед відповідно до мети перевірки. Використовуйте файл результатів, якщо числові значення потрібні для постобробки або іншого аналізу, і файл візуалізації, якщо форму чи розподіл потрібно перевіряти засобом візуалізації. Якщо аналіз необхідно продовжити з проміжного стану, окремо від звичайного виведення результатів увімкніть файл перезапуску.
| Мета | Вибране виведення | Основне задання |
|---|---|---|
| Зберегти значення аналізу для постобробки, порівняння або іншого аналізу | Файл результатів | !WRITE,RESULT і !OUTPUT_RES |
| Перевірити розподіли та деформовані форми в ParaView або подібних засобах | Файл візуалізації | !WRITE,VISUAL, !OUTPUT_VIS, !VISUAL |
| Продовжити тривалий аналіз із проміжного стану | Файл перезапуску | !RESTART |
| Зменшити обсяг виведення | Виводити лише потрібні змінні | У !OUTPUT_RES / !OUTPUT_VIS: ON / OFF і FREQUENCY |
У великомасштабних аналізах збереження кожного кроку зі стандартними параметрами виведення може призвести до великих файлів результатів і візуалізації. Установлюйте ON лише для потрібних фізичних величин, а OFF — для величин, непотрібних для перевірки. Якщо детальна часова історія не потрібна, збільште FREQUENCY, щоб зробити інтервал виведення більшим.
Зручний порядок вибору змінних виведення: «фізична величина для перевірки», «місце призначення виведення» і «частота». Наприклад, щоб перевірити розподіл напружень у ParaView, увімкніть файли візуалізації та виберіть NSTRESS або NMISES через !OUTPUT_VIS. Для числової постобробки контактної сили увімкніть файли результатів і виберіть CONTACT_NFORCE або подібну величину через !OUTPUT_RES.
Доступні фізичні величини¶
Змінні виведення поділяються на величини структурного, динамічного, теплового й контактного аналізу, результати, специфічні для елементів, та ідентифікаційні метадані. У таблиці нижче наведено основні імена змінних, типи й види аналізу, у яких вони використовуються. Повний перелік імен змінних і синтаксис рядків даних див. у !OUTPUT_RES і !OUTPUT_VIS.
| Категорія | Ім’я змінної | Тип | Основний вид аналізу | Опис |
|---|---|---|---|---|
| Основні структурні величини | DISP, ROT, REACTION |
Вектор | Статичний аналіз, динамічний аналіз | Переміщення, обертання та вузлова сила реакції. ROT дійсний для елементів з обертальними ступенями свободи. |
| Напруження | NSTRESS, ESTRESS, ISTRESS |
Симетричний тензор | Структурний аналіз | Усереднене у вузлах напруження, напруження елемента та напруження в точці інтегрування. |
| Напруження фон Мізеса / головне напруження | NMISES, EMISES, PRINC_NSTRESS, PRINC_ESTRESS, PRINCV_NSTRESS, PRINCV_ESTRESS |
Скаляр, вектор | Структурний аналіз | Напруження фон Мізеса, значення головних напружень і напрями головних напружень. |
| Деформація | NSTRAIN, ESTRAIN, ISTRAIN |
Симетричний тензор | Структурний аналіз | Вузлова деформація, деформація елемента та деформація в точці інтегрування. |
| Пластична / теплова деформація | PL_ISTRAIN, PL_ESTRAIN, TH_NSTRAIN, TH_ESTRAIN, TH_ISTRAIN |
Скаляр, симетричний тензор | Нелінійний структурний аналіз, термонапружений аналіз | Еквівалентна пластична деформація та теплова деформація. |
| Головна деформація | PRINC_NSTRAIN, PRINC_ESTRAIN, PRINCV_NSTRAIN, PRINCV_ESTRAIN |
Скаляр, вектор | Структурний аналіз | Значення головних деформацій і напрями головних деформацій. |
| Динамічний аналіз | VEL, ACC |
Вектор | Динамічний аналіз | Вузлова швидкість і вузлове прискорення. |
| Тепловий аналіз | TEMP |
Скаляр | Аналіз теплопровідності | Вузлова температура. У файлах результатів і візуалізації теплового аналізу виводиться як поле температури. |
| Контакт | CONTACT_NFORCE, CONTACT_FRICTION, CONTACT_RELVEL, CONTACT_STATE, CONTACT_NTRACTION, CONTACT_FTRACTION |
Вектор, скаляр | Контактний аналіз | Нормальна контактна сила, сила тертя, відносна швидкість ковзання, стан контакту та контактна сила на одиницю площі. |
| Балковий елемент | BEAM_NQM |
12-компонентне значення | Структурний аналіз із балковими елементами | Внутрішні силові фактори перерізу балкових елементів. |
| Ідентифікація / стан | NODE_ID, ELEM_ID, SECTION_ID, MATERIAL_ID, ELEMACT, YIELD_RATIO |
Скаляр | Структурний аналіз, візуалізація | Ідентифікаційна інформація про вузли, елементи, перерізи та матеріали; стан активації елемента; коефіцієнт текучості. ELEMACT виводить 1 для активних елементів і 0 для неактивних (деактивованих) елементів. |
| Допоміжна інформація оболонки | SHELL_LAYER, SHELL_SURFACE |
Скаляр | Структурний аналіз з оболонковими елементами | Допоміжна інформація для ідентифікації виведення за шарами оболонки та поверхонь оболонки. |
За замовчуванням DISP, ROT, NSTRESS і NMISES мають значення ON. Однак фактичне виведення змістовних значень залежить від виду аналізу, типу елемента, моделі матеріалу та параметрів контакту. Наприклад, VEL і ACC використовуються в динамічному аналізі, а CONTACT_* — коли в контактному аналізі формується контактна інформація.
Виведення за шарами оболонки¶
Оболонкові елементи мають кілька точок інтегрування або шарів за товщиною, тому значення напружень і деформацій можуть відрізнятися між шарами або поверхнями навіть у межах одного елемента. За наявності лише звичайних усереднених вузлових значень або значень елемента важко визначити, до якого шару чи поверхні належить значення.
Коли для SHELL_LAYER задано ON, результати для сторін + і - кожного шару багатошарової оболонки виводяться окремо. Компоненти напружень і деформацій у виведенні містять ідентифікатори номера шару та сторони поверхні, що дає змогу оцінювати розподіл напружень за товщиною й пошкодження за шарами.
SHELL_SURFACE — це допоміжна інформація для ідентифікації поверхонь оболонки, наприклад верхньої та нижньої. Під час візуалізації результатів за шарами оболонки увімкніть SHELL_LAYER і потрібні змінні напружень/деформацій, а в засобі візуалізації виберіть компонент результату, що відповідає потрібному шару або поверхні.
Оскільки виведення за шарами оболонки збільшує кількість компонентів результату, для моделей із багатьма шарами зростає розмір файла. Бажано обмежувати виведення потрібними змінними напружень і деформацій.
Місця призначення виведення¶
Файли результатів і файли візуалізації відрізняються призначенням та форматом зберігання. В одному аналізі можна виводити обидва типи або лише один із них.
Файли результатів¶
Файли результатів вмикаються через !WRITE,RESULT. Результати аналізу зберігаються як дані результатів FrontISTR / HEC-MW і використовуються для числової постобробки або як вхідні дані іншого аналізу. Змінні виведення вибираються через !OUTPUT_RES.
!WRITE,RESULT також реалізовано в картці !WRITE як параметр RESULT; це один із варіантів місця призначення виведення поряд із візуалізацією та виведенням FEMAP.
Файли результатів можуть зберігати переміщення, напруження, деформації, сили реакції, контактну інформацію та інші величини структурного аналізу, а також поля температури для теплового аналізу. Інтервал виведення за кроками задається параметром FREQUENCY. Конкретні імена файлів, їх розташування та спосіб перевірки після виконання див. у посібнику із запуску.
Файли результатів (розширення .res) є текстовими даними з такою структурою. Спочатку вказуються версія формату й коментар, далі — глобальні змінні, а наприкінці — змінні виведення для кожного вузла та елемента.
*fstrresult 2.0
*comment
<рядок коментаря>
*global
<кількість глобальних змінних>
<ступені свободи глобальних змінних>
<імена глобальних змінних>
<значення глобальних змінних>
...
*data
<кількість вузлів> <кількість елементів>
<кількість вузлових елементів даних> <кількість елементних елементів даних>
<ступені свободи вузлових даних> ...
<імена вузлових даних>
...
<значення вузлових даних>
...
<ступені свободи даних елементів> ...
<імена даних елементів>
...
<значення даних елементів>
...
Файли журналу¶
Файли журналу (розширення .log) — це підсумкові файли, які завжди виводяться після аналізу. Окрім фізичних величин для кожного вузла та елемента, виводяться максимальні/мінімальні значення компонентів переміщення, деформації та напруження. У модальному аналізі виводяться власні значення та значення власних векторів. У !WRITE параметр LOG керує вмістом виведення. Імена й розташування файлів див. у посібнику із запуску.
Файли візуалізації¶
Файли візуалізації вмикаються через !WRITE,VISUAL. Вони перетворюють сітку й дані результатів у формат для засобів візуалізації та виводять їх. Змінні виведення вибираються через !OUTPUT_VIS, а формат і умови візуалізації задаються через !VISUAL.
!WRITE,VISUAL не є окремим ключовим словом; його реалізовано в !WRITE як параметр VISUAL, який перемикає місце призначення виведення на тому самому рівні, що й !WRITE,RESULT / !WRITE,FEMAP (fistr1/src/common/fstr_ctrl_common.f90, fstr_ctrl_get_WRITE).
Щоб увімкнути візуалізацію, у картці !VISUAL потрібно щонайменше задати поверхню візуалізації та формат виведення. Нижче наведено мінімальний набір даних.
Параметри surface_num і !surface не можна пропускати. Докладний синтаксис і доступні параметри див. у !VISUAL.
Основні формати візуалізації наведено нижче.
| Формат | Призначення |
|---|---|
| VTK | Використовується для візуалізації в ParaView та подібних засобах. |
| AVS (UCD) | Використовується для візуалізації та обміну даними у форматі AVS / UCD. |
| BMP | Виводить результати візуалізації як зображення. |
| NEU | Використовується для обміну даними в нейтральному форматі FEMAP. |
Файли візуалізації зручніше безпосередньо обробляти засобами візуалізації, ніж файли результатів, але їхній розмір зростає залежно від вибраного формату та кількості змінних. Для великомасштабних моделей через !OUTPUT_VIS вмикайте лише змінні, потрібні для відображення.
Перезапуск¶
Перезапуск — це функція збереження внутрішнього стану в момент переривання аналізу та продовження обчислень із того самого стану під час наступного запуску. Звичайні файли результатів виводяться для постобробки, тоді як файли перезапуску зберігають стан, щоб розв’язувач міг продовжити обчислення.
Для !RESTART, FREQUENCY=n, коли n додатне, файл перезапуску записується із заданим інтервалом кроків. Коли n від’ємне, на початку виконання зчитується наявний файл перезапуску, після чого файли перезапуску записуються з інтервалом, рівним абсолютному значенню |n|.
Для перезапуску структурного аналізу зберігаються поточний крок, підкрок, накопичений номер кроку, час, приріст часу, історія навантаження, переміщення, зовнішня сила, напруження й деформації в кожній точці Гауса, внутрішні змінні стану матеріалу, стан контакту та інші дані. Динамічний аналіз додатково зберігає динамічний стан, потрібний для продовження інтегрування за часом, зокрема швидкість і прискорення, енергію деформації, поточний час і приріст часу. Тепловий аналіз зберігає номер кроку, час і поле температури, а під час зчитування відновлює поле температури як початковий стан.
Момент запису та поведінка відновлення для перезапуску статичного аналізу¶
Для перезапуску статичного аналізу (fstr_solve_NLGEOM) існують два шляхи запису, і поведінка під час відновлення для них відрізняється.
- Запис під час підкроку: файл записується в циклі підкроків, коли
step_countстає кратнимFREQUENCY. Записана інформація про час зберігається як «час початку поточного кроку», і разом із нею зберігається список навантажень попереднього кроку. - Запис наприкінці кроку: файл завжди записується одразу після завершення циклу підкроків кожного кроку навантаження, незалежно від того, чи є номер кроку кратним
FREQUENCY. Записана інформація про час зберігається як «час завершення кроку», і разом із нею зберігається список навантажень цього кроку.
Під час зчитування FrontISTR визначає, чи завершено крок, за збігом записаних «поточного часу» та «опорного часу» (у fstr_Restart.f90: fstr_read_restart).
| Стан під час запису | Поведінка під час відновлення |
|---|---|
| Під час підкроку | Продовжує з наступного підкроку того самого кроку. Успадковує позицію підкроку на момент запису та виконує решту циклу підкроків. |
| Кінець кроку | Починає з першого підкроку наступного кроку. Збільшує cstep на 1, скидає substep=1, після чого продовжує аналіз. |
Отже, навіть за однакового значення FREQUENCY номер кроку та відлік часу після відновлення відрізняються залежно від моменту запису (під час підкроку / наприкінці кроку). Зокрема, запис наприкінці кроку завжди виконується після кожного кроку незалежно від значення FREQUENCY.
Момент запису та поведінка відновлення для перезапуску динамічного аналізу¶
Перезапуск динамічного аналізу часової історії також розрізняє запис під час підкроку та запис наприкінці кроку. Під час підкроку файл записується, коли накопичена кількість підкроків step_count стає кратною FREQUENCY; наприкінці кроку файл записується після завершення цього кроку незалежно від FREQUENCY.
Під час зчитування позиція відновлення визначається зі збережених номера кроку, номера підкроку та накопиченої кількості підкроків. Поточний формат (restart_version >= 5) використовує заголовок, спільний зі статичним аналізом, і зберігає поточний час, приріст часу, статистику ітерацій Ньютона та стан автоматичного приросту. Завдяки цьому динамічний аналіз із кількома картками !STEP та автоматичним приростом/cutback може переносити відлік часу й приріст часу після перезапуску. Для старіших файлів перезапуску динамічного аналізу частково збережено сумісність читання, але для нових аналізів слід використовувати поточний формат.
Запис карток !STEP для перезапуску¶
Під час продовження з перезапуску FrontISTR читає картки !STEP у файлі cnt як «послідовність кроків для виконання після відновлення» і завжди обробляє їх по порядку, починаючи з першої (tot_step=1). Номер кроку в завантаженій інформації перезапуску використовується для узгодження накопиченого номера кроку, показаного на екрані, і не впливає на індекс !STEP у самому файлі cnt. Крім того, у поточному форматі під час читання перезапуску для кожної картки !STEP у файлі cnt до starttime сукупно додається опорний час, що узгоджує часову шкалу з часом перезапуску як початком відліку.
Тому готуйте файл cnt для перезапуску відповідно до такої політики.
| Як було перервано виконання | Діапазон карток !STEP, які слід залишити у cnt |
|---|---|
| Запис під час підкроку (крок не завершено) | Спочатку залиште перерваний крок. Після нього розмістіть наступні невиконані кроки. |
| Запис наприкінці кроку (крок завершено) | Видаліть завершені кроки та першим розмістіть наступний крок для виконання. |
В обох випадках основне правило — видалити з файла cnt кроки, які вже завершено. Оскільки час перезапуску автоматично додається до starttime, у файлі cnt можна використовувати нульовий початок відліку (або відносні часи початку кроків). Посилання, наприклад на граничні умови та навантаження, слід залишати у файлі cnt лише для карток !STEP, що залишилися. Та сама політика застосовується до перезапуску динамічного аналізу з кількома картками !STEP.
Типова послідовність перезапуску така.
- Під час початкового виконання задайте
!RESTART, FREQUENCY=nі запишіть файл перезапуску. - Під час виконання, що продовжує аналіз, задайте
!RESTART, FREQUENCY=-n. - FrontISTR зчитує файл перезапуску під час запуску, а потім записує новий стан кожні
nкроків.
Правила іменування та розміщення файлів перезапуску й їх задання під час запуску див. у посібнику із запуску. Також частково підтримується читання файлів старішого формату, але для нових аналізів слід використовувати поточний формат.
Пов’язані теми¶
- Послідовне виконання — основи розміщення файлів і перевірки виведення під час виконання аналізу.
- !OUTPUT_RES, !OUTPUT_VIS — задання змінних для виведення у файли результатів і файли візуалізації.
- !WRITE — увімкнення виведення файлів результатів, файлів візуалізації та журналу, а також задання частоти виведення (параметри
RESULT/VISUAL/LOG/FEMAP). - !VISUAL — задання поверхонь візуалізації та форматів виведення (зокрема приклад мінімального набору даних).
- !RESTART — задання читання та запису файлів перезапуску.
- Види аналізу — основні результати для кожного виду аналізу.
- Контакт і вбудовування — значення контактного виведення та обробка станів контакту.
- Керування кроками — зв’язок із кроками виведення та часовими точками.