Перейти к содержанию
    

Люди добрые, киньте на [email protected] пример с многомерной оптимизицией, родной или свою задачку. Изобретение велосипеда зашло в тупик :help:

 

Может лучше будет, если вы кратко опишите свою задачу и возникшие затруднения. Что именно у Вас не получается: задать настройки оптимизатора? Описать целевую функцию? Что-то ещё?

Тогда будет понятно, что можно посоветовать и какие примеры прислать.

Поделиться сообщением


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

Может лучше будет, если вы кратко опишите свою задачу и возникшие затруднения. Что именно у Вас не получается: задать настройки оптимизатора? Описать целевую функцию? Что-то ещё?

Тогда будет понятно, что можно посоветовать и какие примеры прислать.

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

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

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Спасибо за отклик. Привожу пример самой простой задачки, пример оптимизации которой меня бы устроил. Имеем самый простой волноводный фильтр, например на H-плоскостных диафрагмах (на штырях или любая другая реализация). Хочу прооптимизировать АЧХ -- в полосе прохождение не хуже 0.1 dB (оптимизиция по 5-6 точкам, худшее значение) и вне полосы в одной (двух) частотных точках -- не хуже чем 20 dB (и 30 dB).

Итого, целевая функция = худшее значение в полосе+вес*(1/значение вне полосы). На каждом шаге просчитываем S-параметры в 5-8 точках. Параметры оптимизиции для фильтра на диафрагмах -- длина резонаторов и ширина диафрагм.

Или -- направленный ответвитель. Считаем характеристики в 5-6 точках по диапазону. Оптимизируем: связь -- не хуже (10dB+-0.5dB), возвратные потери в худшей точке не хуже 30dB, изоляция -- не хуже 50dB. Или -- лучшая возможная. Параметры -- геометрические.

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

То есть я хочу целевую функцию -- комбинация S-параметров в нескольких частотных точках, а параметры оптимизации -- геометрия структуры.

Хотелось бы пример с написанием макроса целевой функции.

Но буду благодарна за любую задачку с многомерной оптимизицией.

Поделиться сообщением


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

Работаю с face port, но как бы я его не задавал, при запуске солвера получаю сообщение: "Failed to read database file". Пока стоял Edge port все работало.

Поделиться сообщением


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

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

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

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Спасибо за отклик. Привожу пример самой простой задачки, пример оптимизации которой меня бы устроил. Имеем самый простой волноводный фильтр, например на H-плоскостных диафрагмах (на штырях или любая другая реализация). Хочу прооптимизировать АЧХ -- в полосе прохождение не хуже 0.1 dB (оптимизиция по 5-6 точкам, худшее значение) и вне полосы в одной (двух) частотных точках -- не хуже чем 20 dB (и 30 dB).

Итого, целевая функция = худшее значение в полосе+вес*(1/значение вне полосы). На каждом шаге просчитываем S-параметры в 5-8 точках. Параметры оптимизиции для фильтра на диафрагмах -- длина резонаторов и ширина диафрагм.

Или -- направленный ответвитель. Считаем характеристики в 5-6 точках по диапазону. Оптимизируем: связь -- не хуже (10dB+-0.5dB), возвратные потери в худшей точке не хуже 30dB, изоляция -- не хуже 50dB. Или -- лучшая возможная. Параметры -- геометрические.

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

То есть я хочу целевую функцию -- комбинация S-параметров в нескольких частотных точках, а параметры оптимизации -- геометрия структуры.

Хотелось бы пример с написанием макроса целевой функции.

Но буду благодарна за любую задачку с многомерной оптимизицией.

 

Опишу кратко, как нужно настроить оптимизатор для такой задачи.

1. Сначала самый простой случай: оптимизация по 3 переменным и целевая функция - S-параметр в полосе частот + S-параметр вне этой полосы частот.

Натройка оптимизатора будет выглядеть примерно следующим образом:

 

 

Раньше я тоже писал макросы для целевых функци

Поделиться сообщением


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

Вот самая простая задачка с двумя переменными и оптимизацией в диапазоне..

 

Опишу кратко, как нужно настроить оптимизатор для такой задачи.

1. Сначала самый простой случай: оптимизация по 3 переменным и целевая функция - S-параметр в полосе частот + S-параметр вне этой полосы частот.

Настройка оптимизатора будет выглядеть примерно следующим образом:

post-36680-1214291968_thumb.jpg post-36680-1214292229_thumb.jpg

(Конкретные цифры взяты для примера)

При этом вам не нужно заботится об указании конкретных частотных точек в которых оптимизируются S-параметры и оптимизация проходит по всем посчитанным (или интерполированным) точкам диапазона. А считать можете как F-солвером так и T-солвером (с применением авторегрессионного фильтра если рассчитывается резонансная структура)

 

