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

Макрос для оптимально-вариантного расчета арочной фермы


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

Для того, чтобы оптимизировать ферму по весу необходимо каждому виду элемента(раскосы, стойка, пояса) присвоить свою площадь. Требуется всё сделать в одном макросе.

Проблема в присвоении линиям разных Real Const Num (площадей сечения).

ET,1,LINK8

R,3,5e-4

*DO,i,1,n

*DO,j,1,k

LSTR,i,j

LSEL,S,LINE,,kol_line

LATT,1,3

*ENDDO

*ENDDO

Привожу кусок кода, в оригинале в цикле отрисовывается больше линий.

Ругается на Vmin (kol_line не пустой). Если задать Vmin = 0(не переменную) у LSEL, то всё работает.

Переменную kol_line проверял, в неё приходят правильные значения.

Прикладываю оригинал работающего макроса без присваивания разных площадей элементам.

Закомментированы все LSEL,S,LINE,,kol_line LATT,1,3

FERM_SCRIPT.txt

Изменено пользователем alexey33
Ссылка на сообщение
Поделиться на других сайтах


Народ безмолвствует. Придется мне опять ставить АНСИС. Уверен, ничего необычного не увижу...

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

Знаешь Саша, я думаю что на форуме буйных уже мало, ставь Ансис.

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

Уверен, ничего необычного не увижу...

Борман , я на это очень надеюсь. У меня уже голова кругом идет. И это не просто задача, это дипломная работа.
Ссылка на сообщение
Поделиться на других сайтах

Знаете, я понял, полему никто ничего не пишет. Всем лень врубаться в чужой код на несколько страниц, который (у меня по крайней мере) запускаеся с ошибками.

Попробуйте вместо такого оборота

LSTR,i,j

LSEL,S,LINE,,kol_line

LATT,1,3

использовать такой

lsel,u,,,all

lstr...

latt...

allsel,all

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

Спасибо огромное, работает! :smile: Не знаю как, но работает! :smile:

Но можно не много комментариев

lsel,u,,,all !вы удаляете всё из выборки

lstr... !рисуем значит линию

latt... ! в latt уходит последняя нарисованная линия, потому что выборка пустая ?

allsel,all ! и зачем теперь выбирать все примитивы?

А если так

lsel,u,,,all

lstr...

lstr...

latt... ! в latt уйдет последние 2 нарисованные линии?

allsel,all

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

lsel,u,,,all

lstr...

lstr...

latt... ! в latt уйдет последние 2 нарисованные линии?

allsel,all

Да.

allsel,all ! и зачем теперь выбирать все примитивы?

Можете считать это хорошим стилем.
Ссылка на сообщение
Поделиться на других сайтах

Маленький вопрос. Проблема здесь:

LSEL,S,LINE,,kol_line

?

В качестве номеров нельзя указать переменную?

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

soklakov

Маленький вопрос. Проблема здесь:

LSEL,S,LINE,,kol_line

?

В качестве номеров нельзя указать переменную?

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

Ещё один вопрос связанный непостредственно с оптимизацией. С ансисовским оптимизатором впервые сталкиваюсь, но оптимизацией до этого занимался. Я хочу оптимизировать 4 типа-сечения. В исходный код добавил следующие строчки:

*SET,A1,1e-3

*SET,A2,1e-3

*SET,A3,1e-3

*SET,A4,1e-3

R,1,A1 ! площадь сечения верхнего пояса(м)

R,2,A2 ! нижнего пояса

R,3,A3 ! раскосов

R,4,A4 ! стоек

ETABLE, S1, LS, 1

ESORT,ETAB,S1,0,1,, ! Сортировка таблицы в порядке по убыванию

! для нахождения максимального значения

*GET,SMAXI,SORT,,MAX

ETABLE, S2, LS, 1

ESORT,ETAB,S2,0,1,,

*GET,SMAXJ,SORT,,MAX

PLLS, S1, S2

/GO

SMAX=SMAXI>SMAXJ ! Присвоение максимального значения из SMAXI и SMAXJ переменной SMAX

ETABLE,EVOLUME,VOLU !таблица объемов

SSUM !суммируем объемы

*GET,TVOLUME,SSUM, ,ITEM,EVOLUME !присваиваем переменной ТVOL полный объем

!#########################Оптимизация по объему####################

/OPT

OPANL,'optim','log','F:\macro\' !Назначение рабочего файла

! Задание переменных конструкции DV's!

