python光學(xué)仿真相速度和群速度計(jì)算理解學(xué)習(xí)
從編程的角度來說,波動(dòng)光學(xué)在某些情況下可以簡(jiǎn)單地理解為在光線模型的基礎(chǔ)上,引入一個(gè)相位項(xiàng)。
波動(dòng)模型
一般來說,三個(gè)特征可以確定空間中的波場(chǎng):頻率、振幅和相位,故光波場(chǎng)可表示為:
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è)兩列波的波長(zhǎng)分別為532nm和600nm,則在同一時(shí)刻,不同位置處的光波振幅可通過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()
可見每間隔一段距離或者時(shí)間就會(huì)出現(xiàn)一個(gè)比較大的振幅,其極大間隔可以通過表達(dá)式求出
為群速度,表示波包的傳播速度。
以上就是python光學(xué)仿真相速度和群速度理解學(xué)習(xí)的詳細(xì)內(nèi)容,更多關(guān)于python光學(xué)仿真相速度和群速度的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python 數(shù)據(jù)結(jié)構(gòu)之樹的概念詳解
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之樹的概念詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09Python使用pyautocad+openpyxl處理cad文件示例
這篇文章主要介紹了Python使用pyautocad+openpyxl處理cad文件,結(jié)合實(shí)例形式分析了Python使用pyautocad與openpyxl模塊讀寫cad文件相關(guān)應(yīng)用操作技巧,需要的朋友可以參考下2019-07-07Python+Selenium實(shí)現(xiàn)網(wǎng)站滑塊拖動(dòng)操作
這篇文章主要為大家詳細(xì)介紹了如何利用Python+Selenium模擬實(shí)現(xiàn)登錄某網(wǎng)站的滑塊拖動(dòng)操作,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-09-09Selenium獲取登錄Cookies并添加Cookies自動(dòng)登錄的方法
這篇文章主要介紹了Selenium獲取登錄Cookies并添加Cookies自動(dòng)登錄的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12使用python批量轉(zhuǎn)換文件編碼為UTF-8的實(shí)現(xiàn)
這篇文章主要介紹了使用python批量轉(zhuǎn)換文件編碼為UTF-8的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04python批量插入數(shù)據(jù)到mysql的3種方法
這篇文章主要給大家介紹了關(guān)于python批量插入數(shù)據(jù)到mysql的3種方法,在日常處理數(shù)據(jù)的過程中,我們都有批量寫入數(shù)據(jù)庫的需求,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10Pycharm?cannot?set?up?a?python?SDK問題的原因及解決方法
這篇文章主要給大家介紹了關(guān)于Pycharm?cannot?set?up?a?python?SDK問題的原因及解決方法,這個(gè)問題已經(jīng)不是第一次出現(xiàn)了,所以干脆總結(jié)下,需要的朋友可以參考下2022-06-06