Jump to content

    
edc

Вопросы по HFSS

Recommended Posts

Друзья помогите пожалуйста разобраться, нарисовал микрополосковую линию в HFSS, но при моделировании выскакивает ошибка (Port refinement, process hf3d error: Too few conductors were found on port 1.  There should be one conductor for each terminal, with one additional reference conductor.  Unintentional contact between conductors may cause this error.), все перепроверил 10 раз, все нормально вроде, не могу понять в чем дело!HFSS 13 версии, кинул сам файл, может кто подскажет в чем дело?

Microstrip.hfss

Share this post


Link to post
Share on other sites
31 минуту назад, xavi7031 сказал:

Друзья помогите пожалуйста разобраться, нарисовал микрополосковую линию в HFSS, но при моделировании выскакивает ошибка (Port refinement, process hf3d error: Too few conductors were found on port 1.  There should be one conductor for each terminal, with one additional reference conductor.  Unintentional contact between conductors may cause this error.), все перепроверил 10 раз, все нормально вроде, не могу понять в чем дело!HFSS 13 версии, кинул сам файл, может кто подскажет в чем дело?

Microstrip.hfss 49 kB · 2 скачивания

Не пользовался такими портами. Порты ведь прокладываются между двумя проводниками. А у вас он висит просто на торце дорожки. Да и в сообщении вроде про это и говориться.

Нарисуйте под подложкой слой металла. А то у вас вообще не микрополосковая линия. И порт поставите между дорожкой и этим металлом.

image.thumb.png.392afed324b7b6a83d51dd2707f142e2.png

Share this post


Link to post
Share on other sites
4 часа назад, Pubzor сказал:

Не пользовался такими портами. Порты ведь прокладываются между двумя проводниками. А у вас он висит просто на торце дорожки. Да и в сообщении вроде про это и говориться.

Нарисуйте под подложкой слой металла. А то у вас вообще не микрополосковая линия. И порт поставите между дорожкой и этим металлом.

image.thumb.png.392afed324b7b6a83d51dd2707f142e2.png

Спасибо, заработало!

Share this post


Link to post
Share on other sites
10 часов назад, xavi7031 сказал:

 все перепроверил 10 раз, все нормально вроде

если тип проекта DrivenTerminal (Terminal), то сосредоточенные порты (LumpedPort) должны иметь минимум 1 терминал, а все остальные проводящие грани будут reference терминалом.

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

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

Лучше всего для этого подходит  тип порта WavePort. Обычго его рисуют как крупный прямоугольник (15 х 20 ширин и высот полосковой линии), а терминал назначают на торец (S = Surface) горячей полоски. Все остальные проводники в пределах такого прямоугольника - reference терминал (таких поверхностей может быть много, например в копланарной линии там будет 3 проводника печатной платы).

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

WavePort выгоден тем, что позволяет в свойствах порта устанавливать параметр De-Embed, который делает пересчет S-параметров (и соответственно Y/Z производных матриц) мгновенно после вписывания туда любой длины такой линии, хоть 1 километр.

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

При возбуждении Lumped установившися режим волны начинает формироваться на некотором расстоянии от места возбуждения. А в WavePort прямо на торец всей модели HFSS приходит уже сформировавшаяся ранее волна для такого сечения.

 

Lumped порт также сложно рисовать если порт касается проводников не прямоугольником а другой фигурой (нарисовать полоску с круглым сечение будет очень гиморойно, назначть терминал надо не на поверхность торца, а на периметр торца провода)

Для WavePort безразлично какой формы и сколько проводников попало в сечение порта. Любое количество проводников любой формы.

 

Если надо смоделировать исключетельно линию (не будете ничем обвешивать эту линию позже), то намного удобнее тип проекта 2D Extractor. Там рисуется только 2-мерное сечение линии, и линия решается не в S-параметрах, а в RL/CG постоянных линии передачи. Такой тип расчета и намного быстрее и намного точнее и намного удобнее - в результатах сразу можно выводить скорость распространения, характеристический импеданс, погонное затухание линии, и любой отдельно взятый R, L, C или G параметр. Для многопроводных линий (много земель и/или много сигнальных проводов) там очень удобные матрицы редуцирования, которые представляют группу проводников как один. Для многопроводных линий там очень удобно смотреть дифференциальный импеданс, common/even mode импедансы с минимумом телодвижений. В расчетах с S-матрицами, чтобы получить все эти данные надо ещё приложить много усилий.

Затраты времени на рисование линии тоже в разы меньше, т.к. рисуется только парочка прямоугольников (или других форм линии), а не 3-мерная модель

Edited by yurik82

Share this post


Link to post
Share on other sites
22.01.2021 в 21:48, yurik82 сказал:

если тип проекта DrivenTerminal (Terminal), то сосредоточенные порты (LumpedPort) должны иметь минимум 1 терминал, а все остальные проводящие грани будут reference терминалом.

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

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

Лучше всего для этого подходит  тип порта WavePort. Обычго его рисуют как крупный прямоугольник (15 х 20 ширин и высот полосковой линии), а терминал назначают на торец (S = Surface) горячей полоски. Все остальные проводники в пределах такого прямоугольника - reference терминал (таких поверхностей может быть много, например в копланарной линии там будет 3 проводника печатной платы).

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

