Google 공동체에서 PySPH 사용

Google 공동체에서 PySPH 사용



2020/06/25 현재이 방법은 왜 잘 작동하지 않습니다.

Google Colaboratory에서 PySPH를 사용하여 유체 시뮬레이션 테스트
가 보았으므로 요약

전제 지식



PySPH



Python에서 사용 가능한 SPH 방법 (Smoothed Particle Hydrodynamics Method) 라이브러리.
  • 문서 자습서
    htps : // pysph. Red d. cs. 이오 / 엔 / 아 st /
  • github 저장소
    htps : // 기주 b. 이 m/pypr/pysph

  • 현재의 최신 버젼은 v1.0b1이며, pip에 의해 인스톨 되는 stable 버젼 v1.0a6은 낡고, Python3.4까지 밖에 대응하고 있지 않다. 그 때문에, pip를 사용할 때에 주의가 필요.

    Google 공동체



    Google Colaboratory의 무료 GPU 환경을 사용해 보았습니다.

    Google Colaboratory는 Jupyter Notebook을 기반으로 Google 가상 머신에서 실행되는 Python 실행 환경입니다. 무료이며 Google 계정만 있으면 설치 등의 작업에 번거로움 없이 즉시 코드를 실행할 수 있습니다.

    유체 계산 수행



    공동체 설정



    유체 계산에 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()
    

    좋은 웹페이지 즐겨찾기