Jump to content

    
edc

Вопросы по HFSS

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

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

кстати, о логах.  можно ли на самом деле чтобы HFSS добавлял в лог время начала симуляции,а не только окончание? Или сидеть с секундомером?

Share this post


Link to post
Share on other sites
On 6/1/2020 at 2:10 PM, DmitryHF said:

Практически то же самое, что и Вы хотите, реализовано в HFSS через Derivatives. Эта вкладка есть в настройках решения. Отмечаете на этой вкладке соответствующие переменные дизайна. Для отмеченных переменных, после решения можно изменять значения (через Report Tuning) в реальном времени (в небольших пределах) и наблюдать соответствующие изменения S-параметров или поля в дальней зоне ДН, усиление.

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

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

Более подробно см. в справке про Derivatives.

 

Посмотрите встроенный пример tune_coax_fed_patch, из него можно понять как это делается.

 

 

Приветствую. Да, поглядел хелп, примерно понятно, что нужно делать.

Подскажите, может быть, знаете: вот, к примеру, у меня антенна типа волновой канал, N вибраторов, у каждого два параметра, которые хочется немного менять и наблюдать изменения: позиция и длина. Для случая с 10 вибраторами, например, это 20 движков, которые заколебёшься шевелить и ловить разницу. Вопрос: можно ли после расчёта с Derivatives сделать репорт, чтобы вывел результат расчёта при всех варианты изменения каждого парамера на +-1 мм, например ? Получится таблица с кучей строк, в которые можно неспеша смотреть, делать какие выборки уже вне среды разработки.

Спасибо.

Share this post


Link to post
Share on other sites
5 hours ago, impatt said:

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

Готового решения, по моему нет, но можно попробовать через скрипт сделать. Перебирать переменные используя oModule.SetTuningOffsets() и экспортировать.

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

 

Share this post


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

Подскажите, может быть, знаете: вот, к примеру, у меня антенна типа волновой канал, N вибраторов, у каждого два параметра, которые хочется немного менять и наблюдать изменения: позиция и длина. Для случая с 10 вибраторами, например, это 20 движков, которые заколебёшься шевелить и ловить разницу

Можно просто параметрическим свипом.

Напрямую темы не касается, но для ускорения расчетов только ДН волнового канала раз так в 1000 (без учета согласования вообще и без деталировки узла запитки и без деталировки типа диполя (простейший разрезной) - только параметры дальнего поля) - модель можно радикально упростить до MoM (HFSS-IE, ACA Solver).

Все элементы нарисовать как двумерные плоскости (нулевой толщины) и все умножить на коэффициент $k=1 и назначить условие PerfectE;

Параметры ДН будут очень точные и можно очень быстро считать даже широкополосные Discrete-свипы по частоте.

Когда достигнете желаемой формы ДН, можно уже нарисовать фактическую геометрию из фактических материалов, с траверсами (но пока без деталировки узла запитки и без деталировки диполя) и быстро подобрать свипом коэффициент $k (будет учитывать все укорочения/удлинения связанные с сечением элементов и с влиянием траверсы) пока не достигнете той же формы ДН которая была на предыдущем этапе.

И только когда завершите вопросы ДН - тогде уже детализировать способ выполнения активного диполя, вопросы согласования, симметрирования и т.д.

То же самое ещё быстрее можно делать в  4NEC2 (первый этап с ДН на упрощенной модели) - любой сложности волновой канал считается менее секунды. Там же есть и встроенный свипер и оптимизатор и есть готовые сторонние Python движки для брут-форс синтеза (за пару дней переберет миллион вариантов в попытке максимизировать целевую функцию)

Share this post


Link to post
Share on other sites
19 hours ago, DmitryHF said:

Готового решения, по моему нет, но можно попробовать через скрипт сделать. Перебирать переменные используя oModule.SetTuningOffsets() и экспортировать.

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

 

Спасибо, по скриптам, возможно, наводка пригодится.

