HFSS中的变量和Optimetrics模块的使用

HFSS是一款强大的三维电磁仿真软件,提供优化设计、参数扫描分析等功能。通过Optimetrics模块,用户可以进行变量设置,如工程变量和设计变量。变量定义包括变量名和值,可以用于表示物体模型尺寸和材料属性。Optimetrics模块包含参数扫描、优化设计(如Quasi-Newton和Pattern Search算法)、调谐分析和灵敏度分析,帮助分析设计参数变化对性能的影响,以实现最佳设计效果。

变量设置

HFSS作为一款功能强大的三维电磁仿真软件,当然不是进能够提供常规的电磁分析,它还能够提供优化设计、参数扫描分析、灵敏度分析和统计分析等功能,这些功能都继承再HFSS的Optimetrics模块中。HFSS中,要使用Optimetrics模块的这些分析和设计功能,首先需要做的就是定义和添加相关变量

变量的类型

工程变量(Project Variables):

Project>>Project Variables可以打开工程变量编辑对话框

设计变量/本地变量(Local Variables):

HFSS>>Design Variables可以打开设计变量编辑对话框

物体模型尺寸、物体的材料属性等都可以使用变量来表示

工程变量和设计变量的区别在于:工程变量前面有一个“$"前缀,以和本地变量区分;工程变量的作用区间是整个Project,本地变量作用区间是所在的Design。

变量的定义

变量名:

变量名可以由数字、字母或下划线“_"组成

HFSS中默认的常数、默认的数学函数不能作为变量名

直角坐标系坐标轴的名称X、Y、Z,圆柱坐标系和球坐标系的名称Phi、Theta、R(圆柱坐标系)、Rho(球坐标系)也不能作为变量名

HFSS中默认的常数和函数有:

图1 HFSS中默认常数
图2 HFSS中默认函数名

 

 变量值:

每个变量在定义时都必须赋一个初始值,变量值可以是数值、数学表达式或者数学函数,也可以是数组、矩阵或者行列式

x_size = 1mm, y_size=x_size+sin(x_size)

对于数值,HFSS支持使用科学计数法,如0.005可以写成5e-3;

对于数学表达式,在使用时需要注意运算符的优先级

图3 HFSS中运算符优先等级

 

设计如何添加/删除/使用变量

 添加/删除变量:

Project>>Project Variables或者([Project Tree]Project>>Project Variables)打开Project Properties对话框,可以添加和删除工程变量

HFSS>>Design Properties或者([Project Tree]Design>>Design Properties)打开Design Properties对话框,可以添加和删除工程变量

在设计过程中,也可以直接输入未定义的变量代替设计参数,输入未定义的变量后,HFSS会自动弹出添加变量对话框

使用变量:

  1. 在HFSS中,几乎所有的设计参数都可以使用变量来表示,例如物体模型的尺寸、物体的材料属性、边界条件相关参数等。
  2. 对于已定义的变量,可以直接使用变量或者包含变量的表达式来表示设计参数。
  3. 对于未定义的变量,HFSS会自动弹出添加变量对话框。

注意:

  1. 对于材料属性参数,只能使用工程变量。
  2. 每个变量在定义时都不洗赋一个初始值,如果赋给变量的初始值已经指定了单位,在使用该变量时就不需要重新指定单位。
  3. 由于参数扫描、优化设计、调谐分析和灵敏度分析等不支持复数,所有对于值为复数的变量,不能用于上述分析。

参数扫描分析

优化设计

Optimetrics功能简介:

Optimetrics是集成在HFSS中的设计优化模块,该模块通过自动分析设计参数的变化对求解结果的影响,HFSS中Optimetrics模块能提供如下分析设计功能。

参数扫描功能(Parametric):

 参数扫描分析功能可以用来分析物体的性能随着指定变量的变化而变化的关系,在优化设计前一半使用参数扫描分析功能来确定被优化变量的合理变化区间。

参数扫描的步骤:

  1. 设置首先需要定义变量并添加求解设置项
  2. HFSS>>Optimetrics Analysis>>Add Parametric...弹出Setup Sweep Analysis对话框,添加扫描变量
  3. 或者选中Project Manager中的Optimatrics,单击右键Add>>Parametric,弹出Setup Sweep Analysis对话框,添加扫描变量
  4. 设置好扫描变量之后,点击”Analysis“就可以进行参数扫描分析
  5. 查看设计分析结果