WavePort выгоден тем, что позволяет в свойствах порта устанавливать параметр De-Embed, который делает пересчет S-параметров (и соответственно Y/Z производных матриц) мгновенно после вписывания туда любой длины такой линии, хоть 1 километр.

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

При возбуждении Lumped установившися режим волны начинает формироваться на некотором расстоянии от места возбуждения. А в WavePort прямо на торец всей модели HFSS приходит уже сформировавшаяся ранее волна для такого сечения.

 

Lumped порт также сложно рисовать если порт касается проводников не прямоугольником а другой фигурой (нарисовать полоску с круглым сечение будет очень гиморойно, назначть терминал надо не на поверхность торца, а на периметр торца провода)

Для WavePort безразлично какой формы и сколько проводников попало в сечение порта. Любое количество проводников любой формы.

 

Если надо смоделировать исключетельно линию (не будете ничем обвешивать эту линию позже), то намного удобнее тип проекта 2D Extractor. Там рисуется только 2-мерное сечение линии, и линия решается не в S-параметрах, а в RL/CG постоянных линии передачи. Такой тип расчета и намного быстрее и намного точнее и намного удобнее - в результатах сразу можно выводить скорость распространения, характеристический импеданс, погонное затухание линии, и любой отдельно взятый R, L, C или G параметр. Для многопроводных линий (много земель и/или много сигнальных проводов) там очень удобные матрицы редуцирования, которые представляют группу проводников как один. Для многопроводных линий там очень удобно смотреть дифференциальный импеданс, common/even mode импедансы с минимумом телодвижений. В расчетах с S-матрицами, чтобы получить все эти данные надо ещё приложить много усилий.

Затраты времени на рисование линии тоже в разы меньше, т.к. рисуется только парочка прямоугольников (или других форм линии), а не 3-мерная модель

 

Очень интересно, спасибо за информацию!

Edited by xavi7031

Share this post


Link to post
Share on other sites

xavi7031, перестаньтие оверквотить, тем более по детским вопросам с ответами из Хелпа и Гугля.

Lumped port также доступен и в Driven Modal.

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

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

Share this post


Link to post
Share on other sites
8 hours ago, Hale said:

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

Это чё за дичь? С микрополосками нет таких проблем вообще. С копланарами тоже гадать ничего не надо, надо только указать какая желаемая мода должна распространятся, потому что копланары с землёй поддерживают чётные/нечётные моды, и если в сечении порта у них торчит 4 раздельных проводника, то каким образом солвер должен определять где поставить плюс, где минус, если ему явно не указать?

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

Что ещё хуже, дискретный порт - это просто разность потенциалов, приложенная к кромкам проводников. Если эта разность потенциалов в сторону линии сформирует на некотором удалении правильную моду, которая будет распространятся в линии, то в другую сторону, от линии, эта разность потенциалов тупо торчит излучателем в открытое пространство. Особенно хорошо это видно на толстых подложках с низкой проницаемостью, там дискретный порт может терять 5% энергии просто на излучение с торца линии. А потом лезут вопросы с согласованием: почему у меня померянные результаты не такие как в модели! Так что я бы не сказал что это детские вопросы, абсолютно очевидные "не только лишь всем, но ещё и некоторым"©

Share this post


Link to post
Share on other sites
On 1/26/2021 at 8:34 PM, Freesom said:

Это чё за дичь?

This is Electrodynamics

d8wesuh-39d4481e-973d-40ff-956f-ad020d03
https://www.google.com/search?q=HFSS+port+impedance
https://www.researchgate.net/post/Why-HFSS-gives-different-characteristic-impedance-of-the-rectangular-waveguide-when-the-waveport-option-is-set-as-Zpi-and-Zpv

сосредоточенное сопротивление нагрузки не имеет точного эквивалента в пространственной (волновой) формулировке импеданса. Поэтому сущствуют разные формулировки дающие более или менее близкое значение в зависимости от геометрии. С этим часто связаны ошибки когда студенты оптимизируют под одну формулировку, а после того как разъем, или резистора запаян, нифига не работает.

>С микрополосками нет таких проблем вообще.
Как будто на свете нет ничего кроме микрополоска с бесконечными земляным полигоном и свободным пространсвом сверху.

>дискретный порт

Это просто резистор. Все. Как в Spice, или в FDTD, резистивная ячейка. Поэтому он будет давать наиболее адекватный результат там где планируется запаивать резистор.

>Напряжение

Праааавильно. А от напряжения через резистор течет ток. И дальше этот ток начнет распределяться по входному полоску. Поэтому вы сначала задаете сопротивление, что в общем похоже на формулировку Pvi, потом подгоняете подводной отрезок по импедансу, потом соединяете его с моделью.

