Изход и рестартиране¶
Резултатите от анализа съществуват в паметта в работен вид, затова трябва да бъдат записани в подходящи файлове за последваща обработка, визуализация, възстановяване и рестартиране. Тъй като файловият формат, изходните величини и честотата на запис се различават според предназначението, 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 | Симетричен тензор | Структурен анализ | Усреднено по възел напрежение, напрежение в елемента и напрежение в интеграционната точка. |
| Напрежение по von Mises / главно напрежение | NMISES, EMISES, PRINC_NSTRESS, PRINC_ESTRESS, PRINCV_NSTRESS, PRINCV_ESTRESS | Скалар, вектор | Структурен анализ | Напрежение по von Mises, стойности на главните напрежения и направления на главните напрежения. |
| Деформация | 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
<comment line>
*global
<number of global variables>
<degrees of freedom of global variables>
<names of global variables>
<values of global variables>
...
*data
<number of nodes> <number of elements>
<number of nodal data items> <number of element data items>
<degrees of freedom of nodal data> ...
<names of nodal data>
...
<values of nodal data>
...
<degrees of freedom of element data> ...
<names of element data>
...
<values of element 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| като интервал.
При рестартиране на структурен анализ се записват текущата стъпка, подстъпка, натрупаната стъпка, времето, времевата стъпка, историята на натоварването, преместването, външната сила, напрежението и деформацията във всяка точка на Gauss, вътрешните променливи на състоянието на материала, контактното състояние и други данни. Динамичният анализ допълнително записва динамичното състояние, необходимо за продължаване на интегрирането по времето, включително скорост, ускорение, енергия на деформация, текущо време и времева стъпка. Топлинният анализ записва номера на стъпката, времето и температурното поле и при прочит го възстановява като начално състояние.
Момент на запис и поведение при продължаване при рестартиране на статичен анализ¶
При рестартиране на статичен анализ (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) използва заглавка, обща със статичния анализ, и записва текущото време, времевата стъпка, статистиката за итерациите на Newton и състоянието на автоматичния прираст. Това позволява динамичен анализ с няколко карти !STEP и автоматичен прираст/cutback да запази времевата референция и времевата стъпка след рестартиране. За по-стари файлове за рестартиране на динамичен анализ се запазва частична съвместимост при прочит, но новите анализи трябва да използват текущия формат.
Запис на картите !STEP при рестартиране¶
При продължаване от рестартиране FrontISTR чете картите !STEP в cnt файла като „последователност от стъпки за изпълнение след продължаването“ и винаги ги обработва по ред от първата (tot_step=1). Номерът на стъпката в заредената информация за рестартиране се използва за съгласуване на натрупания номер на стъпката, показван на екрана, и не влияе върху индекса !STEP в самия cnt файл. Освен това в текущия формат при прочит на рестартирането референтното време се добавя към !STEP на всяка карта starttime в 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 — Спецификация за четене и запис на файлове за рестартиране.
- Типове анализ — Основни резултатни величини за всеки тип анализ.
- Контакт и вграждане — Смисъл на контактния изход и обработка на контактните състояния.
- Управление на стъпките — Връзка с изходните стъпки и времевите точки.