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

To amitrofanov:

Спасибо большое за внимание.

Вот скриншот с одного из проектов в CST.

post-74574-1358618295_thumb.jpg

Геометрически все очень просто. Волноводы квадратного сечения 10 мкм*10 мкм. Длина волны в вакууме 10.6 мкм. Важно, что между материалом волноводов и материалом окружающей среды очень малый контраст: delta n= 0.03, тогда как n волновода = 3.5 Такой малый контраст обеспечивает одномодовость волновода (без учета поляризации) при достаточно большой апертуре. При этом отношение волнового числа вдоль волновода и поперек – около 11.

Ограничить (сверху?) количество генерируемых элементов – это интересно. Но, вопрос, как они распределятся по всему телу? Ведь автоматический мешер, когда генерирует начальную сетку, не знает распределений полей и то, как быстро они меняются вдоль каждой из координат в отдельности. Поэтому, вероятно, частота узлов в направлении вдоль волновода и поперек волновода будет одна и та же и будет определяться модулем полного волнового вектора в волноводе w*n/c? Если так, то этот вариант не подходит.

«Критерий начальной сетки можно взять не как Lambda*0.333 (в диэлектрике), а как Lambda*0.5, (или в воздухе).»

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

 

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


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

To Hale: Спасибо за ответ.

"можно для объектов по отдельности вручную задавать пределы плотности узлов и еще какие-то параметры начального разбиения."

Какие пределы плотности - нижние или верхние? Нижние пределы плотности можно задавать и в CST, но мне нужна установка верхних пределов, т.к. я хочу разредить сетку. Причем, что важно, только по двум их трех направлений. А в CST задаваемые параметры сетки действуют для всех трех направлений. В HFSS ситуация такая же? Подскажите.

 

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

Как правильно здесь сказали, с самой большой лямбда в поперечном сечении. Именно эта мода меня интересует. Поле в ней меняется очень медленно поперек волновода, и очень быстро вдоль волновода. Поэтому мне нужны разные шаги сетки: большие поперек волновода и маленькие вдоль. И, EVS, никакого подвоха здесь нет :biggrin:

 

 

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

> Какие пределы плотности - нижние или верхние?

И верхние тоже. Кликаем на объект, меш-операции, максимальная длинна элемента в мм. Или максимальная длина поверхностного треугольника.

И количество элементов на объект тоже огриничивается, чтобы на каком-нибудь винтике с неправильной формой не застопорился. И устанавливается начальное разрешение сетки для объекта. Например, для interdigital структур на СВЧ надо не забыть вручную задать поменьше, иначе конденсаторы просто пропустит...

есть и адаптивная подстройка по заданному скин-слою.

Кроме того есть и глобальные настройки допусков при мешировании.

 

>Причем, что важно, только по двум их трех направлений.

С этим сложнее. Видимо, придется либо играться с настройками по скинслою, либо клеить из кусков, не объединяя в один объект.

На сколько я помню, на 11 версии ребята с BSTO пленками (epsilon~700) именно в этом месте имели адские проблемы, т.к. им надо было плотность раздельно задавать по координатам.

Вообще, AFAIK, вся суть то в том, что FEM тем точнее, чем равнобедреннее тетраэдр. А анизотропная плотность разбиения приводит к косым тетраэдрам, из-за чего будет получаться чушь в решении.

 

Думаю, вас Driven Modal солвер вполне устроит. Он как раз хорошо и быстро на основной моде такие вещи считает.

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

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


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

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

ну, он по своей логике сначала генерит вероятную сетку, это одну секунду займет, а потом раз 10(сколько закажете) уточняет ее с учетом распределения поля в предыдущем шаге. Так, на 10 шаге в резонаторах прямо видно где пучности прямо по сетке. Все это автоматизировано и критерий остановки - сходимость S-параметров. (ну или сами себе решите, когда его остановить... для меня это максимальный объем памяти)

После этого по найденнгой сетке начинается свипирование.

Естественно, если вы предполагаете расчет в нескольких полосах, то задачку лучше разбивать на диапазоны. Для одного проекта можно сразу задать несколько начальных частот и свипов для их мешей. Потом решения объедините из кусков на одном графике

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

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


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

ну, он по своей логике сначала генерит вероятную сетку, это одну секунду займет, а потом раз 10(сколько закажете) уточняет ее с учетом распределения поля в предыдущем шаге. Так, на 10 шаге в резонаторах прямо видно где пучности прямо по сетке. Все это автоматизировано и критерий остановки - сходимость S-параметров. (ну или сами себе решите, когда его остановить... для меня это максимальный объем памяти)

После этого по найденнгой сетке начинается свипирование.

Естественно, если вы предполагаете расчет в нескольких полосах, то задачку лучше разбивать на диапазоны. Для одного проекта можно сразу задать несколько начальных частот и свипов для их мешей. Потом решения объедините из кусков на одном графике

 

 

... или сделать зависимые сетки. Например, если Вы считаете полосой фильтр на связанных резонаторах, то первая сетка строится для первого Fmesh1 (близкого к 1му резонансу), а вторая зависимая от первого mesh, подстраивается по другой частоте адаптивного свопирования Fmesh2. Тем самым экономится время генерирования новой сетки для другой частоты Fmesh (кол-во проходов можно взять меньше при той-же точности). Но это зависит от добротности Frez.

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


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

