我想繪製極座標圖上旋轉柱體周圍流速的方程。 (這些方程來自Andersen的「空氣動力學基礎」。)您可以在for循環語句中看到兩個方程。極地圖馬格納斯效應未顯示正確的數據
我不能大聲哭出來管理將計算的數據表示到極座標圖上。我嘗試了我的每一個想法,但沒有到達。我確實檢查了數據,而且這個數據似乎是正確的,因爲它的行爲應該如何。
這裏我最後一次嘗試的代碼:
import numpy as np
import matplotlib.pyplot as plt
RadiusColumn = 1.0
VelocityInfinity = 10.0
RPM_Columns = 0.0#
ColumnOmega = (2*np.pi*RPM_Columns)/(60)#rad/s
VortexStrength = 2*np.pi*RadiusColumn**2 * ColumnOmega#rad m^2/s
NumberRadii = 6
NumberThetas = 19
theta = np.linspace(0,2*np.pi,NumberThetas)
radius = np.linspace(RadiusColumn, 10 * RadiusColumn, NumberRadii)
f = plt.figure()
ax = f.add_subplot(111, polar=True)
for r in xrange(len(radius)):
for t in xrange(len(theta)):
VelocityRadius = (1.0 - (RadiusColumn**2/radius[r]**2)) * VelocityInfinity * np.cos(theta[t])
VelocityTheta = - (1.0 + (RadiusColumn**2/radius[r]**2))* VelocityInfinity * np.sin(theta[t]) - (VortexStrength/(2*np.pi*radius[r]))
TotalVelocity = np.linalg.norm((VelocityRadius, VelocityTheta))
ax.quiver(theta[t], radius[r], theta[t] + VelocityTheta/TotalVelocity, radius[r] + VelocityRadius/TotalVelocity)
plt.show()
正如你所看到的,我已經爲現在設定的RPM爲0。這意味着,流動應該由左到右,和整個對稱橫軸。 (該流程應該圍繞氣瓶以同樣的方式在兩側。)然而,結果看上去更像是這樣的:
這完全是胡說八道。似乎有一個渦度,即使沒有設置!即使是更奇怪的,當我只顯示數據從0到pi/2,流量變化!
正如你可以從代碼中看到,我試圖讓使用單位的載體,但顯然這不是一段路要走。我將不勝感激任何有用的輸入。
謝謝!
哇!謝謝,這太棒了!我會繼續嘗試你的建議。只有評論,我同意寫出變量名需要更多時間,但個人而言,我發現它使代碼更清晰10倍。一年後,我讀了這篇文章,就像讀故事一樣。字母變量對我來說相當麻煩。無論如何,再次感謝,我會過去。 – user3604362