Open Source Lattice Boltzmann Code

Copyright ©2013- Takeshi Seta All Rights Reserved. test test2 test3 test4
The programs below are available for your non-commercial use only. We are all volunteers, so you can't expect us to answer your question.

※商用利用でなければ基本的に自由に使って頂いて構いません。なお、個別のお問い合わせにはお答えできないことを、予めご了承ください。

1.Android Version of the Lattice Boltzmann Method

 格子ボルツマン法のアンドロイド用のプログラムです。APKファイル「*.apk」をダウンロードし、インストールすれば起動できます。 作成には、Eclipse (日本語版) と、Javaを利用しています。ソースコードも公開しました。
 なお、本HPからAPKファイルをインストールするためには、端末の「設定」→「ロックとセキュリティー」→「開発元不明のアプリ」にチェックを入れる必要があります。 インストール終了後「開発元不明のアプリ」のチェックを外すことを、セキュリティーの関係上お勧めします。
 ※apkファイルをAndroid端末(実機)にインストールする方法 (http://phpjavascriptroom.com/?t=mobile&p=android_apk_install) をご参考に。
  1. Particulate flow under gravity (Interactive Computational Fluid Dynamics)
    スマートフォンを傾けた方向に粒子が沈降するアンドロイド用のプログラムのです。 液体は格子ボルツマン法で、固体はSmoothed profile methodで計算されています。
    ※本プログラムは、田中賢人氏(現KANAMORI SYSTEM Inc.)、松鶴尚洋氏(現(株)スズキ自動車北陸)、山岸貴幸氏(現アークランドサカモト(株))の協力の下作成されました。
      ✓ Source Code
         The android applications is written in Java.
         MainActivity.java (Under Construction)
         LBMSurfaceView.java (Under Construction)
     
      ✓ Android application
         package file (APK): 
         LBM_Gravity.apk
    
      ※インストール前に、端末の「設定」→「ロックとセキュリティー」→「開発元不明のアプリ」にチェックを入れる必要があります。
       セキュリティーの関係上、インストール終了後「開発元不明のアプリ」のチェックを外すことをお勧めします。
    
     
    密度が1.0[g/cm3]で動粘性係数が0.1[cm2/s]の液体の中に、 密度が1.25[g/cm3]の重い粒子が、3.0[cm]×3.0[cm]の容器内に入っています。重力加速度の大きさは981[cm/s2]です。 S. Jafari, R. Yamamoto, and M. Rahnama, Phys. Rev. E 83, 026702 (2011)の論文を参考にしました。
    LBMSurfaceView.javaの追加の仕方(図1 図2)  「jp.seta.lbm_gravity上で(右クリック)→(新規)→(クラス)→(名前にLBMSurfaceViewと入力)→(完了)」

  2. Particulate flow (Interactive Computational Fluid Dynamics)
    粒子と液体との相互作用を計算するアンドロイド用のプログラムのです。画面をタップすると粒子は波紋による影響を受けます。 液体は格子ボルツマン法で、固体はSmoothed profile methodで計算されています。
    ※本プログラムは、田中賢人氏(現KANAMORI SYSTEM Inc.)、松鶴尚洋氏(現(株)スズキ自動車北陸)、山岸貴幸氏(現アークランドサカモト(株))の協力の下作成されました。
      ✓ Source Code
         The android applications is written in Java.
         MainActivity.java
     
      ✓ Android application
         package file (APK): 
         LBM_Particle.apk
    
      ※インストール前に、端末の「設定」→「ロックとセキュリティー」→「開発元不明のアプリ」にチェックを入れる必要があります。
       セキュリティーの関係上、インストール終了後「開発元不明のアプリ」のチェックを外すことをお勧めします。
    
     
    密度が1.0[g/cm3]で動粘性係数が0.1[cm2/s]の液体の中に、 密度が0.7[g/cm3]の軽い粒子が、0.5[cm]×0.5[cm]の容器内に入っています。 重力の影響は無視しました。 S. Jafari, R. Yamamoto, and M. Rahnama, Phys. Rev. E 83, 026702 (2011)の論文を参考にしました。

  3. A circular ripple (Interactive Computational Fluid Dynamics)
    スマートフォンの画面をタップすると波紋が発生するアンドロイド用のプログラムのです。 波紋が広がる様子が格子ボルツマン法により計算されます。 タップと連動するインターラクティブな数値流体力学(Computational Fluid Dynamics, CFD)ソフトです。
      ✓ Source Code
         The android applications is written in Java.
         MainActivity.java
     
      ✓ Android application
         package file (APK): 
         LBM_Touch.apk
    
      ※インストール前に、端末の「設定」→「ロックとセキュリティー」→「開発元不明のアプリ」にチェックを入れる必要があります。
       セキュリティーの関係上、インストール終了後「開発元不明のアプリ」のチェックを外すことをお勧めします。
    
     

  4. Natural convection
    Natural convectionを格子ボルツマン法で計算するアンドロイド用のプログラムのです。 左壁は高温に、右壁は低温に、上下の壁は断熱境界条件を設定すると、浮力により自然対流が発生します。 格子点の数は51×51で、レイリー数を1,000〜100,00の間で変更できます。 Y. Peng, C. Shu, and Y. T. Chew, Phys. Rev. E 68, 026701 (2003)の論文を参考にしました。
      ✓ Source Code
         The android applications is written in Java.
         MainActivity.java
     
      ✓ Android application
         package file (APK): 
         LBM_Natural_Convection.apk
    
      ※インストール前に、端末の「設定」→「ロックとセキュリティー」→「開発元不明のアプリ」にチェックを入れる必要があります。
       セキュリティーの関係上、インストール終了後「開発元不明のアプリ」のチェックを外すことをお勧めします。
    
     

  5. Lid-driven cavity flow
    Lid-driven cavity flowを格子ボルツマン法で計算するアンドロイド用のプログラムのです。 正方形の穴の上端が一定の速度で動くことで、渦が生じる様子を観察できます。格子点の数は51×51で、レイノルズ数を100〜400の間で変更できます。 境界条件の設定に、Q. Zou and X. He, Phys. Fluids 9, 1591 (1997)の方法を使っています。
      ✓ Source Code
         The android applications is written in Java.
         MainActivity.java
     
      ✓ Android application
         package file (APK): 
         LBM_Cavity.apk
    
      ※インストール前に、端末の「設定」→「ロックとセキュリティー」→「開発元不明のアプリ」にチェックを入れる必要があります。
       セキュリティーの関係上、インストール終了後「開発元不明のアプリ」のチェックを外すことをお勧めします。
    
     

  6. Poiseuille flow
    ポアズイユ流れを格子ボルツマン法で計算するアンドロイド用のプログラムのです。 バウンスバック境界条件を使っています。 緩和時間(Relaxation Time)を大きくすると、バウンスバック境界条件では、壁の速度が0でなくなることが観察されます。
      ✓ Source Code
         The android applications is written in Java.
         MainActivity.java
     
      ✓ Android application
         package file (APK): 
         LBM_Poiseuille.apk
    
      ※インストール前に、端末の「設定」→「ロックとセキュリティー」→「開発元不明のアプリ」にチェックを入れる必要があります。
       セキュリティーの関係上、インストール終了後「開発元不明のアプリ」のチェックを外すことをお勧めします。
    
     

  7. Natural convection in the annulus
    円柱周りの自然対流解析を格子ボルツマン法で計算するアンドロイド用のプログラムのです。 低温の正方形の領域内の中心に高温の円柱を設置すると、浮力により自然対流が発生します。 格子点の数は51×51で、正方形領域の一辺Lに対する円柱の半径Rの比R/Lを、0.1〜0.3の間で変更できます。 金森拓哉,瀬田剛,日本数理工学論文集,Vol.11,pp.35-40,2011.の論文を参考にしました。
      ✓ Source Code
         The android applications is written in Java.
         MainActivity.java
     
      ✓ Android application
         package file (APK): 
         SPLBM_Therm.apk
    
      ※インストール前に、端末の「設定」→「ロックとセキュリティー」→「開発元不明のアプリ」にチェックを入れる必要があります。
       セキュリティーの関係上、インストール終了後「開発元不明のアプリ」のチェックを外すことをお勧めします。
    
     

2.C Programming Language

 格子ボルツマン法をC言語で作成したプログラムです。GCCコンパイラを使っています。
  1. Poiseuille flow
    ポアズイユ流れを格子ボルツマン法で計算するプログラムです。境界条件の設定に、バウンスバック法とQ. Zou and X. He, Phys. Fluids 9, 1591 (1997)の方法が使えます。ソースコードを、lbm_Poiseuille.cという名前で保存した後、下記のようにLinux上でコンパイルして下さい。
      ✓ Source Code lbm_Poiseuille.c
         The source code is written in c programming language.
         Compiler
          > gcc -o lbm_Poiseuille.out lbm_Poiseuille.c
        > ./lbm_Poiseuille.out
     

  2. Poiseuille flow + OpenGL
    OpenGL を用い、グラフィックスを追加しました。ソースコードを、lbm_PoiseuilleOpenGL.cという名前で保存した後、下記のように「-lglut」オプションを加えて、Linux上でコンパイルして下さい。
      ✓ Source Code lbm_PoiseuilleOpenGL.c
         The source code is written in c programming language.
         Compiler
          > gcc -o lbm_PoiseuilleOpenGL.out lbm_PoiseuilleOpenGL.c -lglut
        > ./lbm_PoiseuilleOpenGL.out
     



TOPへ