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

Оптимизация модели в Ансис


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

Столкнулся со следующей проблемой:

Есть корпус редуктора, стоящий на пружинных опорах, приложены силы. В зависимости от жесткости пружин напряжения в корпусе меняются (Стресс перехоит либо в пружины, либо воспринимается корпусом).

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

Постоянно делаю приращение жесткости пружин, потом пересчитываю. Но уже задолбался. Можно ли как то просто задать ряд жесткостей, который будет последовательно использоваться в решении, чтобы посчитать все за раз (Ну примерно, как можно задать несколько нагружений в файлах Load step)???

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


Можно ли как то просто задать ряд жесткостей, который будет последовательно использоваться в решении, чтобы посчитать все за раз???

Можно. Надо задать массив жесткостей (или несколько массивов с необходимыми параметрами), и в REAL для COMBIN втыкать постоянно новую жесткость как значение массива. Далее *GET-ом вытаскивать и запоминать нужный отклик и пересчитывать:

1) задаешь массив (MASSIV)

2) Строишь модель целиком

3) цикл типа

*DO i=1..10 (см HELP)

  /PREP7

  R,1,MASSIV(i)... ну понятно, короче.

  /SOLU

  настройки всякие

  SOLVE

  /POST1

  GET, чего надо

  запоминаешь "чего надо"

ENDDO
4) Потом анализируешь.

А Ансисовским оптимизатором для этой задачи лучше не пользоваться. Подбирай перебором.

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

Можно. Надо задать массив жесткостей (или несколько массивов с необходимыми параметрами), и в REAL для COMBIN втыкать постоянно новую жесткость как значение массива.

Т.е. в меню Real constant, вместо чиссленного значения жесткости, нужно ввести имя масива???

А по времени это все будет считаться как одно задача, либо чуть больше, либо как столько задач сколько значений массива?

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

наверно можно и без массива обойтись - задать шаг жесткости и прибавлять его на каждом последующем шаге цикла.

столько задач сколько значений массива?

именно. фактически будет решено множество задач для разных моделей. единственный выигрышь - не надо следить и после каждого шага ручками менять что-то.
Ссылка на сообщение
Поделиться на других сайтах

Т.е. в меню Real constant, вместо чиссленного значения жесткости, нужно ввести имя масива???

А по времени это все будет считаться как одно задача, либо чуть больше, либо как столько задач сколько значений массива?

Нет, втыкать в меню Real constant имя массива бессмысленно. Надо в коммандном файле указывать конкретный элемент массива:

ET,1,COMBIN

REAL,1

-- создание КЭ --

...

---------------------

R,1,MASSIV(i)

Все как я написал выше. Это будет несколько задач.

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

именно. фактически будет решено множество задач для разных моделей. единственный выигрышь - не надо следить и после каждого шага ручками менять что-то.

Да, тогда особого резона заморачиваться этим нет. Поскольку я может найду оптимальный параметер за 5 итераций, а машина будет считать столько, сколько чисел в масиве ей задашь...
Ссылка на сообщение
Поделиться на других сайтах
Форумный боец

Да, тогда особого резона заморачиваться этим нет. Поскольку я может найду оптимальный параметер за 5 итераций, а машина будет считать столько, сколько чисел в масиве ей задашь...

ну, кстати, жесткости то можно перебирать и не по порядку с шагом, а, как и полагается в теории оптимизации - половинным делением, например. или может еще каким, быстрее сходящимся. золотое сечение и прочее... но это, конечно, только если у целевой функции один максимум.

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

ну, кстати, жесткости то можно перебирать и не по порядку с шагом, а, как и полагается в теории оптимизации - половинным делением, например. или может еще каким, быстрее сходящимся. золотое сечение и прочее... но это, конечно, только если у целевой функции один максимум.

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

Crippling жалуется, что в ансисе нет элементарных вещей. Как раз в этом случае можно использоваться встроенные средства оптимизации (Design Optimisation) и не париться с написанием массивов и различных циклов. В Ансис уже заложены достаточно сильные алгоритмы оптимизаци от случайного поиска до метода градиентного спуска.

В данной задаче надо будет задать в качестве целевой функции максимальное эквивалентное напряжение в модели, а жесткость пружины варировать с помощью изменения, например, толщины проволоки пружины или ее диаметра, задав их в качестве параметров оптимизации.

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

Однако чревато минимизировать напряжение... есть риск сминимизировать то, чаво на самом деле нет. А "правильное" максимальное напряжение может скакать от элемента к элементу. Satellit, ваш способ разумеется правильный, если есть опыт в решении подобных задач.

Первая моя задача по теме Design Optimisation состояла в подборе параметра простого сечения beam-элемента. ИМХО не вдохновлён.

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

Обычно максимальные напряжения не скачут, а локализованы в местах концентрации напряжений. Для корпуса это могут быть резкие переходы в геометрии.

Тем более вы ничем не рискуете. В Ансисе сохраняются все шаги оптимизации и Вы сможете спокойно проанализировать результаты.

Может быть я написал неточно насчет целевой функции, в качестве которой можно взять максимальное напряжение в корпусе. Тем более, что оптимизацией в Ансисе пользоваться достаточно просто. Основная сложность - подготовить исходный файл, где не будет ошибок. Это по сути почищенный log-файл.

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

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

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

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

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

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

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

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

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

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

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




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