优化设计(Optimatrices)

优化设计是HFSS软件结合Optimetrics模块根据特定的优化算法在所有可能的设计变化中寻找出一个满足设计要求的值的过程。

优化设计是HFSS软件结合Optimetrics模块在一定的约束条件下根据特定的优化算法对设计的某些参数进行调整,从所有可能的设计变化中寻找出一个满足设计要求的值,优化设计时,首先需要明确设计要求或设计目标,然后用户葛奴设计要求创建初始结构模型(Nominal Design),定义设计变量并构造目标函数,最后指定优化算法进行优化。

初始设计:

初始设计或初始结构模型在HFSS中成之为Norminal Design。用户一般根据理论知识和实际经验给出初始设计,创建初始结构模型。初始设计应该尽量接近真实值,否则会导致优化时间过长,有时甚至得不到全局最优解

添加优化变量:

在进行优化设计时,首先需要添加优化变量。打开工程变量/设计变量编辑对话框,单击选择变量编辑对话框中的Optimization单选按钮,此时对话框内会列出当前设计中所定义的全部工程变量或者设计变量,勾选变量对应的Include项复选框,把该变量添加为优化变量;同时在Norminal Value、Min和Max项下的文本框可以输入优化变量的初始值、最小值和最大值。

在优化设计前,一般先进行参数扫描分析,确定优化变量的初始值和合理的变化区间。

构造优化目标:

在优化设计中,为了评价设计结果的好坏以及判断设计是否已经达到要求的目标,必须定义一个判据,软件根据这个判据来决定是否需要继续进行最优搜索,这个判据就成为目标函数。

目标函数需要用户根据具体的设计目标进行构造。例如,设计目标是在10GHz工作频率处,端口3的输出功率时端口2输出功率的两倍,则可以构造目标函数mag(S(port3,port1))*mag(S(port3,port1))-2*mag(S(port2,port1))*mag(S(port2,port1))=0。

目标函数可以在该对话框中定义。对于简单的目标函数。可以在对话框Calculation下的文本框中直接输入构造的目标函数;对于复杂的目标函数,可以先定义输出变量(Output Variables),然后使用定义的输出变量来构造目标函数,例如:Power21=mag(S(port2,port1))*mag(S(port2,port1)),Power31=mag(S(port3,port1))*mag(S(port3,port1)),响应的目标函数可以简化为Power31-2*Power21=0。

图4 优化设计流程图

加权函数:在有些设计中,为了达到设计要求,需要设置多个目标函数。另外目标函数所包含的有些性能指标是相互矛盾或相互制约的,一般很难保证全部指标都达到最优。在这两种情况下,可以给每个目标函数分配一个加权值,加权值越大,表示该目标函数越重要。

规范类型:对于有多个目标函数的问题,误差函数值是所有目标函数误差值的加权和,HFSS根据指定的规范类型来计算加权和

L1--->e=\sum\limits_{1}^N {\left| {​{w_i}{e_i}} \right|}

L2--->e=\sum\limits_{1}^N {​{w_i}{e_i}^2}

 Maximum--->e=\mathop {\max }\limits_1^N \left( {​{w_i}{e_i}} \right)

默认类型为L2

图5 优化设计

 误差函数:在定义目标函数时,目标函数可以是等于、大于或小于某个目标值;对应的,在优化设置对话框Condition处分别选择<=、=或>=。假设分别用s_ih和g_i表示第i个目标函数的仿真计算值和真实值,则对于上述三种不同情况,第j个目标函数误差e定义如下:

如果s_i>g_i,则e_i=s_i-g_i否则为0;

e_i=、left|s_i-g_i right|

如果s_i<g_i,则e_i=s_i-g_i否则为0;

优化阈值:优化阈值是优化过程终止的判别标准,当加权后总的误差值小于或等于优化阈值时,优化分析终止。优化设置对话框的右小角Asseptable处设置优化阈值

优化阈值可以是一个复试

目标函数的噪声:使用有限元法分析电磁问题时,网格剖分的变化会给目标函数引入各种噪声。在使用拟牛顿优化算法模式搜索优化算法时,需要提供噪声的估计值,以评估求解过程中的变化对目标函数的影响。

优化算法:

拟牛顿法——Quasi-Newton:牛顿法的基本思想是在极小点附近通过对目标函数做二阶泰勒展开,进而找到的极小点的估计值;拟牛顿法只有在目标函数的噪声很小的情况下使用是足够准确的,如果目标函数的噪声在工程是十分显著的,需要使用模式搜索算法来得到最有结果。

