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

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


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

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

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

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

Постоянно делаю приращение жесткости пружин, потом пересчитываю. Но уже задолбался. Можно ли как то просто задать ряд жесткостей, который будет последовательно использоваться в решении, чтобы посчитать все за раз (Ну примерно, как можно задать несколько нагружений в файлах 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 пользователей

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




  • Сообщения

    • Fedor
      Для любой размерности можно решать полином этой размерности. Такова сущность, а не конкретное явление. Дух, а не буква :)
    • anykeyto
      День добрый коллеги. Работает ли кто на этой стойке? Где берете информацию по программированию кроме мануала от Ками?  Интересует макропрограммирование, программирование цилиндрической интерполяции. Да и вообще, давайте делиться опытом. В свободном доступе практически нет никакой информации о работе станка и стойки этого чуда китайской инженерии.  Вопрос про G108, пользовался ли кто функцией CTOS/STOC?   
    • __Andrey__
      Доброго всем времени суток. Начал сборку станка для симуляции. Загрузил модель станка DMU50 в папку. В генераторе станков сделал настройки осей. Постпроцессор на sinumerik создал из шаблона. Скопировал папку cse_driver со станка с похожей кинематикой (sim06_mill_5ax). В файлы .dat внесены данные. При запуске симуляции по машинному коду ругается, что не найден файл PMAC. После закрытия окна с ошибкой продолжает работу и доходит до смены инструмента и там выскакивает ошибка. . Прошу помощи с этой проблемой. Файл to_ini генерируется в папку cse_driver.
    • anykeyto
      Устроился в начале года в контору где стоит IronMAC IMU-5X 400 Pro. Стойка HNC8-848di. Контора отправила на обучение, на курс 5-осной обработки на этой стойке, в цто Ками в Москве. В целом все доступно и понятно. Это когда было само обучение. Но в работе самой стойки есть куча вопросов. По факту на стойка не настроена. Не знаю, может наладчик который запускал станок попался ленивый, может в другом была причина. Но первый месяц-полтора занимался только настройкой системы (что знал, что пришло в процессе изучения параметров, ладдера, и прочее).   Сам станок интересный и понятный. Но русская локализация хромая, как и мануал от ками. Там голимый перевод то ли с английского, толи с китайского.... но вместо фрезы "нож" и так далее.  Основа тут G код, в целом почти фанук, но есть отличия. Есть группа циклов для фрезеровки сверления, резьбы и расточки, под них есть прям шаблон, в котором только переменные задаешь, но криво реализован синтаксис, который поправить можно уже непосредственно в коде.
    • Ветерок
      В ярлыке прописать путь к русскому файлу: "C:\PTC\Creo 8.0.4.0\creo_help_pma\russian\index.html"
    • Guhl
      Номера 2000 и выше - это вроде как не ошибка а сообщение оператору Открывайте инструкцию на станок с описанием сообщений или смотрите в ладдере в чпу или скачайте ладдер и смотрите в Fladder3
    • ДОБРЯК
      В МКЭ это классический modal-prestress анализ. Из МКЭ вы получаете только матрицу масс и матрицу жесткости. На этом МКЭ заканчивается. Дальше решайте как хотите. Вот Федор решает квадратное уравнение и получает первые собственные частоты.:=) Вопрос только в том какие силы нужно задать, чтобы получить начальные напряжения и как эти силы зависят от частоты вращения. Дальше матрица начальных напряжений суммируется с матрицей жесткости. Естественно данное суммирование меняет жесткость конструкции. Поэтому и говорят про преднапряженный модальный анализ. Основной вопрос какие силы нужно приложить в зависимости от частоты вращения, прежде чем делать статический анализ.  Но вы этот вопрос не освещает. Это ваше право не подумайте, что у меня есть какие то претензии.
    • Fedorly
      Вашему вниманию предоставляется программа, которая позволяет пакетно обработать DXF файлы разверток и получать Длину реза, Количество врезок, габариты развертки, миниатюру.  Полученные данный  легко сохраняются в PDF, Excel, txt и другие форматы. Дальше, полученные данные, могут быть применены в расчете себестоимости детали Скачать  
    • maxx2000
      такой дурной вопрос. Как сделать чтобы офлайн справка вызывалась на русском? перезаписать файлы английской справки русской или можно где-то, что-то подправить?
    • ДОБРЯК
      @Jesse может быть эта тема вам поможет понять почему частоты не меняются... https://cccp3d.ru/topic/83522-%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0-%D0%BA%D1%8D%D0%BC%D0%B1%D0%B5%D0%BB%D0%BB%D0%B0-%D0%B4%D0%BB%D1%8F-%D0%B2%D0%B0%D0%BB%D0%B0-%D1%81-%D0%BA%D0%BE%D0%BB%D0%B5%D1%81%D0%BE%D0%BC/?ysclid=lvrjkzdpez476841118
×
×
  • Создать...