Но если речь идет о многократной оптимизации большой модели, например резонатора или гибрида, вам не до расчета ширины полоска - это долго. А сосредоточенный порт вообще рассчитывать не надо, он подгоняется в постпроцессе. Поэтому для чернового результата просто кидаете сосредоточенный порт. С волновым портом так не выйдет - придется муторно свипировать полосок по ширине, что не всегда согласуется с черновой моделью, будут замыкания или выпадения мешей из модели.

Share this post


Link to post
Share on other sites

Может другим будет полезно, установка переменной окружения MKL_DEBUG_CPU_TYPE=5 на процессорах AMD Zen сильно ускоряет работу HFSS (этап решения Solver DCS2 ускорился в 1.83 раза)

Share this post


Link to post
Share on other sites

yurik82

Да, извесная фишка. Но в современном софте она уже не работает. Дело в том что Интеловский компилер лучше всех оптимизирован для интеловских процессоров, в частности для MMX, SMD и AVX инструкций. Похоже, HFSS использует именно его.

Компилер компилирует сразу нескольку версий рутин для разных процессоров. Но если такой бинарник при запуске обнаружит НЕ интеловский процессор, то все исполнение будет перенаправялться на самую медленную версию кода без оптимизаций и использвоания упомянутых фич. Но ведь AMD со времен царя гороха поддерживает MMX, SMD, а с некоторых времен и AVX, даже AVX2!? А вот фига, сказал интел.

Некоторое время назад Интел еще игрался с архитектурами, поэтому и добавил на всякий случай бэкдор в свой компилер в виде MKL_DEBUG_CPU_TYPE=5.

Но на сегодняшний день этот бэкдор уже закрыт. Поэтому не обновляйте софт.

Share this post


Link to post
Share on other sites
09.02.2021 в 15:15, Hale сказал:

 

Но на сегодняшний день этот бэкдор уже закрыт. Поэтому не обновляйте софт.

бекдор закрыт в MKL 2020 Update 1

я измерял прирост на Ansys 2019 R3, он составил 1.83 раза для этапа Solver DCS2

https://danieldk.eu/Posts/2020-08-31-MKL-Zen.html тут утверждают что бекдор убрали не со злости, а потому что добавили поддержку Zen в MKL 2020.2.254 хотя бы для некоторых (пока не всех) функций

Edited by yurik82

Share this post


Link to post
Share on other sites

Доброго времени суток!

 

Коллеги, дописываю диссертацию и решил верифицировать результаты полученные в CST с помощью HFSS.  

Волноводно-щелевая антенна бегущей волны на волноводе 23-10мм, щели 15 мм, период 22.5 - ну все как обычно. Добавил слой диэлектрика под щели, чтобы сместить раб. диапазон волновода.

Когда создал модель в HFSS сделал много открытий для себя и про Radiation box и про Lumped порты не говоря уже о PML. 

Итог:

1. Модель с wave-портами и Rad-box по краям портов(удлинил фланец на модели, чтобы до первой щели было расстояние порядка 3-4 лямбда) показывает хорошие S-параметры даже при малом боксе, и диаграмму рисует красивую. Но сама величина DIR(f=8 ГГц) при этом мала. Порядка 62 в абсолютном значении, а должно быть 62 (CST, Кочержевский). Когда увеличиваю бокс до размеров 2-3 лямбда, DIR становится нормальным 55-60, зато диаграмма рушится, возможно не хватает сетки разбиения

2. Модель с PML в принципе тоже самое что пункт 1, только считает быстрее, но надо угадать с размерами PML боксов

3. Модель с Lumped порт (чтобы уменьшить фланец и накрыть Rad боксом порты) не работает, на S-параметрах появляются осцилляции.

4. Модель с wave-портами и заглушками(PEC) не работает, вообще возбуждения нет, хотя линии прочертил.

 

Цель: получить S-параметры, красивую ДН и правильное значение КНД(DIR).

В CST все рисует как надо ( там по умолчанию все эти фишки с pml и портами работают)

 

Заранее спасибо!

Directivity.jpg

slotted waveguide.jpg

Share this post


Link to post
Share on other sites
2 hours ago, Saddam1988 said:

 

Коллеги, дописываю диссертацию и решил верифицировать результаты полученные в CST с помощью HFSS.

сочувствую, а зачем нужна такая кросс-верификация? Для CST такая структура никаких сложностей не представляет и результат, который можно пощупать в измерениях, получается обычно с самой первой попытки. Ну разве что если боковики -40 дБ нужны...

Share this post


Link to post
Share on other sites
1 час назад, Freesom сказал:

сочувствую, а зачем нужна такая кросс-верификация? Для CST такая структура никаких сложностей не представляет и результат, который можно пощупать в измерениях, получается обычно с самой первой попытки. Ну разве что если боковики -40 дБ нужны...

Там еще собственная программа на C++ есть, вот они сошлись хорошо. А HFSS пока не покоряется.

 

Некоторые подвижки получил:

1. Заработали заглушки, но по большому счету вариант с фланцами и wave-портами тоже рабочий.

2. На диаграмму сильно повлиял мелкий ручной посев меша на диэлектрик

 

ну и как обычно, чем больше RAM тем лучше (

Всем спасибо, как изложил все в посте, мысли на место стали. Дракон побежден

DN.jpg

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.