-
-
October 30, 2024 at 9:35 amyihang laiSubscriber
老师您好
我在尝试修改官网例子Thermal switch的过程中,仿真遇到了难以解决的问题,烦请老师予以解答。
这是例子的网址:
https://optics.ansys.com/hc/en-us/articles/360042323154-Thermal-switch
下面是我修改的仿真截图
材料:
结构:
具体的,加热器使用官网热开关例子里的同款
从上至下从左至右的八个微环,编号依次为:
1234
5678
中间为一根折叠的波导(微环内外半径均相同,间隔均为700nm)
仿真区域设置:
HEAT监视器设置:
边界条件:
首先仿真的是,给微环6加热,给定加热电压为2.522v时,脚本读出微环6四部分的温度,计算其平均温度为749.441K。将加热器移动到给微环5加热,其余所有设置与之前一致,mesh的时候报错:
Internal error in repairencsubs():
During repairing encroached subface (20352, 20362, 20374)
New point 20391 is coincident with an existing vertex 20362
LUXIAOYU(process 0): The program terminated due to an error: Failed to generate initial tesselation
LUXIAOYU(process 0): Error: there was an unknown parallel error. The error code is 108, the process number is 0
当把mesh全改为10um,可以运行mesh了,但从0-2.522v扫描温度,结果本来应该有四个结果图,只能显示两个
恳请老师帮我看下,我该如何修改!
十分感谢!
祝好
-
October 30, 2024 at 5:24 pmGuilin SunAnsys Employee
首先,你知道网格划分与热源有关,因此改换热源出现问题就需要修改是正常的。
"当把mesh全改为10um"你是说整个结构网格都用这个?你先看看结构能否被分辨,其次看看温度分布和电场是否有巨变?一般稍微改一下网格即可。
最后,温度达到700多K是否太高了?
-
November 5, 2024 at 8:51 amyihang laiSubscriber
老师您好,因为在我的仿真中,微环的半径由原例子中的10um缩小为了5um,Si的熔点是在1687.15 K,所以同样的电压2.552v,温度一个为480k,一个780k,可能是合理的?当电压减小为1.6v时,温度是在500k左右,变化趋势是正常的
关于“mesh全改为10um”是说整个结构网格都用这个,是指将Heat Solver的global mesh max、min edge length由2.5、5都改为10um,并且max refine steps也由500000增大为1000000,如果不改变mesh,在这之前会发生下面的报错:Internal error in repairencsubs():
During repairing encroached subface (20352, 20362, 20374)
New point 20391 is coincident with an existing vertex 20362
LUXIAOYU(process 0): The program terminated due to an error: Failed to generate initial tesselation
LUXIAOYU(process 0): Error: there was an unknown parallel error. The error code is 108, the process number is 0
我想知道遇到error code is 108 这样的报错具体是什么原因导致的,应该如何解决呢?我的仿真经常会出现这样的报错,一直不太清楚它的解决方法,而且我觉得这里把mesh改为10um确实不合理,因为微环的半径才5um,确实可能发生结构不能分辨的情况,那遇到这种报错我应该怎么解决呢?
而且在改变mesh之后,不在报错上面的问题,但这个时候会遇到第二种问题:仿真0-2.522v之间四个电压的温度,只有两个有结果并且是正确的温度值,另外两个结果图不显示温度,分别是0.8v和2.522v电压下的温度,显示为一片蓝色且没有刻度值,但是如果只单独仿真2.522v一个电压的时候又可以正常显示温度结果,这是为什么呢?我一直不知道是什么原因,该怎么解决呢?
而且这个问题时常会出现,即使global mesh max、min edge length保持为原例子里的2.5、5um,max refine steps为500000的设置不变时,也出现过这种情况,烦请老师解答我的疑惑,十分感谢!
-
November 5, 2024 at 4:35 pmGuilin SunAnsys Employee
global mesh max、min edge length很少用相同的,因为有限元网格基本上都是自适应,根据所在位置的热参数和温度梯度等改变的。
至于报错error code is 108 也可能是微软系统包括C++库文件对于目前网格出错,即系统无法辨认某个变量,核心原因是网格不合适。注意圆环,它轴为的网格不好做,你把圆环先换成方形看看仿真是否顺利?结构不能分辨显然结果不会正确。
其它的错误基本上都是源自网格,你可能需要下功夫改善网格划分。
如果这个文件反复修改有可能导致问题,此时需要重新建立一个新文件。但是为节省时间,先改善网格吧。至于如何改善,温度建议是不要用均匀网格,因为圆形部分与其它平面接触需要细网格,你需要反复调整global mesh max、min edge length或者加局部网格。
实际器件应该达到多高问题?不可能接近熔点吧,你看看材料折射率变化了多少?我的建议是先不追求高温加高压,先低压测试。
-
- You must be logged in to reply to this topic.
-
1406
-
599
-
591
-
555
-
366
© 2025 Copyright ANSYS, Inc. All rights reserved.