官方淘宝店 易迪拓培训 旧站入口
首页 > 仿真设计 > CST微波工作室 > CST哪些设置对仿真时间有着直接影响

CST哪些设置对仿真时间有着直接影响

05-08
CST对机器的要求,或者说仿真时间影响主要由以下设置参量决定:
1、精度要求(-30dB or -60dB等) - 在时域求解器窗口中设置。一般没特殊要求都是-30dB,精度越高仿真时间越长
2、网格数量 - 理论上1000万个网格占用1GB内存,仿真时间3小时,当然是理论值,实际要多得多
3、网格最小步长 - 主要通过Fixpoint、Lines per wavelength(电大尺寸)、Lower mesh limit(电小尺寸)的变化而变化,还可以通过Mesh line ratio limit来强行指定其与最大网格步长的比例。当然,其值越大越可以节约仿真时间
4、激励信号时间 - 主要根据频率的范围而变化,如果仿真最低频率是从0频点开始,则此为一个高斯脉冲;如果为从非0频点仿起,则此为一个有一定振荡的时域信号,其变化规则为对应激励信号的时域信号的傅立叶变换的频谱图的90%的能量都集中在对应设定的频带范围内。没特殊情况下也不用改,但也很重要,一个自定义的EMP激励信号持续100多ns的也够你受得
5、需要计算的S参量个数 - 其个数与仿真时间应该是成正比的吧(还不是很确定)
6、监视场的的个数等 - 2D result里的那些场型图,属于额外附加时间,不会很多。
此为我一个作为仿真新人总结的一些经验,拿来和大家共享,如果有错误请大家积极批评,补充和指教啊!

好像在solver设置里面还有一个选项是设置仿真最大时间为激励脉冲的多少倍,默认设置是20倍,但一般都不用那么长   这个可以改

设置合适的对称条件可以大幅降低计算时间~~

这个很厉害
在精度要求很高的时候该这个很有用
先要把Accuracy设为no check
之前有发现有时候算出来的S参数有大于1,就是因为精度不够
要保证激励信号在仿真时间内衰减为0
如果改变Accuracy仍然不能达到需要
就改变这个吧
当然仿真时间要长很多

总结的很好,请详细解释一下Lower mesh limit(电小尺寸)是如何计算和设置的,谢谢!

首先,相信你也知道,Lower mesh limit是用于电小尺寸设计的,我也不必多说。
其次,Lower mesh limit意思是结构线度上的最小网格点数——我用矩形得出的结论是Lower mesh limit * 模型最小边长 / 80 = 网格的最小步长。有兴趣你可以验证一下,看看对不对。
最后,你不放心的话可以直接到帮助里去看一下,只不多都是英文的,而且只有定性的而没定量。

我试了下,这个公式似乎只有在Lower mesh limit =10的时候是成立
而且网格最小步长和网格密度的三个控制项都有关,公式应该不不会这么简单吧。
不过小编能试出这个公式来 佩服
100* 模型最小边长 / (Lower mesh limit *80) = 网格的最小步长
这个公式在Lower mesh limit =10和15的时候好像是成立的

谢谢ssffss你帮我把推导检查得更加严谨啊!