Про параметрический анализ/скрипты: я наивно хочу просто найти оптимальную геометрию (максимизация КНД) исходя из доступных материалов; поэтому пока вижу самое тупое: перебор небольших смещений каждого параметра каждого элемента (длина/позиция - начинать со справочных размеров), нахождение наилучшей комбинации и дальнейший поиск до нахождения максимума КНД. В случае с Derivatives можно посчитать начальную модель, примерно прикинуть разные небольшие смещения геометрии, найти максимум, пересчитать модель с найдеными смещениями и так далее искать максимум вообще. Не знаю, может, это слишком наивное решение, я всё таки не спец по антеннам. А вот по параметрическому анализу уточнить: он же модель перестраивает и считает заново каждый раз ? Нельзя его как-то скрестить с методом Derivatives  - не пересчитывать модель всякий раз, а по этим производным чтобы примерно брать решения модели? Просто в моём тестовом случае модель считается 2 минуты, для 10-и элементного волнового канала и смещений +-1мм по длине каждого и +-1 мм по позиции - это несколько миллионов перерасчётов модели по 2 минуты каждый... И ещё неизвестно, к чему это приведёт. Наверное, придётся в сторону скриптов смотреть.

18 hours ago, yurik82 said:

Можно просто параметрическим свипом.

Напрямую темы не касается, но для ускорения расчетов только ДН волнового канала раз так в 1000 (без учета согласования вообще и без деталировки узла запитки и без деталировки типа диполя (простейший разрезной) - только параметры дальнего поля) - модель можно радикально упростить до MoM (HFSS-IE, ACA Solver).

Все элементы нарисовать как двумерные плоскости (нулевой толщины) и все умножить на коэффициент $k=1 и назначить условие PerfectE;

Параметры ДН будут очень точные и можно очень быстро считать даже широкополосные Discrete-свипы по частоте.

Когда достигнете желаемой формы ДН, можно уже нарисовать фактическую геометрию из фактических материалов, с траверсами (но пока без деталировки узла запитки и без деталировки диполя) и быстро подобрать свипом коэффициент $k (будет учитывать все укорочения/удлинения связанные с сечением элементов и с влиянием траверсы) пока не достигнете той же формы ДН которая была на предыдущем этапе.

И только когда завершите вопросы ДН - тогде уже детализировать способ выполнения активного диполя, вопросы согласования, симметрирования и т.д.

То же самое ещё быстрее можно делать в  4NEC2 (первый этап с ДН на упрощенной модели) - любой сложности волновой канал считается менее секунды. Там же есть и встроенный свипер и оптимизатор и есть готовые сторонние Python движки для брут-форс синтеза (за пару дней переберет миллион вариантов в попытке максимизировать целевую функцию)

Мощно ! Я не очень понимаю тему, к сожалению, и ряд вещей, видимо, не потяну. Но если будет прозрение, то вникну и, при случае, пройду этот путь. Спасибо за подробную рекомендацию !

Share this post


Link to post
Share on other sites
3 hours ago, impatt said:

А вот по параметрическому анализу уточнить: он же модель перестраивает и считает заново каждый раз ? Нельзя его как-то скрестить с методом Derivatives  - не пересчитывать модель всякий раз, а по этим производным чтобы примерно брать решения модели? 

Да, параметрический расчет займет много времени, но возможно и меньше чем создание скрипта)). Почему просто не хотите использовать оптимизацию в HFSS? Оптимизация поддерживает Derivatives, и с их включением в случае большого числа параметров мне кажется будет эффективнее чем параметрический расчет.

Параметрический расчет сам по себе с Derivatives не скрестить, Derivatives считаться то будут, но доставать их данные придется видимо через скрипт.

3 hours ago, impatt said:

 Просто в моём тестовом случае модель считается 2 минуты, для 10-и элементного волнового канала и смещений +-1мм по длине каждого и +-1 мм по позиции - это несколько миллионов перерасчётов модели по 2 минуты каждый... И ещё неизвестно, к чему это приведёт. Наверное, придётся в сторону скриптов смотреть.

Вам для этого yurik82 и написал, что сначала лучше оптимизировать геометрию по КНД на максимально упрощенной модели в HFSS или в NEC. Получить основные размеры, а потом уже наилучшие варианты  моделировать с большей детализацией. КНД при увеличении детализации уже сильно не измениться.

Мне почему-то кажется, что в случае волнового канала все уже изобретено "до нас". И основные размеры для получения максимального КНД известны.