Че-то мои вопросы ставят в тупик общественность, но может сейчас повезет. :)

Как нарисовать изменения с частотой суммы углов при которых ДН в данной плоскости имеет заданный уровень (-3дБ, например).

В идеале не только от частоты, а и в различных заданных плоскостях.

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


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

Как нарисовать...

Только встроенными функциями, похоже, никак. Хотя, если знать заранее количество лепестков и хотя бы ориентировочно пределы углов, в которых гарантированно находится каждый, можно было бы суммировать результаты нескольких XWidthAtYVal в каждом X поддиапазоне.

Но, это "если знать" :rolleyes: ...

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


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

ХА! Этот вопрос нас в тупик не поставит! Как раз то, чем я сейчас занимаюсь, и судя по всему - никак.

Выделяем максимум на диаграме gain*(gain>(max(gain)-xdB)), водим мышкой по отрисованному клину и вбиваем значения в Эксель.

Ну ладно, мы народ не гордый, лишь бы считало быстро.

 

Вот я тоже надеялся, что сделают функциональные зависимости от частоты (а еще лучше - мощности) mu, epsilon, sigma и т.п. в материалах. А как нам на семинаре сказали, в 14 версии так и не реализовали. Завтра, с великими благодарностями к администрации, буду пробовать 15 версию.

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

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


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

...

Вот я тоже надеялся, что сделают функциональные зависимости от частоты (а еще лучше - мощности) mu, epsilon, sigma и т.п. в материалах. А как нам на семинаре сказали, в 14 версии так и не реализовали. Завтра, с великими благодарностями к администрации, буду пробовать 15 версию.

...

 

Частотную зависимость то можно в HFSSе создать для параметров материалов - это как раз не проблема. Посмотрите в Help`е раздел "Defining Frequency-Dependent Material Properties" или введите в поисковике хелпа "Set Frequency Dependency". Там Вам и пользовательские частотные зависимости и модели Дебая. А вот как задать зависимость параметров материалов (тех же mu, epsilon, sigma ... ) от мощности сигнала или напряженности поля чтобы рассчитывать нелинейные эффекты - пока не знаю. Может кто-то делал функциональную зависимость свойств тех же материалов от переменных пост-процессора (Freq,OP, ... ) ?

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


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

Не, ёксель это не труъ. :)

В общем чтобы посчитать косоглазие ДН выраженной в дБ по уровню -3 нужна формулка: 2*XAtYVal(dB20normalize(rETotal), -3 )+XWidthAtYVal(dB20normalize(rETotal), -3 ) . Соответственно это же можно прописать и в оптимизаторе, просто и удобно. Да, конечно, надо знать где находится лепесток и вводить соотв. поправку руками , либо, например, можно вычесть положение его максимума аналогичным способом, если не хочется вводить руками.

 

 

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


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

Частотную зависимость то можно в HFSSе создать для параметров материалов - это как раз не проблема. Посмотрите в Help`е раздел "Defining Frequency-Dependent Material Properties" или введите в поисковике хелпа "Set Frequency Dependency". Там Вам и пользовательские частотные зависимости и модели Дебая. А вот как задать зависимость параметров материалов (тех же mu, epsilon, sigma ... ) от мощности сигнала или напряженности поля чтобы рассчитывать нелинейные эффекты - пока не знаю. Может кто-то делал функциональную зависимость свойств тех же материалов от переменных пост-процессора (Freq,OP, ... ) ?

 

Это не частотная зависимость (функциональная, в всмысле. конечноя про нее). Это таблица.

Интересует ведь функция от частоты. типа mu(2,1)=(g*Ms)*Freq/((g*H_bias)^2-Freq^2). Хотя, дефакто, mu, например, запрограммировано "правильно" (что, однако никак не отражено в доках), DH - совсем непонятно как запрограммировано и интересно было бы его ручками задавать...

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

 

ой, и точно, оригинально. возьму на вооружение

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

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


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

В общем чтобы посчитать косоглазие ДН выраженной в дБ по уровню -3 нужна формулка...

В такой штуке есть одна фишка:

Если в переменных вручную задавать диапазон углов для вычисления ширины лепестка, то normalize при поиске пронормирует кривую к максимуму только в пределах этого диапазона, а не к максимуму всей ДН. Т.е. все вычисленные ширины будут нормированы, в общем случае, совершенно по-разному.

Хотя при использовании Add Trace Characteristics при точно таком же задании углов все будет нормированно к единому максимуму всей ДН.

 

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


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

Именно так и приходится делать, типа: XWidthAtYVal(dB(DirTotal/PeakDirectivity), -3)*180/pi

Поэтому это вовсе и не "проблема :cranky: ", а всего лишь "фишка :lol: ".

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


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

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

 

Нелинейность от мощности в HFSS не имеет смысла для реализации, так как в этом случае надо ликвидоровать возможность изменять значения для портов и делать co-simulation Designer-HFSS.

 

Если смотреть на физику, то нелинейные (от мощности) материалы требуют совершенно другого математического расчета.

 

Нелинейность по частоте реализована вполне разумно, так как вы можете заранее подготовить свою линейность в Excel и после загрузить зависимость в dataset и использовать данный dataset для задания нелинейности.

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


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

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

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

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

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

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

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

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

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

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