|
|
  |
Вопросы по CST |
|
|
|
Jun 23 2008, 14:01
|
Местный
  
Группа: Свой
Сообщений: 201
Регистрация: 11-04-08
Из: Украина
Пользователь №: 36 680

|
Цитата(Tatyana @ Jun 23 2008, 16:36)  Люди добрые, киньте на tanigva@gmail.com пример с многомерной оптимизицией, родной или свою задачку. Изобретение велосипеда зашло в тупик  Может лучше будет, если вы кратко опишите свою задачу и возникшие затруднения. Что именно у Вас не получается: задать настройки оптимизатора? Описать целевую функцию? Что-то ещё? Тогда будет понятно, что можно посоветовать и какие примеры прислать.
|
|
|
|
|
Jun 23 2008, 17:54
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 17-05-06
Из: Торонто, Канада
Пользователь №: 17 193

|
Цитата(StasExR @ Jun 23 2008, 10:01)  Может лучше будет, если вы кратко опишите свою задачу и возникшие затруднения. Что именно у Вас не получается: задать настройки оптимизатора? Описать целевую функцию? Что-то ещё? Тогда будет понятно, что можно посоветовать и какие примеры прислать. Спасибо за отклик. Вначале описала довольно сложные задачки для оптимизации, потом хотела убрать, но оставлю ниже... Вот самая простая задачка с двумя переменными и оптимизацией в диапазоне. Хочу перейти с очень большого коаксиала на очень маленький с помощью переходника с какими-то значениями внутреннего и внешнего радиуса (два геометрических параметра, длина -- третий), через импедансы найду первое приближение. Целевая функция -- худшее значение прохождения из 5 частотных точек по диапазону. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Спасибо за отклик. Привожу пример самой простой задачки, пример оптимизации которой меня бы устроил. Имеем самый простой волноводный фильтр, например на H-плоскостных диафрагмах (на штырях или любая другая реализация). Хочу прооптимизировать АЧХ -- в полосе прохождение не хуже 0.1 dB (оптимизиция по 5-6 точкам, худшее значение) и вне полосы в одной (двух) частотных точках -- не хуже чем 20 dB (и 30 dB). Итого, целевая функция = худшее значение в полосе+вес*(1/значение вне полосы). На каждом шаге просчитываем S-параметры в 5-8 точках. Параметры оптимизиции для фильтра на диафрагмах -- длина резонаторов и ширина диафрагм. Или -- направленный ответвитель. Считаем характеристики в 5-6 точках по диапазону. Оптимизируем: связь -- не хуже (10dB+-0.5dB), возвратные потери в худшей точке не хуже 30dB, изоляция -- не хуже 50dB. Или -- лучшая возможная. Параметры -- геометрические. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< То есть я хочу целевую функцию -- комбинация S-параметров в нескольких частотных точках, а параметры оптимизации -- геометрия структуры. Хотелось бы пример с написанием макроса целевой функции. Но буду благодарна за любую задачку с многомерной оптимизицией.
|
|
|
|
|
Jun 24 2008, 07:18
|
Местный
  
Группа: Свой
Сообщений: 201
Регистрация: 11-04-08
Из: Украина
Пользователь №: 36 680

|
Цитата(Tatyana @ Jun 23 2008, 20:54)  Спасибо за отклик. Вначале описала довольно сложные задачки для оптимизации, потом хотела убрать, но оставлю ниже... Вот самая простая задачка с двумя переменными и оптимизацией в диапазоне. Хочу перейти с очень большого коаксиала на очень маленький с помощью переходника с какими-то значениями внутреннего и внешнего радиуса (два геометрических параметра, длина -- третий), через импедансы найду первое приближение. Целевая функция -- худшее значение прохождения из 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-параметр вне этой полосы частот. Натройка оптимизатора будет выглядеть примерно следующим образом: Раньше я тоже писал макросы для целевых функци
|
|
|
|
|
Jun 24 2008, 08:24
|
Местный
  
Группа: Свой
Сообщений: 201
Регистрация: 11-04-08
Из: Украина
Пользователь №: 36 680

