当前位置:文档之家› 关于comsol模拟的一些问答

关于comsol模拟的一些问答

1.近来用COMSOL计算光子晶体光纤的模场分布,可是不知道PML的参数如何设置,以及边界条件怎么设置,计算出来的结果不对. 实验室老板催得急,算不出来特别郁闷,不想读的心思都有了。请用过的人帮帮忙吧:)

我也是用comsol算光纤的,关于pml层的设定问题,如果不考虑损耗的话,pml层可以不设,你可以试一试就知道了,pml对模场分布基本没有影响

2. COMSOL Multiphysics如何模拟带隙光子晶体光纤?

要用COMSOL Multiphysics模拟带隙光子晶体光纤,也就是要加入kz,可以用如下方法:

(1)用平面波模式,将模型边界条件改为电场,输入一个表达式的名字,例如E1。

(2)定义该边界表达式E1,菜单“选项>表达式>边界表达式”,选择不同的边界,分别写入该边界上电场E1的表达式,这样就能加入kz,将所需的周期性边界方程写入COMSOL Multiphysics。

3.如何准确求光子晶体光纤的限制损耗即有效折射率的虚部

我在模拟PCF时,为了求其限制损耗即有效折射率的虚部,在PCF结构的外面加了PML,但是在加了PML 后,却发现光束不能约束在纤芯中了。不知道哪里出了问题,还望各位高手给予指点,谢谢。8v p w-q%T-~V1W-d [attach]219885[/attach]:T o[1O+B0P

加了PML后的结果如下:

[attach]219886[/attach]

我也是初学,也在做一些光子晶体的方法。目前还不懂帮你顶顶,大家多多讨论

有限元做光子?这个挺有新意,不过要注意是否适用

能说一下有限元做光子为什么不合适吗?不过用FDTD做光子的还蛮多的

PML的几何不对,应该是加个六边形的PML才对吧:)

纤芯比外面的小,当然有可能找到外面的那个模式,多找几个模式或者将外面的区域减小应该就可以了

加个圆形的就可以了

PML要考虑模型的对称性,比如这个模型可以只计算1/4或者1/6

楼主具体交流下怎么划分格点的?

我算光子晶体光纤的模式,伪模很多阿,比如设neff=1.5附近寻找,设200个,它就给找出200个neff 出来。。。n

在comsol如何输入积分和二重积分符号?

我要在选项---表达式里输入表达式,在表达式里输入积分符号和二重积分符号,这两个符号都怎么输入?

COMSOL没有这种运算符,实现这个功能的是“积分耦合变量”。

如果你把这个积分耦合变量定义在三维实体上,那么就是三重体积分的含义;定义在二维域上,就是二重面积分;定义在一维线上,就是单重的线积分。

如果你要做的不是对空间的积分,而是对时间的积分,那么,就需要你把这个时间的积分整理成一个普通的常微分方程,在COMSOL中可以添加ODE的约束。

在comsol里如何操作运行有效模场面积

在模拟光子晶体光纤的时候想知道有效模场面积和波长的关系,我现在知道有效模场面积的计算公式,但不知道在COMSOL里如何操作、运行,如何计算有效模场面积?先谢了!

后处理菜单中,有个域积分计算。

你在那里面对你有效面积公式的分子和分母那两个积分分别进行计算,然后手工去做个除法.

我还是不明白,能不能再详细一点。谢谢!

to GYZ:首先,你知道那个Aeff的公式不?如果不知道,可以去SCI数据库查一下K. Saitoh做PCF 的论文,02~03年附近的。可以找到这个公式。我论坛回复没法用公式编辑器,所以只能让你自己去查一查了。查一下也好,你写论文的时候总要引用这个公式的出处的。

然后,这个公式是一个除法,分子和分母均是对电场分布的二重积分,当然积分域并不一样。积分变量也不完全一样,虽然都是电场分布,但是分子分母有一个平方,一个是四次方。总之这个二重域积分的功能,COMSOL里面内置了,可以简单的分别计算出来。