Share this post


Link to post
Share on other sites

impatt, Скритпт встроенного VBA это еще тот геморрой и нужен только тогда когда нет лицензии оптиметрики. Ну и в редчайших случаях когда оптиметрика чего-то ен позволяет. В остальных тяжелых научных случаях есть интерфейсы Питона и Матлаба.

Да. все надо преесчитывать. А как же иначе. Можно получать в скрипт переменные модели и проекта. Можно вообще читать писать почти все в HFSS через объекты OLE, в консоли есть команда тестирования структуры объектов. Но все это очень громодздко, плохо документировано (почти никак), сложно понять и легко ошибиться.

 

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

 

Еще недостаток скрипта мы обсудили на прошлой неделе. Оптиметрика способна параллелить итерации, когда это допустимо алгоритмом. А также ипользует уже посчитанные точки из коллекции решений.

Share this post


Link to post
Share on other sites

Для поднятия производительности за счёт HDD, правильно ли:
- HFSS и Винда на одном HDD
- расчёты ведутся на отдельном RAID 0 -массиве (2шт. HDD)
- ну и отдельный диск выделить чисто под хранение уже посчитанного.
Про круг задач пока сложно сказать, наверное от этого тоже зависит выбор. Пока основное частотное свипирование объёмных резонаторов, микрополосковых линий.

Share this post


Link to post
Share on other sites

> HFSS и Винда на одном HDD

- В общем нет, НО. Но на самом деле некритично. Желательно просто на малозагруженном диске, либо на самом производительном... И это обычно оказывается системный SSD с виндой...

> - расчёты ведутся на отдельном RAID 0 -массиве (2шт. HDD)

Что угодно только не бытовые SSD. И не Stripe. Если используете страйп-рейд, или SSD - обязательно зеркалируйте. HFSS много пишет, может и запилить диск нафиг. Винчестеры не запиливаются. А хорошие винчестеры типа Хитачи Ультрастар еще и не ломаются. Боже упаси вас связываться с продукцией Сигейт. Особенно на рабочих станциях.

> ну и отдельный диск выделить чисто под хранение уже посчитанного.

Только ля архива. HFSS's TEMP должен быть на том же диске что и проект. Иначе дикие задержки на переброс вам гарантированны.

Share this post


Link to post
Share on other sites

Учтите что всё сказанное Hale относится только к случаю когда в 2020 году надо  с НДС и корочкой купить за $20 000 железо 2008 года,  причем покупают одни, лицензию другие, а работать будут третие.

В 2020 году на пол-стипендии покупается SSD со скоростью чтения/записи 3 Гб/сек

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

Даже если случится событие падения HDD или SSD то самая большая ваша потеря это те минуты или часы расчетного времени которые не сохранились.

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

Я для создания бекапов использую Bittorent Sync (Resylio Sync) - бесплатная программа которая по p2p шифрованному torrent синхронизирует любое количество папок на любом количество узлов без никаких ограничений. Она просто всегда запущена в трее и указанные папки синхронизирует когда там появляются новые файлы.

Если засбоит компьютер или на ваш офис упадет атомная бомба - данные останутся на удаленном ПК. Это в 2020 году не стоит вообще ни цента.

Добиться бОльшей скорости записи чем 3 Гб/сек и/или более 700 000 IOPS на обычном железе почти невозможно (только специальные серверные решения с шинами другими чем PCI-E 3.0 x4), и не нужно. Всякие RAID на порядки медленнее и на порядки дороже.

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

Edited by yurik82

Share this post


Link to post
Share on other sites
14 hours ago, K0nstantin said:

Для поднятия производительности за счёт HDD

На мой взгляд, если хотите увеличить производительность, то в любом случае придётся уходить от использования обычных HDD и для расчета, и для ОС. Если конечно у Вас обычный HDD. Даже простые SSD по скорости превосходят и High End HDD, и даже RAID из них. Насколько выиграет HFSS будет зависеть от задачи. Для расчета HFSS использует RAM, при более быстрых дисках ускорится обмен данными, постобработка. Если грубо оценить, то замена обычных HDD на SSD в среднем для расчетов, даст до 5-10% ускорения. Но есть нюансы, в зависимости от задач, если Вы много используете частотное свипирование, и у Вас много ядер (например от 8), это дает возможность считать несколько частот в параллель. В этом случае прирост от SSD будет больше (до 50%) т.к. при параллельном расчете обмен данными существенно вырастает.

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

Share this post


Link to post
Share on other sites

>Даже если случится событие падения HDD или SSD то самая большая ваша потеря это те минуты или часы расчетного времени которые не сохранились.

Это конечно чепуха. HFSS хранит все расчеты. Еще в аспирантуре мы множественное количество раз звонили с конференции на кафедру и просили срочно вытащить графики которых не хватало в презентации из симуляции в нужном формате.

Пересчитывать все заново обычно просто времени нет, и ПАМЯТЬ человека не обеспечиает запоминания всего процесса, чтобы легко восстановить в нужной итерации.

Поэтому всегда нужен или бэкап, или зеркало. С зеркалом проще.

Далее, SSD которые покупает студент - это треш, годящийся только для DOOM-а. В ад он и отправится от первого броска в сети, никакого плазмагана не непотребуется.
Хороший SSD энтерпрайз класса с конденсаторами стоит от $300 за 400Гб. Но надо учитывать что их не ставят в рабочие станции HP и Lenovo. В Dell тоже редкость, поэтмоу надо заказывать по безналу у корпоративных дилеров Самсунга. За наличку Самсунг их продавать запрещает - сегментирования "говна для людей" и "не говна для дорогих товарищей"

 

На заметку. Я еще не пробовал заказывать, т.к. сторонник Dell, но Lenovo начало поставлять Optane SSD в своих станциях. А это уже прогресс. Само собой Optane не запиливается, значит не требует wear leveling, значит единовременное 100% исчезновение всех данных как на nand-ssd маловероятно.

 

>Bittorent Sync (Resylio Sync) - бесплатная программа которая по p2p шифрованному torrent

Такие вещи даже в российских ВУЗах хапрещены, и невозможны из-за частокола из фаерволов и прокси. Видно что у человека малый бизнес и пользыется пираткой на самозборе. Это не упрек, я даже завидую, но в организациях это несбыточная мечта.

>Всякие RAID на порядки медленнее и на порядки дороже.

это тоже неправда. Raid Рейду рознь. Тот софтрейд что на бытовых интеловских чипсетах, конечно, лучше не трогать. В этом плане софтовый рейд Windows безопаснее будет.

По скорости RAID работает со скоростью диска. Если это RAID5 то со скоростью чуть меньше x(№дисков-1). Софтовый немного грузит систему при копировании.

Share this post


Link to post
Share on other sites

>SSD по скорости превосходят и High End HDD, и даже RAID из них. Насколько выиграет HFSS будет зависеть от задачи.

Не особо. HFSS переворачивает все в оперативной памяти, сохраняет на диск только результат. От SSD есть выигрыш только на многократной оптимизации маленьких моделей. Когда вы расчитываете моедли с физическими размерами (объемные полоски, зазоры) - SSD бесполезен.

Главное чтобы TEMP был на диске проекта. Тюею надо брать максимально большой HDD корпоративного класса. Два в зеркало.

>на SSD в среднем для расчетов, даст до 5-10% ускорения.

я поднимал этот вопрос по поводу HT  в процессорах. HT как и SSD сокращает оверхед на промежуточных операциях. Иногда прилично так. И только. В действительности на самой симуляции прирост от HT оказался на уровне 0-5%, что округляем до 0%. От SSD просто 0.0000%

 

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

На хардовых контроллерах запись тоже в 2 раза. Но не работает SSD-TRIM - это надо учитывать. Хотя в энтерпрайз системах TRIM вообще не популярен. А HDD просто во столько раз быстрее сколько дисков в пакете.

Если контроллер с кешем, то популярна связка Raid 1-0, или ассиметричная 0+1 по возможностям.  Когда вы и ускоряее и зеркалируете одновременно. Но я сторонник Raid5.

Share this post


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

Главное чтобы TEMP был на диске проекта.

А можно поподробней - это в связи с чем? Я как-то думал, что как раз лучше на другом диске и как раз SSD для этого в самый раз.

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.