python光學(xué)仿真相速度和群速度計算理解學(xué)習(xí)
從編程的角度來說,波動光學(xué)在某些情況下可以簡單地理解為在光線模型的基礎(chǔ)上,引入一個相位項。
波動模型
一般來說,三個特征可以確定空間中的波場:頻率、振幅和相位,故光波場可表示為:

import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D z = np.arange(15,200)*10 #單位為nm x = np.arange(15,200)*10 x,z = np.meshgrid(x,z) #創(chuàng)建坐標(biāo)系 E = 1/np.sqrt(x**2+z**2)*np.cos(2*np.pi*np.sqrt(x**2+z**2)/(532*1e-9)) fig = plt.figure() ax = Axes3D(fig) ax.plot_surface(x,z,E) plt.show()
其結(jié)果如圖所示

相速度

該式表示各等相位面前進(jìn)的速度,為相速度。
群速度

假設(shè)兩列波的波長分別為532nm和600nm,則在同一時刻,不同位置處的光波振幅可通過python畫出
def wavePacket(d = [532e-9,600e-9]):
d = np.array(d)
k = 2*np.pi/d #波數(shù)
dk = k[0]-k[1] #波數(shù)差
bk = k[1]+dk/2 #平均波數(shù)
z = np.arange(10000)/1e9 #位置為0到10um
E0 = np.cos(-k[0]*z)
E1 = np.cos(-k[1]*z)
E = E0+E1
#E = 2*np.cos(-dk/2*z)*np.cos(-bk*z)
fig = plt.figure()
plt.plot(z,E0,'--',color='red',label='E0')
plt.plot(z,E1,'--',color='blue',label='E1')
plt.plot(z,E,'-',color='green',label='E')
plt.legend()
plt.show()

可見每間隔一段距離或者時間就會出現(xiàn)一個比較大的振幅,其極大間隔可以通過表達(dá)式求出

為群速度,表示波包的傳播速度。
以上就是python光學(xué)仿真相速度和群速度理解學(xué)習(xí)的詳細(xì)內(nèi)容,更多關(guān)于python光學(xué)仿真相速度和群速度的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python?matplotlib.pyplot.hist()繪制直方圖的方法實例
直方圖(Histogram)又稱質(zhì)量分布圖,是一種統(tǒng)計報告圖,由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況,一般用橫軸表示數(shù)據(jù)類型,縱軸表示分布情況,下面這篇文章主要給大家介紹了關(guān)于Python?matplotlib.pyplot.hist()繪制直方圖的相關(guān)資料,需要的朋友可以參考下2022-06-06
解決Python計算矩陣乘向量,矩陣乘實數(shù)的一些小錯誤
今天小編就為大家分享一篇解決Python計算矩陣乘向量,矩陣乘實數(shù)的一些小錯誤,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python模塊相關(guān)知識點(diǎn)小結(jié)
這篇文章主要介紹了Python模塊相關(guān)知識點(diǎn),總結(jié)分析了Python模塊的功能、原理、使用方法與操作注意事項,需要的朋友可以參考下2020-03-03
對python當(dāng)中不在本路徑的py文件的引用詳解
今天小編就為大家分享一篇對python當(dāng)中不在本路徑的py文件的引用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12