OPVAR,A1,DV,1e-2,5e-2,1e-2 ! Задание границ изменения площади стержней

OPVAR,A2,DV,1e-2,5e-2,1e-2

OPVAR,A3,DV,1e-2,5e-2,1e-2

OPVAR,A4,DV,1e-2,5e-2,1e-2

OPVAR,SMAX,SV,-2e6,3e6,1E3, ! Задание переменных состояния SV's!

! Задание изменения границ максимальных

! напряжений в сечениях балки и задание допуска

OPVAR,TVOLUME,OBJ, , ,1E-3 !Задание целевой функции

OPTYPE,FIRS !Задание метода оптимизации

!(First-Order относится к методам оптимизации первого порядка)

OPFRST,300,100,0.2 !настройки(макс число итераций)

OPEXE ! Команда на оптимизацию конструкции

XVAROPT,SMAX ! Построение графика результатов оптимизации

!по Х откладываем максимальное значение напряжений

PLVAROPT,A1,A2,A3,A4 ! По Y откладываем площадь

Не могу понять, что ансису не нравится.

Борман Цветочек Расчитываю на ваш бесценный опыт.

Макрос со всеми дополнениями прилагаю.

FERM_SCRIPT_OPT.txt

Изменено пользователем alexey33
Ссылка на сообщение
Поделиться на других сайтах

Знаете, я понял, полему никто ничего не пишет. Всем лень врубаться в чужой код на несколько страниц, который (у меня по крайней мере) запускаеся с ошибками.

alexey33, действительно так.

Дайте лучше постановку задачи подробную. Будет время - в WB и DX порешаю. Сравнимся :)

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

soklakov Да весь код смотреть не нужно. Там геометрия почти всё место занимает.

А то, что относится непосредственно к оптимизации я выделил в последнем сообщении (так же оно и в макросе присутствует)

Дайте лучше постановку задачи подробную.

soklakov Задача проста оптимизировать по объему 4 типа сечения созданной в макросе геометрии. Так как оптимизируем обычные стержни, то переменные проектирования это просто площади сечения. Переменные состояния - максимальные напряжения в интервале от -2e6 до 3e6 Па.

Будет время - в WB и DX порешаю. Сравнимся :)

WB и DX это конечно хорошо, но протокол APDL'вский они нормальный выдают?

Знаете, я понял, полему никто ничего не пишет. Всем лень врубаться в чужой код на несколько страниц, который (у меня по крайней мере) запускаеся с ошибками.

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

Задача проста оптимизировать по объему 4 типа сечения созданной в макросе геометрии. Так как оптимизируем обычные стержни, то переменные проектирования это просто площади сечения. Переменные состояния - максимальные напряжения в интервале от -2e6 до 3e6 Па.

Геометрия, граничные условия, область определения оптимизируемых параметров?

Задача? Минимизировать массу(она же объем), не выходя за пределы напряжений?

WB и DX это конечно хорошо, но протокол APDL'вский они нормальный выдают?

Кому он нужен)

Давайте результаты сравнивать)

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

soklakov

Кому он нужен)

Это мой диплом!)))

Геометрия, граничные условия, область определения оптимизируемых параметров?

ну допустим площади от 1e-2 до 5e-2, а геометрию, граничные условия и загружение возьмите из макроса
Ссылка на сообщение
Поделиться на других сайтах

Открою секрет.

Вместо малопонятного

*SET,A1,1e-3

можно писать

A1=1e-3

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

Открою секрет.

Вместо малопонятного

*SET,A1,1e-3

можно писать

A1=1e-3

я это знал, просто привычка уже выработалась :smile:

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

А что вы имеете в виду по поводу метода первого порядка? Вы уже составили целевую функцию?

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

Да, уже всё есть

ETABLE,EVOLUME,VOLU !таблица объемов

SSUM !суммируем объемы

*GET,TVOLUME,SSUM, ,ITEM,EVOLUME !присваиваем переменной ТVOL полный объем

OPVAR,TVOLUME,OBJ, , ,1E-3 !Задание целевой функции

Ну и насколько я знаю в ansys'е несколько методов оптимизации. Я выбрал не разбираясь метод первого порядка, поскольку он более точный по описанию.

Ещё я прочитал, что в Ансис помимо методов есть средства оптимизации, их где можно задать?

Интересует анализ чувствительности

А вообще в файле Ferm_script_opt.txt я уже всё вставил, но оптимизация не срабатывает. :helpsmilie:

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

Ещё я прочитал, что в Ансис помимо методов есть средства оптимизации, их где можно задать?

