Вывод и перезапуск¶
Результаты анализа первоначально находятся в памяти, поэтому для последующей обработки, визуализации, восстановления и возобновления расчета их необходимо выводить в соответствующие файлы. Поскольку для разных назначений отличаются формат файла, набор выводимых данных и частота вывода, 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 |
| Уменьшить объем вывода | Выводить только необходимые переменные | ON / OFF в !OUTPUT_RES / !OUTPUT_VIS и 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 также реализован как параметр RESULT карты !WRITE и является одним из вариантов места вывода наряду с визуализацией и выводом FEMAP.
В файл результатов структурного анализа можно сохранять перемещения, напряжения, деформации, реакции, контактную информацию и т. п., а в тепловом анализе — поле температуры. Интервал вывода по шагам задается FREQUENCY. Конкретные имена файлов, их расположение и способ проверки после выполнения приведены в руководстве по выполнению.
Файл результатов (расширение .res) представляет собой текстовые данные следующей структуры. В начале размещаются версия формата и комментарий, затем глобальные переменные, а в конце — выводимые переменные по узлам и элементам.
*fstrresult 2.0
*comment
<строка комментария>
*global
<число глобальных переменных>
<число степеней свободы глобальных переменных>
<имя глобальной переменной>
<значение глобальной переменной>
...
*data
<число узлов> <число элементов>
<число узловых данных> <число данных элементов>
<число степеней свободы узловых данных> ...
<имя узловых данных>
...
<значение узловых данных>
...
<число степеней свободы данных элементов> ...
<имя данных элемента>
...
<значение данных элемента>
...
Файл журнала¶
Файл журнала (расширение .log) — это сводный файл, который всегда выводится после анализа. Помимо физических величин по узлам и элементам, он содержит максимальные и минимальные значения компонент перемещения, деформации и напряжения. При модальном анализе выводятся собственные значения и значения собственных векторов. Содержимое вывода можно регулировать параметром LOG карты !WRITE. Имя файла и расположение см. в руководстве по выполнению.
Файл визуализации¶
Файл визуализации включается с помощью !WRITE,VISUAL. Сетка и данные результатов преобразуются и выводятся в формате для средств визуализации. Выводимые переменные выбираются через !OUTPUT_VIS, а формат и условия визуализации задаются с помощью !VISUAL.
!WRITE,VISUAL не является отдельным ключевым словом, а реализован как параметр VISUAL карты !WRITE; место вывода переключается наравне с !WRITE,RESULT / !WRITE,FEMAP (fstr_ctrl_get_WRITE в fistr1/src/common/fstr_ctrl_common.f90).
Для включения визуализации необходимо как минимум задать на карте !VISUAL поверхность визуализации и формат вывода. Ниже приведен минимальный набор данных.
Параметры surface_num и !surface нельзя опускать. Подробный формат и доступные параметры см. в !VISUAL.
Основные форматы визуализации перечислены ниже.
| Формат | Назначение |
|---|---|
| VTK | Используется для визуализации в ParaView и т. п. |
| AVS (UCD) | Используется для визуализации и обмена данными в формате AVS / UCD. |
| BMP | Выводит результат визуализации как изображение. |
| NEU | Используется для обмена данными в формате FEMAP neutral. |
Файл визуализации удобнее непосредственно обрабатывать средствами визуализации, чем файл результатов, однако его объем увеличивается в зависимости от выбранного формата и числа переменных. Для крупномасштабных моделей через !OUTPUT_VIS следует включать только переменные, необходимые для отображения.
Перезапуск¶
Перезапуск — это функция сохранения внутреннего состояния в момент прерывания анализа и последующего продолжения расчета из того же состояния при следующем запуске. Обычный файл результатов предназначен для последующей обработки, тогда как файл перезапуска сохраняет состояние, необходимое решателю для продолжения вычислений.
Если n в !RESTART, FREQUENCY=n положительно, файл перезапуска записывается с указанным интервалом по шагам. Если n отрицательно, при запуске считывается существующий файл перезапуска, после чего новые файлы перезапуска записываются с интервалом |n|.
При перезапуске структурного анализа сохраняются текущий шаг, подшаг, сквозной номер шага, время, приращение времени, история нагружения, перемещения, внешние силы, напряжения и деформации в точках Гаусса, внутренние переменные состояния материала, состояние контакта и т. п. В динамическом анализе помимо перемещений сохраняются скорость, ускорение, энергия деформации, текущее время, приращение времени и другие динамические состояния, необходимые для возобновления интегрирования по времени. В тепловом анализе сохраняются номер шага, время и поле температуры; при чтении поле температуры восстанавливается как начальное состояние.
Момент записи и поведение при возобновлении для статического анализа¶
Для перезапуска статического анализа (fstr_solve_NLGEOM) существуют два пути записи, и поведение при возобновлении различается.
- Запись в середине подшага: выполняется внутри цикла подшагов, когда
step_countстановится кратнымFREQUENCY. Временная информация сохраняется как «время начала текущего шага» вместе со списком нагрузок предыдущего шага. - Запись в конце шага: всегда выполняется сразу после завершения цикла подшагов каждого шага нагружения независимо от того, кратен ли номер
FREQUENCY. Временная информация сохраняется как «время окончания шага» вместе со списком нагрузок текущего шага.
При чтении FrontISTR определяет, завершен ли шаг, по совпадению записанных «текущего времени» и «опорного времени» (fstr_read_restart в fstr_Restart.f90).
| Состояние при записи | Поведение при возобновлении |
|---|---|
| В середине подшага | Продолжает с следующего подшага того же шага. Положение подшага на момент записи наследуется, после чего выполняется оставшаяся часть цикла подшагов. |
| В конце шага | Начинает с первого подшага следующего шага. cstep увеличивается на 1, substep=1 сбрасывается, после чего анализ продолжается. |
Поэтому даже при одинаковом FREQUENCY номер шага и временная база после возобновления зависят от момента записи (в середине подшага или в конце шага). В частности, запись в конце шага всегда выполняется в конце каждого шага независимо от настройки FREQUENCY.
Момент записи и поведение при возобновлении для динамического анализа¶
Перезапуск динамического анализа временной истории также различает запись в середине подшага и в конце шага. В середине подшага запись выполняется, когда сквозное число подшагов step_count становится кратным FREQUENCY, а в конце шага — в конце этого шага независимо от FREQUENCY.
При чтении позиция возобновления восстанавливается из сохраненных номера шага, номера подшага и сквозного числа подшагов. В текущем формате (restart_version >= 5) используется общий со статическим анализом заголовок, в котором сохраняются текущее время, приращение времени, статистика итераций Newton и состояние автоматического выбора приращения. Благодаря этому и в динамическом анализе с несколькими !STEP, автоматическим приращением и cutback после возобновления наследуются временная база и приращение времени. Файлы перезапуска динамического анализа старого формата частично совместимы по чтению, однако для новых расчетов следует использовать текущий формат.
Запись карт !STEP при перезапуске¶
При возобновлении из перезапуска FrontISTR читает карты !STEP в cnt-файле как «последовательность шагов, выполняемых после возобновления» и всегда обрабатывает их по порядку с начала (tot_step=1). Номер шага из считанной информации перезапуска используется для согласования отображаемого сквозного номера шага и не влияет на индекс !STEP в cnt. Кроме того, в текущем формате при чтении перезапуска ко всем starttime карт !STEP в cnt сразу прибавляется опорное время, чтобы временная шкала была приведена к времени возобновления.
Поэтому 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 — задание чтения и записи файла перезапуска.
- Тип анализа — основные результаты для каждого типа анализа.
- Контакт и внедрение — смысл контактного вывода и обработка состояния контакта.
- Управление шагами — связь с шагами вывода и временными точками.