Ваш вопрос: Здравствуйте! Подскажите, пожалуйста, что необходимо создать для дальнейшей записи результатов вычисления (напряжения и деформации по элементам) во внешний файл с помощью функции *VWRITE. Спасибо.
С уважением, Ошева Ирина Юрьевна
Ответ №1: Здравствуйте! Для записи результатов вычислений применяется команда вывода вектора (массива) значений во внешний файл *VWRITE. Перед этим необходимо значения вычисленных величин (напряжения, деформации, перемещения и т.д. и т.п.) сначала присвоить переменной (скалярной, вектору или массиву) с помощью команд *get или *vget, и только затем вывести значения этого вектора (или скалярного параметра) во внешний файл командой *vwrite. Синтаксис команд можно найти в Help.
С уважением, Комаров Александр Павлович
Ответ №2: В разделе Basic Analyzes Guide, Chapter 6. The Time-History Postprocessor (POST26), п. 6.6.2 раздела встроенной помощи ANSYS, приводится пример экспорта данных с помощью указанной Вами команды *VWRITE в два этапа:
1) Экспорт значения переменной зависящей от времени в массив. Команда VGET позволяет записать одну зависящую от времени переменную в соответствующего размера ( *DIM ) массив. Размер массива можно определить с помощью команды *GET ,size,vari,,nsets.
2) По завершению заполнения массива, данные можно записать в файл с помощью команды *VWRITE как показано ниже.
Пример:
| NSOL,5,55,U,X | |
| STORE,MERGE | ! Сохранить значение перемещения по оси Х (UX) в узле 55 |
| *GET,size,VARI,,NSETS | |
| *dim,UX55,array,size | ! Создать массив UX55 |
| VGET,UX55(1),5 | ! Сохранить значение зависящей от времени переменной 5 в массив UX55 |
| *CFOPEN,disp,dat | ! Открыть файл "disp.dat" на запись |
| *VWRITE,UX55(1) | ! Записать массив в заданном формате в файл "disp.dat" |
| (6x,f12.6) | |
| *CFCLOSE | ! Закрыть файл |
Аналогично для результатов по элементам на каждом шаге нагружения.
С уважением, Шмаков Алексей Викторович
