Топологическая оптимизация с использованием TOPY | Статья в журнале «Молодой ученый»

Автор:

Рубрика: Информатика

Опубликовано в Молодой учёный №14 (148) апрель 2017 г.

Дата публикации: 07.04.2017

Статья просмотрена: 89 раз

Библиографическое описание:

Шкурин Е. В. Топологическая оптимизация с использованием TOPY // Молодой ученый. — 2017. — №14. — С. 41-44. — URL https://moluch.ru/archive/148/41673/ (дата обращения: 20.08.2018).



Ключевые слова: топологическая оптимизация, Python

Топологическая оптимизация стала хорошо зарекомендовавшей себя технологией, применяемой инженерами во многих областях промышленности. С точки зрения постановки задачи, топологическая оптимизация может описываться как процесс определения оптимального распределения ограниченного материала в области проектирования, для выполнения некоторой предопределенной функции. Задача моделируется в виде задачи нелинейного программирования, решение которого можно получить разными эффективными методами нелинейного программирования [1]. TOPY базируется на открытом для всех разработчиков языке Python, а сам исходный код TOPY защищается лицензией MIT License, что позволяет любому разработчику без ограничений использовать данное решения как для научных, так и для коммерческих целей. Актуальность TOPY обоснована доступностью для любого разработчика исходного кода, а также относительной легкостью в изучении Python так как он похож на используемый многими инженерами язык Matlab

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

Архитектура TOPY представлена на Рис. 1, показаны лишь основная структура пакета.

Рис. 1. Архитектура TOPY

Для описания проблемы оптимизации топологии создается файл, который анализируется, такой файл именуется файлом определения задачи, который обрабатывается модулем “parser.py”, модуль “topology.py” используется для визуализации хода оптимизации, в модуле “topology.py” реализуется экспоненциальная и диагональная аппроксимация, а также фильтр серого цвета с диагональной квадратичной аппроксимацией [3, с. 48], модуль “elements.py” описывает конечно-элементную сетку создаваемую для решаемой задачи.

Для использования TOPY необходима версия Python не выше 2.7.x, наличие установленных библиотек “ NumPy+MKL”, “ PySparse”, “ PyVTK”, “matplotlib”, “ SymPy”, после установки этих пакетов необходимо установить сам TOPY, запуск оптимизации осуществляется посредством передачи “ optimise.py” пути на файл определения задачи с расширением “.tpd” пример команды: “python optimise.py *.tpd”, после запуска ход оптимизации будет отображается в консоли (Рис. 2)

Рис. 2. Процесс выполнения файла с заданием

Результат выполнения на каждой итерации будет хранится в том-же каталоге откуда производится запуск, в папке “Steps” (Рис. 4), для 2d заданий TOPY будет сохранять в каталоге изображения с разрешением пропорциональным сетке задания, при выполнении 3d заданий TOPY будет сохранять результат работы в файлах с расширением “.tpk” которые не представляет труда открыть программе PARAVIEW (Рис. 5).

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

Файл с заданием для этого примера имеет следующий вид:

[ToPy Problem Definition File v2007]

# Author: William Hunter

# The 'classic' 60x20 2d mbb beam, as per Ole Sigmund's 99 line code.

PROB_TYPE : comp

PROB_NAME : beam_2d_reci

ETA : 0.5 # reciprocal approx.

DOF_PN : 2

VOL_FRAC : 0.5

FILT_RAD : 1.5

ELEM_K : Q4

NUM_ELEM_X : 60

NUM_ELEM_Y : 20

NUM_ELEM_Z : 0

FXTR_NODE_X: 1|21

FXTR_NODE_Y: 1281

LOAD_NODE_Y: 1

LOAD_VALU_Y: -1

NUM_ITER : 250

P_FAC : 3

где:

PROB_TYPE — Тип проблемы;

PROB_NAME — Имя проблемы;

ETA — Отвечает за степень округления при каждой итерации;

DOF_PN — Количество степеней свободы для ноды;

VOL_FRAC — Объемная доля твердого материала к общему объему доменов;

FILT_RAD — Радиус действия фильтра;

ELEM_K — Матрица жесткости элемента;

NUM_ELEM_X — Количество элементов по соответствующей оси;

FXTR_NODE_X — Параметры жёсткости ноды;

LOAD_NODE_Y — Номер нагружаемой ноды;

LOAD_VALU_Y — Значение нагружаемой силы;

NUM_ITER — Число выполняемых итераций;

P_FAC — Штрафной фактор.

Рис. 3. 2d нагруженная балка