Интересует анализ чувствительности

В WB есть группа модулей Design Exploration. Эти модули работают с набором параметров проекта. В них можно проводить целевую оптимизацию, построение поверхностей отклика, анализ чувствительности и т.д.

Кстати, в 14-й версии команды APDL для оптимизации стали недокументированными, а в след релизах возможно совсем пропадут.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • sneg0vik
      На станке ось "X" является наклонной по отношению к оси "Y" (т. е. они не перпендикулярны). Поэтому надо полагать (учитывая текст ошибки) у вас отключена связь оси "Y" с осью "X".   Проверьте меняются ли координаты оси "X", когда вы двигаете ось "Y". И наоборот. Если - нет, то ищите как включить (наверное через параметры) взаимосвязь оси "Y" с осью "X".
    • ДОБРЯК
      Если ваш Заказчик и такую работу примет, то необходимо в шпоночное отверстие добавить и массу воды. Примерно 1/4 от той массы которую вы будете добавлять.  Да и еще и не забыть добавить момент инерции от воды.
    • Soprin
      В функции MOVE по F7.3 должно же из R270 переносить в R278?
    • niagara39
      Причина все еще не найдена... Но заметил, что сразу после включения в меню диагностики появляется следующее предупреждающее сообщение: 10155 M: Y-axis: Y-axis and X-axis not coupled , но причина его появления и его смысл неизвестны
    • maxx2000
      скажите, Вам уже делали эти детали? Вы себе представляете как и главное  чем, можно обработать внутренние углы без скругления на вашей детали? Разве что проволокой. НО оно же стоить будет как крыло от боинга. 
    • Sivolap36
      Спасибо за информацию. А как определили, что нижний  инкрементный? Спасибо. Как то я пролистал наверное. Благодарю
    • Jesse
      deleted этого я и хотел узнать у товарищей форумчан :-) вот для сферы оценка есть: присоед. масса воды равна половине от объёма сферы может кто в справочнике каком видел сколько для рабочих колёс присоединять надо..) мне тоже кажется там серьёзная отстройка должна получиться..   не спец в насосах и лопаточных машинах..)) у меня вот тяк: да это геморр... ещё и приложить его надо как-то к валу. Кстати, я вообще говоря собирался для модальника взять модель только вала, с колёса учесть в виде сосредоточ. масс с моментами инерции. Законно ли это, не сильно исказит расчёт СЧ? И ещё непонятка: куда присоединять эту массу? Прям в шпоночное отверстие вала?: Или вдоль всей окружности куда садится колесО?   не не , там не биссектриса. \Гляньте мою картинку выше из Вики. И все картинки такие для ДК что в сети нашлись. Там явно BW и  FW явно не зеркальные отражения друг друга относ-но гориз-й прямой, проведённой через ординату СЧ для нулевой частоты вращения ротора...   откуда вы знаете что сбалансировано? идеальной балансировки не существует   вот прям так в отчёте и напишу!:D точка Меня другой вопрос волнует.. Что центробеж. сила и гироскоп. момент пропорц-ны квадрату частоты вращенеия, т.е. на больших частотах может появиться вилка... Мне нужно где-то найти оценку, возможно опять таки относительно СЧ когда нет вращения..
    • Irukanjii
      Уважаемые коллеги, доброго времени суток! Прошу Вас рассмотреть возможность изготовления 5 комплектов изделий из стали 08Х18Н10 (материал предоставим). Всего необходимо изготовить 5 "мам" и 5 "пап". На производстве нам требуется высокая точность шлифовки, т.к. потом будем наносить хромирование.  По ссылке на мэил диск будут доступны чертежи каждой детали и 3d модели в SolidWorks (также прошу отнестись с пониманием, если какие-то детали будут не совсем точные, не долго работаю в SolidWorks, но постарался соблюсти все габариты) https://cloud.mail.ru/public/T72n/CS1Cc8Bnt   Ответ можно присылать на почту ned@bvbmail.ru, либо в этой теме. 
    • Александр1979
      Информация по номерам для заказа есть в руководстве "B-65515", также информация есть в руководствах "B-65302" и "B-65262"      
    • gudstartup
      а чего тут искать то первый это абсолютный на 1000000 имп\об bi типа второй ai инкрементальный xз но нав 4000000 имп\об разъем подключения описан в схеме. инфа передается по цифровому протоколу обмена. кое что есть тут   в старых описаниях таких датчиков у фанука нет  
×
×
  • Создать...