内容梗概:Workbench & Electronic软件耦合,建立一个完整的优化模型,细析不同方法的差别。
Editor: Sheeper Xu
准备:Ansys Workbench R2020软件 , Ansys Electornics R2020 2D静态场参数化仿真模型1个
安装好Ansys Electronics 软件和Ansys Workbench(WB)后,在“开始”界面可以看到这样一图案↓,点击后就可以建立二者的耦合。
然后打开WB后就可以发现“分析系统”中出现Maxwell模型 的图标
直接把搭建好的Electronic模型文件(.aedt后缀文件)拖入WB界面,皆可导入Maxwell模型:
如果模型较大,会加载一会,不要觉得是卡死了。稍后项目原理图中会出现一下图案:
接下来修改模型内容都不要用模型源文件中改,要双击项目原理图中的Maxwell模型打开它来修改,这样任何修改会直接同步到WB中。
通过上面的方式打开Mawell模型。然后在Optimetrics 目录下会自动生成 DefaultDesignXploreSetup:
双击打开,在 General 中可以通过勾选“Include”设置导入WB参数集的优化参数:
在 Calculations 中可以设置优化目标,这与Electronics单独仿真时设置参数化扫描的过程差不多。
回到WB中会发现自动生成了一个参数集:
打开参数集,可以在导入参数的基础上通过表达式输入自己想要的参数(如图P7)
很多时候,优化参数数目庞大,会使得采样点数据急剧增加,导致仿真时间极长。因而需要从优化采样点中剔除不需要的采样点。对于一个输出参数,输入参数的重要性是由它们的相关性来决定的。参数相关性研究的作用,一方面是可帮助分析人员决定哪些输入参数对设计的影响最重要(或最不重要),相关性矩(correlation matrix)可帮助用户识别出被认为是不重要的输入参数;另一方面还可以识别参数之间的关系,如:是线性的关系或是二次关系。
在设计探索目录可以找到参数相关性分析工具Parameters Correclation:
将图标拖入项目原理图,会自动生成参数集和工具的关联:
打开工具的属性,在 Correction Type中可以选择相关性类型
(1)Spearman:使用样本变量值的排序(秩)计算相关系数,适用于具有非线性单调变化函数关系的变量之间的相关性,被认为是更精确的方法。二次相关分析可给出任意一对变量之间的判定系数,此系数越接近1,则二次相关的效果越好。这些系数构成了判定矩阵(Determination Matrix),此矩阵是非对称的,这与相关性矩阵(Correlation Matrix)不同。
(2)Pearson:采用变量值来计算相关性系数,用于关联具有线性关系的变量。可计算给出相关性系数矩阵(Correlation Matrix)及判定系数矩阵(Determination Matrix)。
选择适合的类型后,右键点击该模块,选择”更新“,等待一段时间的分析后得到一系列结果:
这些自动生成的图表形式结果非常清晰:
相关性矩阵图可以直观显示参数之间的相关性,相关系数越接近±1,表明相关程度越高。
可以设定参数和目标量,并且通过散点图自动拟合曲线,Linear Trend为线性拟合,Quadratic Trend为二次方拟合。通过拟合曲线可以检索目标量和优化参数之间的关系,不过一般很少有存在非常完美的线性or二次方关系。
0到1代表相关性的增强,相比于相关性矩阵去了绝对值。
通过设置阈值,可以过滤掉对于目标影响不大的因素。
给出各个输入变量对每一个选择的响应变量的总体敏感性柱状图。这种敏感性的统计是基于Spearman秩相关系数分析,同时考虑了输入参数变化范围和输出参数关于输入参数变化程度两方面的因素。我个人觉得这张图是最直观全面的,通过它来选取优化参数即可。
首先,拖入响应面生成模块:
接下来也是最重要的是设置输入变量的范围,在Design of Experiments 中设置。如果设置的范围过小,导致最优点落在范围以外,那么优化结果受限;如果设置的范围过大,可能导致模型在一些取值处2D模型的面域冲突而报错。
根据选取的输入参数会生成试验样本点,这就是DOE技术。该模块的属性里需要设置 Design of Experiments Type ,以选取用来拟合响应面的试验样本点,它是生成响应面的关键。WB 中有7种试验样本点选取方法:
其样本点包括一个中心点,输入变量轴的端点以及水平因子点。默认选项 (Design Type) 为Auto-Defined,如果输入变量为5个采用G-Optimal填充,否则采用VIF-optimal填充。此方法的另外两个选项,Rotatable选项是一个5水平试验取样方法,Face-Centered选项则退化为一个3水平试验取样方法。如果缺省选项造成后续响应面的拟合效果不佳时,可以考虑采用Rotatable选项。
CCD方法随着输入变量的增多,形成的部分因子样本点数遵循公式 N=1+2n+2^{n-f} ,其中 f 为部分因子个数,n为输入参数个数,N为形成的样本点个数。以下我设置了我所使用的模型中较为敏感的4个参数作为变量生成试验点,Torque为输出变量,通过设计点参数图可以直观查看DOE计算结果:
CCD方法是最常用的。
Optimal Space-Filling Design(OSF) 方法采用最少的设计点填充设计空间。
OSF更适合于更为复杂的响应面算法,如Kriging,Non-Parametric Regression 以及NeuralNetworks等。OSF的一个弱点是不一定能取到端点(角点)附近的样本,因此会影响到这些区域的响应面质量,尤其当样本点数量较少时。
从上图可以观察到,在较少变量的情况下适用OSF得到的输出量范围相较于CCD更小,对优化结果有所限制。
此方法相比其他方法试验次数少,效率较高,各个因素不会同时处于高水平。
此方法允许用户创建自己的DOE算法,可以直接创建设计点或者导入CSV数据文件的设计点。
此方法包含Custom 方法的功能,并且允许自动添加DOE样本点以有效地填充设计空间。比如,DOE列表最初可以是从前一次分析中导入的设计点组成,或是用其他方法(如CCD、OSF等)形成,可以自动添加新的样本点来完成采样,新添加的样本点时会考虑已有设计点的位置。
这种方法下,还需要输入Total Number of Samples(即总的样本点数),如总的样本点数小于已有的样本点数,则不会添加新的样本点。默认值为CCD方法的样本点数,以下我设置了35个试验点:
Sparse Grid Initialization 方法为稀疏网格(Sparse Grid)类型的响应面的专用DOE方法,是基于设定的要求的自适应方法,可在输出变量梯度较大位置处自动细化设计点数量以提高响应面精度。
试验点数量少、稀疏,精确度不高,普适性不强。
Latin Hypercube Sampling Design 方法是一种修正的蒙特卡洛抽样方法,它可以有效避免样本点的聚集。(蒙特卡洛抽样方法见:https://zhuanlan.zhihu.com/p/338103692)这个方法有一个缺点是在响应面角落处不一定有样本点,这个会影响响应面的质量。
CCD Samples :会形成与CCD DOE方法同样数量的设计点。
Linear Model Samples:形成线性响应面所需数量的样本点。
Pure Quadratic Model Samples:用于形成纯二次(没有交叉项)响应面所需数量的样本点。
Full Quadratic Samples:用于形成完全二次响应面所需数量的样本点。
User-Defined Samples :选项由用户指定所需的样本点数量。如选择了此选项则后续需要指定Number of Samples选项。
TIP :DOE计算过的参数点用Preview可以直接预览,不用再更新生成!预览过后才能选择合适的试样点生成方法
响应面生成结果如下图,在Min-Max Search中直接查看取极值的参数;Refinement Points中可以添加自定义的参数组;Goodness of Fit 通过验证点检验回归分析的拟合质量,Verification Points 为验证点的参数,也可以添加别的验证点;Response Point下面是四种结果图:2参数三维热图、目标量-输入变量敏感性柱图、敏感性曲线、蛛网图(多目标优化适用)。
选择合适的响应面类型对于响应面精确程度影响很大,WB中有5种响应面类型:
Standar Response Surface 采用回归分析确定近似的二次响应函数,回归分析结果用Goodness of fit来评价: