RPA程序修改以及科學計算numpy讀寫數據畫圖技巧

1. 修改程序中H0生成的一個bug

2. 完成計算邏輯和畫圖邏輯的分開,可以放到服務器上跑,並增加模塊計時功能

畫圖腳本如下,通過np.savetxt 和loadtxt函數直接進行numpy數組的讀取和畫圖

對於高維數組,可以直接用np的save保存爲npy二進制文件,通過對應的API讀寫

import numpy as np
import matplotlib.pyplot as plt


# 實空間自旋極化
Nup_avg = np.loadtxt("Nup_avg.txt")
Ndown_avg = np.loadtxt("Ndown_avg.txt")
plt.plot(Nup_avg,'r')
plt.plot(Ndown_avg,'b')
plt.show()


# 能帶
m = Nup_avg.size
ks = np.loadtxt("ks.txt")
band_up = np.loadtxt("band_up.txt")
band_down = np.loadtxt("band_down.txt")
for i in range(m):
    plt.plot(ks,band_up[:,i],'r')
    plt.plot(ks,band_down[:,i],'b')
    plt.ylim((-1,1))
plt.show()

# 譜函數
Ak_up = np.loadtxt("Ak_up.txt")
Ak_down = np.loadtxt("Ak_down.txt")
omegas = np.loadtxt("omegas.txt")
X,Y = np.meshgrid(ks,omegas)
plt.pcolormesh(X, Y, Ak_up)
#plt.pcolormesh(X,Y,Ak_down)
plt.colorbar()
plt.show()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章