模式搜索法——Pattern Search:模式搜索法是求解最优化问题的一种直接搜索算法,它不用目标函数与约束函数的导数信息而只用函数值信息,是求解不可导或求导代价很大的最优值问题的一种有效算法;模式搜索法对数值噪声不敏感,因此适合于数值噪声比较显著问题的HFSS设计工程的优化。

非线性顺序编程算法(SNLP)——Swquential Non Non-Linaer Programming:类似拟牛顿法,SNLP算法中引入了噪声滤波和RSM(Response Surface Modeling)技术,可以适当地降低噪声的影响,收敛速度比拟牛顿法快,结果比拟牛顿法准确。

混合整数非线性顺序编程算法(SMINLP):SMINLP能够优化同时具有连续变量和整数变量的问题,该算法和非线性顺序编程算法相似,不同点是SMINLP算法需要标记处整数变量。

遗传算法——Genetic Algorithm:遗传算法是20世纪50年代初由一些生物学家尝试用计算机模拟生物系统演化时提出的。运用随机而非确定性的规则对一族而非一个点进行全局而非局部地搜索,仅利用目标函数而不要求其导数信息或其他附加限制。遗传算法虽然在特定问题上也许不是效率很高,但其效率远高于传统的随机算法,是一种普遍应用于各种问题的有效算法。

调谐分析(Tuning):

 调谐分析功能是在改变变量值的同时实时显示求解结果

HFSS的调谐分析功能时用户在手动改变变量值的同时能够实时显示求解结果。例如,在执行完成一个优化分析并得到了变量的最优值后,可以在该最优值附近手动改变变量的值,观察变量在最优值附近扰动对设计性能的影响。针对某一变量调谐分析结束后,设计结果将随之更新。

灵敏度分析(Sensitivity):

 灵敏度分析功能是用来分析设计参数的微小变化对求解结果的影响程度

使用HFSS进行电磁分析的过程中,不同设计参数的变化对电磁特性的影响程度是不尽相同的。对于相同的变化量,有些参数对电磁特性的影响较大,有的则较小。为了衡量各个设计参数变化对电磁特性的影响,通常引用灵敏度的概念,用它来定量表示设计参数变化对电磁性能的影响程度。灵敏度定义为电磁特性/求解结果的变化与电路参数的变化的比值。使用HFSS进行电磁分析时,S参数是很常用的一个分析结果。这里以S参数为例来说明灵敏度的定义。假设x_i(j=1,2,...1,m)为某一设计参数,则地k、j两端口之间的传输系数S_{jk}对设计参数x_i的灵敏度可以定义为S_{jk}对x_i的偏导。

灵敏度计算可以在优化设计中确定电路的关键参数,大量的计算实践表明,有些最优化方面当变量增加时收敛速度变慢,有的甚至发散,这使优化设计毫无结果。如果在优化设计前进行灵敏度分析,找出那些对电路特性有较大影响(即灵敏度较高)的关键性设计参数,并将它们作为优化变量,则不仅能大大减少计算工作量,提高优化设计效率,而且能够使原来不收敛的优化过程得到良好的结果。

统计分析(Statistical):

统计分析功能是利用统计学的观点来研究设计参数的容差对求解结果的影响。常用的方法是蒙特卡洛法。这种方法是利用计算机产生各种不同分布的伪随机数,来模拟生产各设计参数的随机值,并对由此形成的电路/期间模型进行分析,计算处表征电路/期间各种特性参数的随机量,然后对这些随机量进行统计分类或计算,画出统计分布图。

蒙特卡洛法具体步骤如下:

  1. 用计算机产生伪随机数,并用它们模拟生产电路/期间个设计参数的随机值序列,然后将这些序列进行随机组合,形成电路/器件的统计分析模型;
  2. 调用分析程序对电路进行分析:计算处电路/器件的各种特性参数,如输入驻波比、S参数等;
  3. 对分析接轨进行统计分类,画出直方图。

实际使用的原件或者制造工艺一般都有一定的误差,例如标称值为1nH、容差为±10%的二极管引线电感,其实际值僵尸0.9nH到1.1nH之间的随机值。因此由这些原件所构成的电路模型或者这些制造工艺生产处的期间模型也具有随机特性,根据这种模型所求处的电路/电磁特性当然也是一些随机量。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值