|
|
【答案】应助回帖
老师,请问能不能帮我解决一下python的问题?
考虑一个三层对称平板波导,包层材料为二氧化硅,芯层材料为硅。计算波导TE基膜的模场宽度(E场的半高全宽)随波导厚度变化的趋势曲线。
这是我写的,希望指点。。。。。
from camfr import *
from matplotlib.pyplot import *
from numpy import *
set_lambda(1.55)
set_N(1)
set_polarisation(TE)
sio2=Material(1.45)
silicon=Material(3.46)
air=Material(1.0)
w2=arange(0.01,6,0.8)
transmission=[]
for tw in w2:
slab=Slab(sio2(4.995)+silicon(0.01)+sio2(4.995))
slab=Slab(sio2(5-w2/2)+silicon(w2)+sio2(5-w2/2)
x=arrange(0,tw,0.8)
field1=[slab.mode(0).field((coord(tx,0,0).E1() for tx in x]
field2=[slab.mode(0).field((coord(tx,0,0)).E1()*(slab.n(Coord(tx,0,0)))**2 for tx in x]
index=[slab.n((coord(tx,0,0)) for tx in x]
M=max(field)
y=M/2
[m,n]=find(abs(M-y)<0.00001)
Q=m-n
plot(x,real(Q))
plot(x,absolute(index))
show() |
|