LoginSignup
27
25

More than 3 years have passed since last update.

ベクトル場の見やすい可視化(Python)

Last updated at Posted at 2018-03-30

二次元定常流の見やすい可視化をPythonで使いたい

all.gif

元ネタ

仕組み

  • まずnl個の仮想粒子を置いて、それぞれについて与えられたベクトル場に基づいて流線(streamline)を計算し、(nt + 1)ステップ分の座標を保存します(get_streamlines)
    • 湧出し点でスカスカにならないよう、(nt + 1)ステップのうち真ん中を乱数で与えました
  • nl個の流線それぞれについて、nt個のセグメントを時刻の関数で色付けします(plot_snap)
  • ループで表示します(plot_anime、トップ画)
    • わずかnt = 30枚のループですが、ループしているようには見えないのではないでしょうか?nl個の流線それぞれについて、時刻をズラしているのがミソのようです
    • (x, y) = (-0.3, -0.3)辺りから生えてる流線を追ってみるのが分かりやすいと思います

コード

https://gist.github.com/ysdtkm/007e39824992f0b5085f37e487c6cdd4
注意: rm -rf imgを含みます。何もない場所で実行してください

発展

  • 非定常流への拡張
  • Cartopy等と連携して地図上の曲がった座標系でプロット
27
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
25