Google ColaboratoryでPySPHを使用する
Google ColaboratoryでPySPHを使用する
2020/06/25現在、この方法はなぜかうまくいきません。
Google ColaboratoryでPySPHを使って流体シミュレーションのテストを
行ってみたのでまとめ
前提知識
PySPH
Pythonで利用可能なSPH法(Smoothed Particle Hydrodynamics Method)のライブラリ。
- ドキュメント・チュートリアル https://pysph.readthedocs.io/en/latest/
- githubリポジトリ https://github.com/pypr/pysph
現在の最新バージョンはv1.0b1であり、pipによってインストールされるstableバージョンv1.0a6は古く、Python3.4までしか対応していない。そのため、pipを使うときに注意が必要。
Google Colaboratory
Google Colaboratoryの無料GPU環境を使ってみた より
Google Colaboratoryは、Jupyter Notebookをベースとした、Googleの仮想マシン上で動くPython実行環境です。無料であり、Googleアカウントさえあれば、インストール等の作業に手間を取られることなく、すぐにコードを実行することができます。
流体計算を行う
Colaboratoryの設定
流体計算にGPUを使いたいが、利用し始めてすぐの段階ではGPUは利用できない状態になっている。
Google Colaboratoryの無料GPU環境を使ってみた を参考に設定を変更。
ランタイム->
ランタイムのタイプを変更->
ハードウェアアクセラレータをGPUに
PySPHのインストール
2020/05/09現在、エラーを起こさずインストールする方法はこんな感じ
!pip install pyopencl numpy-stl pytest-mpl
!pip install https://github.com/pypr/compyle/zipball/master
!pip install https://github.com/pypr/pysph/zipball/master
楕円液滴を計算してみる
PySPHのチュートリアルにあるように、OpenCLを使って楕円液滴を計算。
どのGPUを使うか聞かれるが、Enterを押しておけば問題ない。
!pysph run elliptical_drop --opencl
結果の出力
/content/elliptical_drop_output/comparison.pngが生成されたようなので表示。
from IPython.display import Image,display_png
display_png(Image("/content/elliptical_drop_output/comparison.png"))
出力ファイルをローカルPCに保存
from google.colab import files
files.download('/content/elliptical_drop_output/comparison.png')
出力ファイルをGoogleDriveに保存
#認証などの前準備
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
#ファイルのコピー
upload_file = drive.CreateFile()
upload_file.SetContentFile("/content/elliptical_drop_output/comparison.png")
upload_file.Upload()
Author And Source
この問題について(Google ColaboratoryでPySPHを使用する), 我々は、より多くの情報をここで見つけました https://qiita.com/Y-Sasaki-apple/items/ca8b79a87ce9170c414c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .