Цитата
navuho
Огромное спасибо за отклик!
Цитата
Делается коммандой Export в калькуляторе на заданной сетке. Поле выводится построчно в виде: X Y Z Field
Калькулятор позволяет выводить поле на заданной сетке но пока не удалось преодолеть следующие проблемы
1) какой формат должен быть у файла, в котором сохранена сетка (import grid pointd from file)?
2) Если задавать сетку вывода в ручную, то нет возможности сохранить только одину плоскость (например X Y Z=0 Field). Прога ругается, что minimum maximum значения должны быть различными.
Вывод данных, когда варьируются все три переменные X Y Z, конечно можно прочесть в Origin, Matlab, но только в Origin гораздо удобнее (мне во всяком случае) работать с данными при варьировании только друх переменных.
Цитата
задать "Named Expression" в калькуляторе
Вы абсолютно правы, что в большинстве случаев так можно построить желамый график. Но пока не удалось разобраться со следующей заморочкой.
В моем понимание в HFSS фактически присутствуют два в значительной степени независимых калькулятора. Один это Field Calculator, вызываемый соответствующей кнобкой в различных местах программы, второй это калькулятор встроенный для расчета Output Variables. Он доступен, когда строятся Trace. Чтобы не было путаницы эти Trace я буду называть в дальнейшем 1Д графиками, как как в них (если не брать во внимание свипирование частоты или фазы) строится значение в зависимости от варьирования только одной переменной.
Как уже описывалось мною в предыдущих постах, Sweep Phase не работает , если Trace построен с использованием Calculator Expression. Экспериментальным путем удалось обнаружить, что Sweep Phase прекрасно работает с Output Variables, если данная переменная задана в Output Variables калькулятор с помощью мат выражения включающего в себя переменную Phase.
Опять же экспериментальным путем удалось обнаружить, что для того, чтобы использовать константу, заданную в Field Calculator (например значение фазы поля в точке), необходимо Output Variables калькуляторе использовать трюк в виде вычисления max(Phase_point), иначе
Output Variables калькулятор воспринимает константу (это проверяется в Field Calculator просто через использование Eval) как вектор у которого первое значение наша константа, остальные неопределены.
Получается выражение типа
CmplMagScalarZ*cos(PhaseHz-max(Phase_Point)),
где
CmplMagScalarZ - комплексная магнитуда Z компоненты поля
PhaseHz - фаза Z компоненты поля,
рассчитаны с использованием Field Calculator.
Следующие экспериментальное открытие,
константа рассчитанная в Field Calculator не может быть использована в выражение AtPhase. Вместо этого нужно лапами вбивать выражение вычисляющие тоже самое, что делает AtPhase (существенно более длительный процесс)
Возможно вчера вопрос о Plotting Normal Component to a surface был не до конца корректно задан. Сегодняшние эксперименты к сожалению, как и не прояснили картину в этом направление.
Изначальные посылки. При построении с помощью Field Overlays из Field Calculator можно вытащить только скалярные (типа Mag_H ComplexMag_H, или заданных самостоятельно скаляров) или векторные (типа Vector_H, самостоятельно заданных векторов).
На сколько я понимаю, для скалярных величин, при построении их на выбранной плоскости берется значение скаляра в этой точке пространства, для вектора соответсвенно вектор.
Далее, если построена величина в вычислении которой было AtPhase, то есть возможность получить анимацию со свипированием значения Phase. Все достаточно логично.
Если открыть HFSS Help для Normal Command используемой в Field Calculator, то появляется картинка с объяснением, что делает эта комманда и как ее можно воспроизвести. Воспроизводится без проблем, но вот что можно сделать с полученным результатом (хочется построить график)? Сохранить его как Named expression не возможно.
У меня получается построение некого графика (надо еще до конца разобраться правильно ли это), при использовании альтернативной записи (также упомянутой в HFSS Help для Normal Command) taking the dot product of the quantity with the surface's unit normal vector. При использовании этого пути в конечном выражении исчезает явное упоминание поверхности используемой при построении (что немного смущает). Конечное выражение имеет вид Dot(Vector_H, SurfaceNormal).
P.S.
Извиняюсь за столь длинный пост, но при всей мощности проги, документация на нее (даже при наличии официальной лицензии) совершенно не достаточна, чтобы без заморочек разобраться в многочисленных фичах, поэтому приходится просить совета у коллективного разума.