Comsol如何确定合适的研究输出时步?
问题描述:
在进行非稳态研究时,以双向耦合粒子追踪研究为例,“研究设置”——>输出时步”range(0,t_term,t_end)中的输出结束时间t_end需要人为定义,如果时间t_end设置太长,可能会导致求解器的自适应步长过大而忽略某些物理细节。相反,若t_end值设置太小,粒子或微元无法跑满仿真域。
解决措施:
t_term,即结果输出保存的最小时步,可以按照所需后处理数据精度进行合理选择。个人偏爱取值介于t_end的1/10和1‰。
t_end,即输出结束时间。为了避免粒子运动模拟不充分,可以首先尝试取一较大值(比如取为粒子从入口匀速流动到出口大致所需时间),同时为求解器设置一个停止条件🛑,选取合适的停止表达式,并添加警告当仿真结束后,系统会给出满足停止表达式时的时间,该时间值即可为新一轮仿真迭代结束时间t_end作一个参考。
- 示例:模型为一个双向耦合粒子追踪研究模块,主要研究带电粒子在外加磁场作用下从入口运动到出口过程中引起的空间电磁场变化。
- 对“求解器配置”——>“瞬态求解器”设置一个停止条件🛑,确定停止表达式为“comp1.cpt.pcnt1.Nsel>=0.95*N”(当出口位置接收到95%以上的入射粒子(N=1000)时即满足停止条件);
- comp1----表示整个“组件1”;
- cpt------表示“带电粒子追踪”;
- pcnt1.Nsel-表示“粒子计数器”中粒子总数。
- 具体的式子含义可以查看“方程视图”。
- “满足以下条件时停止”选为True(>=1);
- “停止时输出”选择“添加解:停止前/后的步骤”并勾选“添加警告⚠️”。