[i=s] 本帖最后由joasm 于2010-4-22 18:11 编辑[/i]

附上Aeff公式,我用范例里的[color=red]step_index_fiber[/color]计算Aeff,但结果有点不太正确!! 主任帮我看看,我的过程!

Options > integration coupling variable > subdomain variable

直接对Subdomain2 (core)积分

name expression

Int normE_rfwv^2 分母

Int1 normE_rfwv^4 分子

更新计算后从data display > global 观看结果

但结果似乎不太正确

在comso里,如何画正三角形和正六变形?

求求大家帮忙,指点一下如何画正三角形和正六边形,非常着急,由于不会画,下面的论文都做不下去了。

再次谢谢大家

[i=s] 本帖最后由glassfiber 于2009-12-1 13:24 编辑[/i]

有个笨办法:画一条线,然后复制一下,再把原来的线旋转60度,粘贴原来的线出来,这样就有两根线了,再把两个末端连起来,三个线同时选中后强制生成实体,就是一个正三角形。

或者:画一个旋转60度的正方形,一个不旋转的正方形,然后里面就有一个正三角形的形状了,用线连起来就是一个正三角形。

可以用matlab先编一个程序,导入就行了吧~

能说说如何用matlab编,在导入呢?还是全部在脚本中实现

就是使用comsol with matlab。这个时候会先打开matlab,然后打开comsol。comsol里面选2D,然后确定就可以了。这个时候comsol进入工作界面,最小化它就可以了。

在matlab界面写程序,画正三角形什么的都有现成的命令,这个随便google就知道了,有很多方法。画好了以后,使用一下geomcoerce命令,把曲线几何强制成实体。

然后在comsol界面写,选文件>导入>导入几何对象,这个时候你就能在comsol中看见matlab工作空间中的几何对象,导入就可以了。

其实说实在的,我觉得2楼说的画线再复制旋转的方法更容易。

正三角形而已,不至于用脚本,呵呵。

因为基模的损耗一般最小,对应于虚部也最小。

求光纤传播模式和损耗的问题

1)那个in-plane wave是面内波,不是光学里面说的平面波(plain wave),comsol里面的垂直波也可以是平面波。面内波和垂直波,只是描述的光的入射方向,你计算的模式的话,画光纤截面多好,因为模式分布是一个稳态光场分布,你弄个面内波做一段无意义的传输干什么呢,唉,被fdtd毒害太深了。

2)求解模场使用的是特征频率分析这种求解器。你要告诉他一个大概的寻找范围。比如你做个光纤仿真,芯的折射率1.6,包层折射率1.5.你就可以告诉软件从1.6附近开始找,因为模式的折射率一定在n1和n2之间。你要是告诉软件从折射率1附近找,他肯定算不出来。

3)步骤就是画光纤截面,用垂直波模场分析这种应用模式,指定波长,指定各求解域的材料属性。外围边界用吸收边界(散射边界或者PML),内部边界不用管它,默认连续。然后告诉他在哪个折射率附近找,然后就计算。在后处理中看功率分布找到基膜,然后记下软件给出的有效折射率,是个复数。虚部表示了损耗,有公式的,翻翻论坛上的帖子。

散射边界和PML都属于吸收边界。

区别就是,散射边界是个一阶的吸收边界,而PML是二阶的。

换句话说,如果波矢精确已知,散射边界就是完美吸收边界,没有反射。但是如果波矢无法给出,那散射边界就不可能完美吸收了,会有反射存在。

PML要高级一点,那可以不要求用户指定波矢,反正波来了就吸收,衰减掉,只要PML层够厚。

但是大多数都是伪模,光的能量都不在中心,而是在各种各样乱七八糟的区域,200里面可能有一两个是限制在芯区的传输模。。。v Q e y B)n D

如果光子晶体柱半径再小的话,可能一个传输模也找不到

原因就是没找到模式,具体应该参照第一幅图的折射率设定,然后都找几个模,应该可以找到正确的模式。我目前还在做,希望和大家多交流。