|
Цитата(Tatyana @ Jun 23 2008, 20:54)  Вот самая простая задачка с двумя переменными и оптимизацией в диапазоне.. Опишу кратко, как нужно настроить оптимизатор для такой задачи. 1. Сначала самый простой случай: оптимизация по 3 переменным и целевая функция - S-параметр в полосе частот + S-параметр вне этой полосы частот. Настройка оптимизатора будет выглядеть примерно следующим образом:
(Конкретные цифры взяты для примера) При этом вам не нужно заботится об указании конкретных частотных точек в которых оптимизируются S-параметры и оптимизация проходит по всем посчитанным (или интерполированным) точкам диапазона. А считать можете как F-солвером так и T-солвером (с применением авторегрессионного фильтра если рассчитывается резонансная структура) 2. Если вы настоятельно хотите проводить оптимизацию только в конкретных частотных точках или хотите извлекать какие-либо ещё значения и по ним оптимизировать тогда советую использовать оптимизацию по 0D-Result в комбинации с Postprocessing Template. Например:
3. Что касается написания макросов.. Раньше я тоже писал макросы для целевых функций. А сейчас, в особенности после выхода CST 2008, пользуюсь встроенными возможностями Postprocessing Template. Например функции Mix1DResults, 0DresultFrom1Dresult, Mix0dResults и др. позволяют делать над посчитанными результатами операции почти любой сложности. А затем можно определить посчитанный 0DResult-ы в виде целевых функций с разными весами. PS Если что-то не получится, расскажу про макросы =) PPS предыдущее сообщение добавилось случайно и не удаляется..
Сообщение отредактировал StasExR - Jun 24 2008, 08:28
|
|
|
|
|
Jun 24 2008, 13:16
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 17-05-06
Из: Торонто, Канада
Пользователь №: 17 193

|
2StasExR Огромное спасибо! Даже быстрого взгляда на картинки было достаточно для просветления в мозгах. И еще раз -- СПАСИБО!
|
|
|
|
|
Jun 25 2008, 12:03
|
Евгений
    
Группа: Свой
Сообщений: 1 167
Регистрация: 22-01-05
Из: С.-Петербург
Пользователь №: 2 115

|
Цитата(Valodores @ Jun 25 2008, 10:25)  Подскажите пожалуйста, в работающей модели с Discret Edge port для перехода на Discret face port достаточно ли простой замены портов или же нужно выполнить еще некоторые действия? Странный вопрос. В общем случае Discret Edge port - это PEC прорводник между точками. А Discret face port - это поверхность между гранями или их наборами. И посему далеко не всегда простая замена возможна, зависит от конкретной модели.
|
|
|
|
|
Jun 25 2008, 19:47
|
Местный
  
Группа: Свой
Сообщений: 271
Регистрация: 13-11-07
Пользователь №: 32 288

|
Цитата(EVS @ Jun 25 2008, 15:03)  Странный вопрос. В общем случае Discret Edge port - это PEC прорводник между точками. А Discret face port - это поверхность между гранями или их наборами. И посему далеко не всегда простая замена возможна, зависит от конкретной модели. Модель такова, что точки подключения разнесены в пространстве и нужно, чтоб при моделировании промежуток между точками подключения не мешировался, т.е., чтоб порт не вносил вклад в расчитанное поле. Discret Edge port - вносит, поэтому хочу сравнить результаты, используя Discret face port, чтоб оценить разницу. Поэкспериментировать решил на классическом электрическом диполе, но при использовании Discret face port солвер постоянно спотыкается об ошибку:"Failed to read database file".
|
|
|
|
|
Jun 26 2008, 04:08
|
Местный
  
Группа: Свой
Сообщений: 271
Регистрация: 13-11-07
Пользователь №: 32 288

|
Цитата(EVS @ Jun 26 2008, 00:11)  Хм... А у меня не спотыкается  . Что делать? Попробовал Ваш пример, ошибка все таже. Значит, скорее всего, причина в патче от 27.05.08. Теперь хоть знаю где собака порылась  . Спасибо, буду разбираться.
|
|
|
|
|
Jun 26 2008, 11:54
|
Знающий
   
Группа: Свой
Сообщений: 648
Регистрация: 22-07-05
Пользователь №: 7 016

|
Цитата чтоб порт не вносил вклад в расчитанное поле Порт будет вносить вклад в любом случае, пока вы не за используете фичу экранировать порт, но насколько она сработает в вашем случае сказать сложно. Просто когда у вас Discret Edge, то из-за протекания всего тока по очень тонкому проводнику, у вас ток стягивается к точке подключения порта, в Discret face случае, распределение тока более соответсвует реальности.
|
|
|
|
|
Jun 26 2008, 16:31
|
Местный
  
Группа: Свой
Сообщений: 271
Регистрация: 13-11-07
Пользователь №: 32 288

|
Цитата(EVS @ Jun 26 2008, 14:50)  Едва ли. Пример собран и просчитан именно в этой версии (вроде, SP6): Так что собака, похоже, рылась где-то в др. месте... Ан нет, снес патч и Ваш пример сразу заработал и мой тоже, если не включать параметризацию. При запуске Par. Sweep появляется сообщение:"Could not process discrete face port. Error in calculating solver matrix." Но с этим уже можно хоть как-то бороться. Так что спасибо Вам за помощь в локализации ошибки.
|
|
|
|
|
  |
33 чел. читают эту тему (гостей: 33, скрытых пользователей: 0)
Пользователей: 0
|
|
|