翻看以前的帖子,就看到了这个。感谢karcsija的分享!我也说说我对这些参数的看法。(有些名词如果我实在想不到一个合适的中文称谓我就直接用英文了,各位见谅……-_-|||)
1. Accuracy
这部分原理可以参考另一篇精华帖:《[error&warning]--steady state energy criterion》。(http://bbs.rfeda.cn/read.php?tid=3402#)
从仿真的原理来讲,solver要一直计算到仿真区域内的能量耗散为零之后才结束。但实际上,由于网格划分的有限性,系统内总会存在一定的能量,这个残存的能量就好像通信系统内的背景噪声一样,因此叫做numerical noise,Accuracy这个参数决定了slover什么时候将残留在仿真区域内的能量判定为numerical noise。(建议参看Help文档:《Signals in Time Domain Simulations》)
对于非谐振模型,Accuracy参数的高低对仿真结果的影响不大,因为能量以近乎线性的速率在耗散。而对于强谐振模型,由于谐振的存在,系统内的能量要花很长的时间才能耗散掉,因此一个比较精确的Accuracy(比如-50dB)会显著延长仿真的时间
2. Mesh and Minimum Mesh Step (建议阅读Help文档:《Mesh Generation Overview》)
总体来讲,网格数越多,网格尺寸越小,仿真结果就越准确,但是很明显,仿真的时间也就越长。这其中Minimum Mesh Step是对仿真速度影响最大的参数,CST Help文档里也反复提醒不要设置过小的数值:”It is obvious from the explanations above that the Mesh line ratio limit parameter has to be adjusted carefully. Too small settings of this parameter prevent the mesh from resolving small details. On the other hand, specifying very large values may result in very small mesh steps significantly affecting the performance of the simulation.“。因此,在设置好网格参数,尤其是是设置了local mesh properties之后,最好回到global mesh properties里面再看一看目前模型的最小网格步长是多少。我在做仿真的时候,我的理想最小值是0.1,心里极限值是0.05,不会再比这个数值更小了。(即使用工作站,我也等不起)
3. Solver Performance (强烈建议参看Help文档:《Transient Solver Performance Improvements》)
前两个参数的内容实际上在这里都包括了。这里主要讲Transient Solver Performance,它主要由两个参数来影响:”时域步长(Time Step Width)“和”激励时间“。 时域步长由上面所讲的Minimum Mesh Step来决定,Min. Mesh Step越小,Time Step Width就越长,所以要避免过小的Min. Mesh Step
而”激励时间“是由两方面影响的:”duration of the excitation pulse“和”duration of the transient process“,就是高斯信号的上升时间和下降时间。对于谐振模型,上面所讲的Accuracy参数决定了”下降时间“的长短!Accuracy越精确,高斯信号下降到噪声级别所花的时间就越长
而对于非谐振模型,可以通过设置缩短高斯信号的上升时间来有效得缩短仿真时间。这部分理论可以参考另一片精华帖:《CST中时域求解器的频率设置与时—频域变换引起的计算误差问题》(http://bbs.rfeda.cn/read.php?tid=33541#)。仿真频段越窄,激励上升时间就越长;仿真频段越宽,激励上升时间越短。所以,无论是谐振模型还是非谐振模型,其实都应该避免过窄的仿真频段。另外,对于没有截止频率(cut-off frequency)的模型,仿真频段里加上0频(直流)可以将高斯激励的上升时间再缩短一半
4. Field Monitor
CST Help里面确实提到了这一点,如果没有必要的话,就不要添加过多的Monitor。不过我个人的经验倒是没有觉得这些monitor对仿真时间有明显的影响,solver time几乎没有区别。(个人经验,仅供参考)
5. S Parameter
关于S参数的个数,我目前没有观察到什么影响。(个人经验,仅供参考)

那我怎样可以把那些划分的很细小的网格给弄的大一些呢?请问您一般都是如何设置网格的,比如要计算S参数

karcsija大大很久没上论坛了……
如果你发现模型里的min. mesh step很小,有两个地方需要检查:
1. 打开global mesh properties,调整“Lines per wavelength”,“Lower mesh limit” 和 “Mesh line ratio limit”,这三个参数都会影响网格尺寸。Help文档《Mesh Properties (Hexahedral)》里提到了建议的初始设置:Lines per wavelength=10,Mesh line ratio limit=10。在一些对细节要求比较高的情况(可以参考对应的Template),Mesh line ratio limit=20。
2. 如过调整了Global mesh properties之后最小网格尺寸没有变化,那么一定是设置了Local mesh properties。在激活mesh view的状态下,查看已经设置了local mesh properties结构,看看最小网格尺寸被设置在那个结构上,再修改那个参数到合适的数值就行了。

还有,后处理也占很多时间的~~~

这个小小挑战一下,相对于三维电磁仿真,后处理并不会花太长的时间,即使是提取远场仿真参数。

我做了两个三维模型的天线仿真,这两个模型除了一个比一个的尺寸大些,其他都是一样的(包括频段设定,边界,网格,精度等),很奇怪是尺寸大的竟比尺寸小的用的时间还短呢,请教一下是怎么回事呢?

单纯只看你的描述的话,我猜测小尺寸的天线有比较强的谐振,所以在field analysis的时候要花更长的时间。可以查一下两个仿真的solver logfile,我估计excitation time应该不会相差很多。

实在是好帖 拜读

拜读,感谢!

在时域计算中,有个选项“Adaptive mesh refinement”,它好像对仿真时间影响很大,选上它意味着CST要在不同的网格划分下计算(从疏到密),直到两次的结果一致时才会停止。不知我说的对不对?请指教

CST MWS中使用Adaptive Mesh Refinement时,会定义一个参数“Delta S”,它代表了连续两次仿真得到的S参数的最大偏差。CST MWS默认Delta S小于2%时终止Adaptive mesh refinement。(参考帮助文件《Mesh Generation Overview》中的"Hexahedral Mesh Generation" -> "Adaptive Mesh Refinement")
Adaptive mesh refinement对仿真时间影响大是因为Pass的次数越多,网格划分的总数就越多,同时最小网格尺寸也越小。网格数会使仿真时间增多,尤其是field analysis的时间;而最小网格尺寸则很大程度的影响总的仿真时间(包括excitation analysis和field analysis)。
如果你的模型是用来和实测做对比,那么使用adaptive mesh refinement大多可以得到很好的相关性。如果模型是用来做参数调整(parameter sweep或者optimization),用adaptive mesh refinement时间上就很没有效率,调整local mesh properties一般也可以得到接近的效果。

karcsija已经退役了。

一直在学习,从未被超越。

顶一个哈

多谢各位大虾,受教颇多。

小编好,我最近去参加了CST的培训,然后再回来看您的帖子又下面几点感受大家来交流一下,
仿真时间最根本的还是受mesh的单元数 以及仿真的精度决定。
1、仿真的精度决定了算法终止的条件,精度越高,能量在结构中停留的时间也就越长,自然仿真的时间越长。
2、mesh后的单元数,meshcells 在CST操作界面的右下角可以看到,这个数目越多也就预示着计算量越大。但是这个要注意,如果用了local mesh的话,最精细的mesh单元决定了仿真的时间,这个时候mesh的单元数就不是绝对的参考了,有可能meshcell少的反而仿真的时间越长,就是因为在local mesh中采用了更高的精度。
其他的我个人返到觉得S参数和二维三维的信息量的计算不会占用太多时间 那些应该都是零头了
希望各位大侠拍砖

无砖可拍,很好的分享。其实这些参数和注意事项在帮助文件里都已经提到了:《Signals in Time Domain Simulations》、《Mesh Generation Overview》、《Transient Solver Performance Improvements》。
只不过第二条不太准确,“最精细的mesh单元”我这里就用minimum mesh step表示,这个参数的重要性并不是只在使用了local mesh的时候才凸现出来,而是在任何情况下都是影响仿真速度的一个参数。我个人使用“最”这个字,没有之一!
调整global mesh properties,很可能在增加总网格数的时候也缩小了minimum mesh step;即使调整local mesh properties,也有可能做到提高网格线密度的同时保持minimum mesh step不变。给你培训的人在这里可能偷懒了,没有把详细情况说明。

谢谢小编的纠正,
后来和那个人交流的时候他提到:程序在仿真运算过程中,用来存储meshcell的数据结构其实很简单,但是数量会随着mesh的精细度而改变,我想这和你提到的结果是一致的,minimum mesh step也就决定了存储meshcell的数据结构的精度,minimum的值越小,该存储结构的数量也就越大,这样导致运算的时间也就越长。
另外一点,在mesh properties-> special->Use subgridding 这一个选项,如果选中了的话,可以完成对局部精细部分更好的仿真,相对与local mesh来说,subgridding的meshcell的数量则要小很多。 但是一直没有太好的例子在进行这样的操作,在我的经历来看没有什么却别,但是从示例上看mesh图的效果还是很明显的 不知道有没有哪位有过这样的仿真经历,来介绍一下这个subgridding到底怎么样

我试过subgridding,对于结构相对复杂的模型,如果金属(或者感兴趣的)结构是总仿真模型的一个或几个部分,而且模型中有不少(或大范围的)“空”区域,使用subgridding可以得到很高的subgrid factor(5-6)。
不过,使用subgridding之后minimum mesh step缩小为原先的一半!因此CST建议使用subgridding是应该至少保证subgrid factor在3以上。从仿真速度的角度上,一般的仿真模型使用subgridding不会带来很明显的加速效果。对于minimum mesh step已经很小的结构,个人感觉使用subgridding可能会让仿真速度更慢……。
GPU Computing不支持Subgridding……。
Energy Based Adaptive Mesh Refinement不支持Subgridding……。
使用Open Add Space边界条件的同时使用Subgridding,软件可能会给出错误提示,大意是边界处划分了不同层级的网格,仿真不能运行……。

受益匪浅啊,谢谢各位了。

我以前使用过subgridding,虽然局部可以把最好尺寸减少,但总的感觉是仿真时间大大增加了。一般子网格加密因子为4就差不多很好了

Top