楼主?最后问题出在哪啊?给个总结贝

[quote]原因就是没找到模式,具体应该参照第一幅图的折射率设定,然后都找几个模,应该可以找到正确的模式。我目前还在做,希望和大家多交流。

[size=2][color=#999999]wd19830203 发表于2009-11-17 20:43[/color] [url=https://www.doczj.com/doc/367239956.html,/redirect.php?goto=findpost&pid=1834817&ptid=900824][im g]https://www.doczj.com/doc/367239956.html,/images/common/back.gif[/img][/url][/size][/quote]%}6b Q p b+n1L9O&|

能加我QQ么890587541C)o7P^7yO(s

一起交流下我清华的

4.请问有谁用femlab模拟过光子晶体光纤

我用Perpendicular Waves>Hybrid-Mode Waves>Mode analysis模拟光子晶体光纤.仿照step index W k

fiber的例子,但是计算结果是光束没有约束在纤芯.不知道有哪位做过.请指教一下.多谢!

需要用PML,象计算普通波导中的模式一样计算光子晶体光纤中的模式是不行的。具体可参见COMSOLCONFERENCE2005上的几篇文章。

多谢!多谢!可惜我没有COMSOLCONFERENCE2005,不知哪位兄弟有啊?

同问啊!楼主也是做光子晶体光纤的吗,多交流啊!

你好,我是搞光子晶体光纤和光纤激光器的。我的QQ409306042,想交流的话加我。注明你是仿真论坛的。

还要请问大家,如何设定光在光子晶体光纤中沿z方向的传播距离呢?好像step index fiber的例子中也没有关于传播距离的解释,也就是传播了多远得到的稳定基模呢?另外2楼说的PML是理想匹配层的边界条件吗?呵呵,新手,问题很多,见谅

按照MAXWELL 方程,光纤中存在的模式,就是方程的解。光纤考虑结构随轴向不变,得出的解沿z方向分布是不变的。计算的时候,应该考虑的z方向无限长的,直到求出稳定的解。其它软件模拟光纤的时候,也有没考虑长度的,可能是光纤的宏观尺寸相对于波长是很巨大的。

谢谢winter1,你的意思是考虑z方向无限长求出稳定解,得到稳定解的传播距离由于光纤尺寸很大所以可以忽略,认为光纤中从头到尾都以这个解来传播的,对吗?我是这么想的,但导师非要找出稳定解前传播的距离,很郁闷。

呵呵。我同学用的光学软件可以看光波向前传播的时候的横截面的光场分布。一般来说,如果向前传播的光波能够在纤芯中约束,这光传播一段时间,光场在横截面的分布就稳定了。如果不能约束,就很快散出纤芯了。

你同学用的什么光学软件呢?“如果向前传播的光波能够在纤芯中约束,这光传播一段时间,光场在横截面的分布就稳定了”那么光传播的这段时间大概多久呢,它又会传播多长呢?是波长量级吗?总搞不清楚这点。

[[i] 本帖最后由piaopozhz 于2006-12-29 14:49 编辑[/i]]

我同学用的好像是rsoft 之类的软件。我看他模拟的时候,如果该光子晶体光纤不能约束光束。传播约在几十上百个波长量级的时候,就全部泄漏到包层了。

我有femlab的例子是关于光子晶体光纤长周期光栅,有兴趣的我发给你。

附件是光子晶体光纤长周期光栅,有兴趣的可以看看

附件是光子晶体光纤长周期光栅,有兴趣的可以看看

谢谢,真是太感谢了!我下载下来好好研究研究!

奇怪下载下来的为什么不能解压缩呢?放在一个文件夹里也不行。7q a9#R(a

对了,还有你在用Femlab处理光子晶体光纤时的边界条件怎么设定的呢?能不能直接用PMC,唉,感觉搞这方面的资料好少啊

实在对不起,我的网速太慢了。登陆了几次都附件传不上去的。可能传的有问题。对不住了。我在试试。

实在不好意思,我的权限太小。没有办法传上去。呵呵。你要的话。发邮件给

[email]awvtt@https://www.doczj.com/doc/367239956.html,[/email] 我给你传一份。其实这是,2006年年会的文章,也是别人给我的。

真是非常感谢!我已经给你发邮件了!资料真是宝贵啊!

你好。我已经发给你了。呵呵。看看收到没有。

奇怪,收是收到了,为什么没有附件呢?能麻烦你再发一个吗?谢谢!

不会吧。我也是https://www.doczj.com/doc/367239956.html,的邮箱。呵呵。我试试吧。

这次收到了,非常感谢!好好研究一下,呵呵

我用Perpendicular Waves>Hybrid-Mode Waves>Mode analysis模拟光子晶体光纤,方程是光纤的传播方程,但如何加PML边界条件呢?在边界条件选项里只有理想磁导体边界条件和理想电导体边界条件,无法在加的理想匹配层中选择其它条件啊。如果根据PML的例子来选择边界条件的话方程又不再是光纤的传播方程了。不知哪位能给解答一下吗?另外,好像我用理想磁导体边界条件算出的计算精度也还可以,这个问题能不能就用一般的边界条件算呢

补充一下,我是想用femlab来研究光子晶体光纤的色散和双折射

页: [1]

查看完整版本: 请问有谁用femlab模拟过光子晶体光纤

5.关于模拟光子晶体光纤

因为说明书中并没有介绍如何建立PCF,所以我现在建模老是出一些乱七八糟的错误。头疼死了,看到论坛有那么多牛人再讨论,能否加QQ,请教一二。问题实在太多。。不能在这里问了。请牛人加Q103820100,谢了~~

另,RF模块可以模拟光栅吗?能不能画出光栅的电场分布。谢谢!

RF模块当然可以模拟光栅,画出光栅结构,然后平面波入射计算传输就可以了。

PCF的话其实总结起来,就是画一个PCF的截面图。

使用RF模块进行2D建模即可,使用垂直入射,模式分析功能。定义好各部分材料特性以后,边界使用

一般的吸收边界(散射边界或者PML),就可以了。

感谢系主任。。。有不会的问题再请教哈[b]

[url=https://www.doczj.com/doc/367239956.html,/redirect.php?goto=findpost&pid=2197&ptid=973]2#[/url]

[i]Lynn_An[/i] [/b]

在解模场特征值时,需要获得初始值么?我点获得初始值,又有好多错误[b]

[url=https://www.doczj.com/doc/367239956.html,/redirect.php?goto=findpost&pid=2197&ptid=973]2#[/url]

[i]Lynn_An[/i] [/b]

[b][url=https://www.doczj.com/doc/367239956.html,/redirect.php?goto=findpost&pid=2207&ptid=973]4#[/url] [i]Leon86[/i] [/b]

什么获得初始值?

建议你去模型库里面看看那个普通阶跃光纤的模场分析例子吧。在RF模型库,optics and photonics目录下面,有个step index fiber的算例。去看看这个的操作过程。

然后你所后需要做的,就是加上几个空气孔,重复这个step index fiber的仿真分析步骤。

有没有关于用comsol模拟光子晶体光纤的群啊,刚开始学习这个软件,都不知道怎么建模,怎么计算啊!!

我用这个方法仿真之后,结构图有点不正常,应该是边界条件设置的问题,改怎么设置呢?下面是仿真的结果图[b]

[url=https://www.doczj.com/doc/367239956.html,/redirect.php?goto=findpost&pid=2326&ptid=973]5#[/url] [i]Lynn_An[/i] [/b]

页: [1]

6.

光子晶体光纤

请教:

模式的有效折射率是一个复数,如何在comsol软件中求

出其虚部?利用comsol软件可以求出包层的有效折射率

吗?恳请高手指定指定。

收藏分享评分

回复引用

订阅TOP

版主

redcrag发表于2010-4-16

20:17 | 只看该作者

计算边界采用PML条件,能够计算虚部,可以找有精确数值的

文献对比。

包层有效折射率可以用一个单

元求解。

参考这篇帖子内容https://www.doczj.com/doc/367239956.html,/viewthr .

.. &extra=page%3D1 https://www.doczj.com/doc/367239956.html,/def

ault.aspx

回复引用

TOP

上路之前

Whitehands 发表于 2010-4-16 22:31 | 只看该作者

多谢版主!

回复 引用

TOP

中级会员

guoyuanlg 发表于 2010-4-17 17:30 | 只看该作者

计算边界采用PML 条件,能够计算虚部,可以找有精确数值的文献对比。

包层有效折射率可以用一个单元求解。

参考这篇帖子内容

https://www.doczj.com/doc/367239956.html,/viewthr ... &extra=page%3D1

redcrag 发表于

2010-4-16 20:17

若设置“散射边界条件”呢?貌似也能得到虚部

回复 引用

TOP

上路之前

Whitehands 发表于 2010-4-19 11:08 | 只看该作者

散射边界条件可以得到虚部。

回复 引用

TOP

版主

redcrag 发表于 2010-4-19 12:01 | 只看该作者 是这样。

https://www.doczj.com/doc/367239956.html,/default.aspx

回复 引用

TOP

中级会员

guoyuanlg 发表于 2010-4-20 09:40 | 只看该作者

6# redcrag

趁机问:散射边界条件和完美电导体或磁导体边界条件的区别?呵呵,

谢谢

回复 引用

TOP

版主

redcrag 发表于 2010-4-20 10:35 | 只看该作者 我以为你可以普及一下呢,我是不太懂,呵呵。

https://www.doczj.com/doc/367239956.html,/default.aspx

回复 引用

TOP

注册会

suonawangwh 发表于 2010-4-27 20:30 | 只看该作者

7# guoyuanlg

文献上说PML 条件是用的最广泛的,忘了是哪里看到了的,还有提到其他这

些边界条件,找到了传上来给你看看

7.有大侠用COMSOL仿真光子晶体光纤模场的吗?请教

我仿真光子晶体光纤(结构不错,已有成品),设定PML的r方向为10um,可是仍然找不到纤芯的模,有仿真光子晶体光纤的帮帮忙啊!我的边界设置出错了吗?边界应该怎么设置啊?谢谢

最好把你的文件上传,以便大家分析

回复#1 yeyong0 的帖子

使用pml的话,边界没太大影响的L;c a)h

你根据成品的neff,在这个值附近把求解的本征值个数设多一点看看

回复#3 shanyrain 的帖子

谢谢,有空向你请教,我来增加点本征值个数试试

回复#3 shanyrain 的帖子

感谢番茄,按你的指导我已经找到模了,图很漂亮!有问题再向你询问!谢谢!

COMSOL仿真3D的光子晶体光纤时网格不能划分,是什么原因啊?

COMSOL仿真3D的光子晶体光纤时网格不能划分,是什么原因啊?弹出的对话框是这样的:%J/_(Z&J

错误: 4100G%G_h

产生子域网格失败}+n z0n x5I4@3&?[

- 求解域: 1

插入点失败]`N|P4q Z

- x 轴: 1.05642e-007

- y 轴: -1.81781e-007#b+Q"?s - z 轴: -3.78537e-022 空集合被产生k8c5D+C4_C;d

{9Y J

Z O S

这个网格我粗化了也不行!

你的模型不是很规则吧?手动划分实施

有没有试试从2D来拉伸,建立3D?

COMSOL Multiphysics可以导入图片吗?

是的,在MATLAB可以用一个函数(imread)从文件读取图像,BMP, JPEG, PNG, 和 TIFF格式的图片可以被转换成2维或者3维的几何体。在工作空间中,imread 函数将图片转化成矩阵格式。其它一些相关函数,如imwrite用来保存图像,imagesc用来显示矩阵格式的图像。要获得更多函数的信息,请参看COMSOL Multiphysics Scripting Guide。您也可以在COMSOL Multiphysics Command Reference中找到这些函数及其说明。

相关主题
文本预览
相关文档 最新文档