Рис. 4. Графическое представление процесса выполнения 2d задания оптимизации на каждой итерации

Рис. 5. Графическое представление процесса выполнения 3d задания оптимизации

TOPY может применятся в академических целях для наглядного изучения вопросов связанных с топологической оптимизацией, так как исходный код доступен для всех желающих.

Литература:

  1. Betts J. T. Methods of Optimal Control and Estimation Using Nonlionear Programming. 2nd ed. Philadelphia.: SIAM, 2010, 434 p.
  2. Ричард Столлман. X11 License (англ.). Various Licenses and Comments about Them. Доступно: http://www.gnu.org/licenses/license-list.html#X11License
  3. Hunter, William. Predominantly solid-void three-dimensional topology optimisation using open source software. University of Stellenbosch, 2009.
Основные термины (генерируются автоматически): TOPY, топологическая оптимизация, ETA, задание оптимизации, PARAVIEW, MIT, графическое представление процесса выполнения, нелинейное программирование, исходный код, нагруженная балка.


Ключевые слова

питон, топологическая оптимизация

Похожие статьи

Деревья решения для задач построения рейтинга коммерческих...

RStudio — свободная среда разработки программного обеспечения с открытым исходным кодом для языка программирования R

Использование программных пакетов для решения экологических задач. Поиск решения как средство решения задач оптимизации и теории игр.

Оптимизация алгоритма выравнивания биологических...

Задача динамического программирования.

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

Исходный код программы расположен в git-репозитории по адресу https...

Сервисы информационных систем | Статья в журнале...

Суть создания ITIL состоит в том, чтобы повысить уровень эффективности информационных систем в процессе выполнения задач

Таким образом, оптимизации IT-инфраструктуры на основе современного сервис ориентированного IT-менеджмента ITIL позволяет

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

Задачи такого вида решаются методами динамического программирования. Вторая проблема заключается в том, когда детали или узлы неожиданно выходят из строя, либо через

На сегодняшний день используется ряд способов решения задач оптимизации в строительстве.

Оптимизация по условиям Куна — Таккера | Статья в журнале...

Рассмотрим частный случай задачи нелинейного программирования, а

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

Управление IT-проектами | Статья в журнале «Молодой ученый»

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

Распределению ресурсов, может быть достигнуто путем оптимизации графика.

Динамическое программирование в решении задачи...

Рис. 1 Декомпозиция задачи оптимизации размещения электронных компонентов системы управления на n этапов. Динамическое программирование определяет оптимальное решение n-мерных задач путем ее декомпозиции на n этапов.

Исследование методов применения СППР в задаче...

Представление знаний о процессе преобразования функциональной модели в физическую модель сети в виде

− Нечеткие количественные значения исходных данных: интенсивности и объемы

Представление нелинейных связей. Представление экспертных оценок.

Обсуждение

Социальные комментарии Cackle

Похожие статьи

Деревья решения для задач построения рейтинга коммерческих...

RStudio — свободная среда разработки программного обеспечения с открытым исходным кодом для языка программирования R

Использование программных пакетов для решения экологических задач. Поиск решения как средство решения задач оптимизации и теории игр.

Оптимизация алгоритма выравнивания биологических...

Задача динамического программирования.

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

Исходный код программы расположен в git-репозитории по адресу https...

Сервисы информационных систем | Статья в журнале...

Суть создания ITIL состоит в том, чтобы повысить уровень эффективности информационных систем в процессе выполнения задач

Таким образом, оптимизации IT-инфраструктуры на основе современного сервис ориентированного IT-менеджмента ITIL позволяет

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

Задачи такого вида решаются методами динамического программирования. Вторая проблема заключается в том, когда детали или узлы неожиданно выходят из строя, либо через

На сегодняшний день используется ряд способов решения задач оптимизации в строительстве.

Оптимизация по условиям Куна — Таккера | Статья в журнале...

Рассмотрим частный случай задачи нелинейного программирования, а

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

Управление IT-проектами | Статья в журнале «Молодой ученый»

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

Распределению ресурсов, может быть достигнуто путем оптимизации графика.

Динамическое программирование в решении задачи...

Рис. 1 Декомпозиция задачи оптимизации размещения электронных компонентов системы управления на n этапов. Динамическое программирование определяет оптимальное решение n-мерных задач путем ее декомпозиции на n этапов.

Исследование методов применения СППР в задаче...

Представление знаний о процессе преобразования функциональной модели в физическую модель сети в виде

− Нечеткие количественные значения исходных данных: интенсивности и объемы

Представление нелинейных связей. Представление экспертных оценок.

Задать вопрос