Перейти к публикации

Запись результатов с одинаковым временным интервалом


Рекомендованные сообщения

Доброго времени суток!

 

Мне нужно записывать результаты с одинаковым шагом по времени - 1500 сетов через 1 секунду. Этого легко добиться, если записать 1500 Load Steps с конечным временем 1, 2, ... сек. Проблема в том, что запись 1500 шагов и последующее считывание съедает очень много памяти и времени. Код:

*do,i,1,1500

    time,i

    lswrite,i

*enddo

lssolve,1,1500

 

Я пробовал делать один Load Step с записью 1500 шагов через 1 сек. Код:

time,1500

outres,nsol,-1500

 

И все бы хорошо, но ANSYS записывает 1500 сетов через такой шаг, какой он выбрал при решении. Вот кусок того, что получилось в итоге:

...

25.2530001137
26.1766825387
27.4082591054

...

1497.4082591054
1498.4082591054
1499.4082591054
1500

 

Т.е. в среднем тут, конечно, 1 сек, но мне нужно точное разбиение. Есть ли другие способы заставить ANSYS писать результаты с шагом ровно в 1 сек?

Ссылка на сообщение
Поделиться на других сайтах


UnPinned posts
50 минут назад, houston707 сказал:

nsubst, 1500,1500,1500 - разбиение load step на 1500 подшагов
deltim, 1, ,1, 1 - задать время одного подшага 1 сек

При таком подходе мне придется установить минимальный шаг также равным 1 и записать все подшаги через outres,,all. Проблема в том, что задача у меня нелинейная и для сходимости минимальный шаг установлен равным 0.01. Если поставить 1, решение не сойдется, а если меньше, то и все эти подшаги запишутся (памяти не хватит).

Ссылка на сообщение
Поделиться на других сайтах
2 hours ago, MaryMadeleine said:

Проблема в том, что запись 1500 шагов и последующее считывание съедает очень много памяти и времени. Код:

*do,i,1,1500

    time,i

    lswrite,i

*enddo

lssolve,1,1500

outres,nsol,last

чтобы сохранялся только последний результат шага

2 hours ago, MaryMadeleine said:

последующее считывание съедает очень много памяти и времени

Ну это смотря чем считывать. Если WB - то да.

Можно скрипт сделать для apdl. Можно сторонний пост взять.

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

*dim,outstep,array,1500
*do,i,1,1500
outstep(i)=i
*enddo
outres,all,%outstep%
deltim,1,0.1,1
autots,on
По умолчанию шаг делится помолам и вы будете иметь результаты в точках кратными 1 сек и между ними, если задача будет плохо сходиться.
А в команде outres можно вводить вектор со значениями времени, когда нужно сохранить результаты.
Но на сколько я понимаю, если в задаче есть пластика, контакты или ползучесть, то они могут дополнять это своими критериями выбора шага.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...