2. Если вы настоятельно хотите проводить оптимизацию только в конкретных частотных точках или хотите извлекать какие-либо ещё значения и по ним оптимизировать тогда советую использовать оптимизацию по 0D-Result в комбинации с Postprocessing Template. Например:

post-36680-1214294823_thumb.jpg post-36680-1214294806_thumb.jpg post-36680-1214294838_thumb.jpg

 

3. Что касается написания макросов.. Раньше я тоже писал макросы для целевых функций. А сейчас, в особенности после выхода CST 2008, пользуюсь встроенными возможностями Postprocessing Template. Например функции Mix1DResults, 0DresultFrom1Dresult, Mix0dResults и др. позволяют делать над посчитанными результатами операции почти любой сложности. А затем можно определить посчитанный 0DResult-ы в виде целевых функций с разными весами.

 

PS Если что-то не получится, расскажу про макросы =)

PPS предыдущее сообщение добавилось случайно и не удаляется..

Изменено пользователем StasExR

Поделиться сообщением


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

Люди добрые, киньте на [email protected] пример с многомерной оптимизицией, родной или свою задачку. Изобретение велосипеда зашло в тупик :help:

 

 

Не знаю, что изменилось со времен 2006 ЦСТ, но мой вывод, что лучше использовать оптимизацию, реализованную в Матлабе, и использовать связку Матлаба и ЦСТ для расчета моделей (где-то тут была моя тема по такой связке - изменение параметром точно работает)

Поделиться сообщением


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

2StasExR

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

И еще раз -- СПАСИБО!

Поделиться сообщением


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

Подскажите пожалуйста, в работающей модели с Discret Edge port для перехода на Discret face port достаточно ли простой замены портов или же нужно выполнить еще некоторые действия?

Поделиться сообщением


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

Подскажите пожалуйста, в работающей модели с Discret Edge port для перехода на Discret face port достаточно ли простой замены портов или же нужно выполнить еще некоторые действия?

Странный вопрос.

В общем случае Discret Edge port - это PEC прорводник между точками. А Discret face port - это поверхность между гранями или их наборами. И посему далеко не всегда простая замена возможна, зависит от конкретной модели.

Поделиться сообщением


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

Странный вопрос.

В общем случае Discret Edge port - это PEC прорводник между точками. А Discret face port - это поверхность между гранями или их наборами. И посему далеко не всегда простая замена возможна, зависит от конкретной модели.

Модель такова, что точки подключения разнесены в пространстве и нужно, чтоб при моделировании промежуток между точками подключения не мешировался, т.е., чтоб порт не вносил вклад в расчитанное поле. Discret Edge port - вносит, поэтому хочу сравнить результаты, используя Discret face port, чтоб оценить разницу. Поэкспериментировать решил на классическом электрическом диполе, но при использовании Discret face port солвер постоянно спотыкается об ошибку:"Failed to read database file".

Поделиться сообщением


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

Поэкспериментировать решил на классическом электрическом диполе, но при использовании Discret face port солвер постоянно спотыкается об ошибку:"Failed to read database file".

Хм... А у меня не спотыкается :yeah: . Что делать?

Dipole_Face_Port.rar

Поделиться сообщением


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

Хм... А у меня не спотыкается :yeah: . Что делать?

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

Поделиться сообщением


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

.. Значит, скорее всего, причина в патче от 27.05.08...

Едва ли. Пример собран и просчитан именно в этой версии (вроде, SP6):

post-2115-1214480788.png

Так что собака, похоже, рылась где-то в др. месте...

Поделиться сообщением


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

чтоб порт не вносил вклад в расчитанное поле

 

Порт будет вносить вклад в любом случае, пока вы не за используете фичу экранировать порт, но насколько она сработает в вашем случае сказать сложно. Просто когда у вас Discret Edge, то из-за протекания всего тока по очень тонкому проводнику, у вас ток стягивается к точке подключения порта, в Discret face случае, распределение тока более соответсвует реальности.

Поделиться сообщением


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

Едва ли. Пример собран и просчитан именно в этой версии (вроде, SP6):

post-2115-1214480788.png

Так что собака, похоже, рылась где-то в др. месте...

Ан нет, снес патч и Ваш пример сразу заработал и мой тоже, если не включать параметризацию. При запуске Par. Sweep появляется сообщение:"Could not process discrete face port. Error in calculating solver matrix." Но с этим уже можно хоть как-то бороться. Так что спасибо Вам за помощь в локализации ошибки.

Поделиться сообщением


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

  Разрешено использовать не более 75 эмодзи.

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

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

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

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