回転円柱の周りの流れの速度方程式を極座標プロット上にプロットしたいと考えました。 (方程式はAndersenによる "Airodynamics of Fundamentals of Andersen"からのものです。)forループ文の中に2つの方程式を見ることができます。ポーラプロットマグナス効果が正しいデータを表示していません
私は大声で叫んで、計算されたデータを極座標プロットに表示することはできません。私はすべての考えを試したが、どこにも到着しなかった。私はデータをチェックしました、そして、これはどのようにすべきか振る舞うので、これはすべて正しいと思われます。ここで
私の最後の試みのコード:あなたが見ることができるように、私は0に今のRPMを設定している
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()
流れは左から右に移動し、全体で対称でなければならないことを意味し横軸。 (。流れがシリンダの周りに両側で同じ道を行く必要があります)結果は、しかし、より次のようになります。
これは完全にナンセンスです。設定されていない場合でも、渦があるようです!私が0からpi/2までのデータしか表示しない場合でも、フローは変化します。
あなたがコードから見ることができるように、私は単位ベクトルを利用することを試みているが、明確にこれが進むべき道ではありません。私は有用な入力を感謝します。
ありがとうございます!
うわー!ありがとう、これは素晴らしいです!私はあなたの提案を試してみるつもりです。私は変数名の記述に時間がかかることに同意しますが、個人的にはコードを10倍も明確にしています。 1年後、私はこれを読んで、それは物語を読むようなものになるでしょう。文字変数は私のためにかなり迷惑だった。とにかく、もう一度感謝、私はそれを越えます。 – user3604362