Я хотел бы оптимизировать проект, чтобы оптимизатор вносил изменения в файл САПР, который затем анализировался в FEM, а результаты возвращались в оптимизатор для внесения изменений в проект на основе FEM, пока решение не сойдется к оптимум (масса, жесткость, прочее).
Вот что я себе представляю:
- создайте чертеж детали в программе САПР (например, CATIA).
- запустить код оптимизатора (например, fmincon) из языка программирования (например, Python). Параметры оптимизатора — это параметры CAD-модели (углы, длины, толщины и т. д.).
- оптимизатор оценивает определенный дизайн (набор параметров). Язык программирования вызывает программное обеспечение САПР и соответствующим образом изменяет дизайн.
- язык программирования извлекает некоторую информацию (например, массу).
- затем язык программирования извлекает файл STEP и передает его решателю FEA (например, Abaqus), где выполняется предопределенный анализ.
- язык программирования считывает результаты (например, максимальное напряжение ван Мизеса).
- результаты CAD и FEM (например, масса и напряжение) передаются в оптимизатор, который соответствующим образом изменяет конструкцию.
- пока не сходится.
Я знаю, что это существует в рамках закрытой архитектуры (например, isight), но я хочу использовать открытую архитектуру, в которой оптимизатор вызывается из открытого языка программирования (в идеале Python).
Итак, наконец, вот мои вопросы:
- Можно ли сделать так, как я описал или иначе?
- Ссылки, учебники, пожалуйста?
- Какое программное обеспечение вы рекомендуете для программирования, CAD и FEM?