尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

基于COMSOL泰勒锥模型的垂直分布特性探究水平集对空间电荷密度的动态演化模拟

基于COMSOL泰勒锥模型的垂直分布特性探究水平集对空间电荷密度的动态演化模拟 COMSOL泰勒锥模型采用水平集耦合空间电荷密度。三伏天实验室空调开到20℃也压不住模拟泰勒锥的焦虑——这玩意儿在COMSOL里就像个任性的熊孩子水平集和空间电荷密度这对CP稍不留神就闹分手。今天咱们就手撕这个带电液滴变锥子的经典难题搞点能跑通的硬核操作。先甩个灵魂拷问为什么非要把水平集和空间电荷密度绑在一起咱在模型树里右键新增物理场选Level Set模块时记得勾选Activate charge conservation这个骚操作直接把电荷连续性方程焊死在水平集运动里。看这段代码就明白model.physics(ls).feature(cps1).set(IncludeChargeConservation, true); model.physics(cc).feature(cc1).set(rho, rho_em);第一行打开电荷守恒开关第二行把空间电荷密度变量rho_em塞进电流连续性方程。注意这里有个魔鬼细节电荷密度必须用全局变量定义千万别手贱写成局部变量否则COMSOL分分钟给你演算发散大戏。水平集函数参数设置是重灾区重点盯防这个参数表model.param.set(epsilon, 5e-6, Reinitialization parameter); model.param.set(velocity_scale, 1e3, Scaling factor);epsilon控制界面厚度建议取网格尺寸的1/5~1/10。实测发现当电压加到5kV时epsilon小于1e-5就会出数值震荡像极了老式电视机雪花屏。velocity_scale别傻乎乎用默认值根据电场强度动态调整才能稳住计算。COMSOL泰勒锥模型采用水平集耦合空间电荷密度。处理空间电荷密度奇点时祭出这个条件判断神操作if (phi 0.5, rho_em epsilon0*epsilon_r*div(E) else, rho_em 0 )用水平集函数phi做判据只在气相区域计算空间电荷密度。注意div(E)要改用弱形式表达不然在相界面处会爆出NaN错误。这里推荐魔改一下电荷密度表达式rho_em (phi0.5)*epsilon0*epsilon_r*(d(Ex,x)d(Ey,y)d(Ez,z))括号里的布尔判断相当于物理场的if语句COMSOL编译器会自动处理不连续问题。跑模拟时最常遇到的报错是尖端电流密度超过材料极限八成是相界面处的电场畸变没处理好。教你们个野路子在尖端区域加个高斯平滑滤波器E_smooth E/(1 (r/1e-6)^2)这个经验公式里的1e-6是特征半径根据实际液滴尺寸调整。虽然物理上不够严谨但能让计算苟到收敛亲测有效。最后提醒各位勇士泰勒锥的网格必须用边界层技术加密建议用超弹性网格划分法。别心疼计算资源在相界面附近至少铺3层边界层网格雅可比矩阵检查要开到strict模式。当看到那个完美的锥形界面在电场下逐渐形成时你会明白这一切折腾都值了——毕竟没有在深夜为数值发散抓过狂的科研狗不足以谈人生。
返回列表