植物用物理数値シミュレータSiCroF　(1) 環境構築とインストール

# 環境構築とインストール


### 環境構築とインストールとは？

SiCroFは、いくつかの外部ソフトウェアを使用しています。
そのため、これからSiCroFを利用する場合、お手元のパソコンにいくつかのソフトウェアをインストールして頂く必要があり、その手続きを環境構築と呼称します。

また、SiCroFはソースコードの状態で提供されるため、実行するためには使用者の環境にあわせたアプリケーションを作成する必要があります。
ここでは、その作業をインストールと呼称します。

SiCroFはOSS(オープンソース・ソフトウェア）であり、GPLv2ライセンスのもとで自由に改良、再配布、商業化が可能です。
GitHub上の下記URLにレポジトリがあります。
https://github.com/kazulagi/SiCroF

### 環境構築の前に: SiCroFを利用する場合に必要な計算機性能

SiCroFは物理数値シミュレータですので、計算のためのリソースを大量に消費します。
お手元のパソコンまたはワークステーションの性能をご確認の上、下記推奨環境をご確認ください。

#### 動作環境
CPU : intel Core-i5 4300U @ 2C4T　以上
RAM : DDR3L-1600 4GB 以上
GPU : intel HD graphics 4400 以上
HDD : 10 GB 以上

#### 推奨環境
CPU : intel Core-i5 8400 @ 6C6T　以上
RAM : DDR4-2666 16GB 以上
GPU : nVidia Geforce 980 4GB  以上
HDD : 500 GB 以上（SSD推奨）

#### 対応環境（並列処理時）
CPU : intel Core-i5 8400 @ 6C6T　×　14ノード
RAM : DDR4-2666 32GB ×　14ノード
GPU : intel UHD graphics 630 ×　14ノード
HDD : 4.0 TB RAID6 ファイルサーバー

cpu性能の比較には以下のサイトが便利です。
https://www.userbenchmark.com/


### 環境構築とSiCroFとインストール

[Windowsの場合](#環境構築とインストールosがwindowsの場合)
[macOSの場合](#環境構築とインストールosがmacosの場合)
[Ubuntuの場合](#環境構築とインストールosがubuntuの場合)

#### 環境構築とインストール（OSがWindowsの場合）


1. Windows Subsystem for Linux (WSL) を有効にしてください。 
WSL上のOSはUbuntuを選択してください。

(参考URL)https://qiita.com/Aruneko/items/c79810b0b015bebf30bb

2. Windows10上に以下のアプリケーションをインストールします。
 Gmsh (http://gmsh.info/)


3. Ubuntuを立ち上げ、以下のコマンドをターミナルにコピー＆ペーストして、SiCroFをダウンロードしてください。

```
sudo apt update
sudo apt upgrade -y
sudo apt install git
git clone https://github.com/kazulagi/SiCroF.git
cd SiCroF
sudo apt install python3
python3 setup.py
```

（2019/09/24追記）
なお、このsetup.pyでインストールされる外部プログラムは以下のとおりです。


> gcc　：C言語のコンパイラ
> gfortran　：Fortran言語のコンパイラ
> libopenmpi-dev　：並列計算用API
> python3　　　　　：Python言語
> gmsh　　：メッシュ作成API
> gnuplot　：グラフ描画API
> jupyter-notebook　：実行・開発環境
> curl　：ネットワーク上からファイルをダウンロードするコマンド
> pip ：pythonの拡張機能パッケージマネージャー

pip内の拡張機能パッケージ
> pillow　：画像解析ライブラリで、画像からメッシュを作成するのに使います。
> numpy　　：数値計算ライブラリです。
> scipy　　：科学技術計算ライブラリです。
> matplotlib　：グラブ描画ライブラリです。
> jupyter　　：実行・開発環境

4. 以下のコマンドをターミナルにコピー&ペーストして、SiCroFをインストールしてください。

```shell
python3 install.py
```

以上となります。

#### 環境構築とインストール（OSがmacOSの場合）





1. パッケージマネージャーである[homebrew](https://brew.sh/index)をインストールしてください。

```
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

```

2. 以下のコマンドをターミナルにコピー＆ペーストして、SiCroFをダウンロードしてください。
setup.pyを実行することで環境構築が完了します。

```
brew install git
git clone https://github.com/kazulagi/SiCroF.git
cd SiCroF
brew install python3
python3 setup.py
```

（2019/09/24追記）
なお、このsetup.pyでインストールされる外部プログラムは以下のとおりです。


> gcc　：C言語のコンパイラ
> gfortran　：Fortran言語のコンパイラ
> libopenmpi-dev　：並列計算用API
> python3　　　　　：Python言語
> gmsh　　：メッシュ作成API
> gnuplot　：グラフ描画API
> jupyter-notebook　：実行・開発環境
> curl　：ネットワーク上からファイルをダウンロードするコマンド
> pip ：pythonの拡張機能パッケージマネージャー

pip内の拡張機能パッケージ
> pillow　：画像解析ライブラリで、画像からメッシュを作成するのに使います。
> numpy　　：数値計算ライブラリです。
> scipy　　：科学技術計算ライブラリです。
> matplotlib　：グラブ描画ライブラリです。
> jupyter　　：実行・開発環境


3. 以下のコマンドをターミナルにコピー&ペーストして、SiCroFをインストールしてください。

```
python3 install.py
```

以上となります。

#### 環境構築とインストール（OSがUbuntuの場合）

1. 以下のコマンドをターミナルにコピー＆ペーストして、SiCroFをダウンロードしてください。
setup.pyを実行することで環境構築が完了します。

```
sudo apt update
sudo apt upgrade -y
sudo apt install git
git clone https://github.com/kazulagi/SiCroF.git
cd SiCroF
sudo apt install python3
python3 setup.py
```

（2019/09/24追記）
なお、このsetup.pyでインストールされる外部プログラムは以下のとおりです。



> gcc　：C言語のコンパイラ
> gfortran　：Fortran言語のコンパイラ
> libopenmpi-dev　：並列計算用API
> python3　　　　　：Python言語
> gmsh　　：メッシュ作成API
> gnuplot　：グラフ描画API
> jupyter-notebook　：実行・開発環境
> curl　：ネットワーク上からファイルをダウンロードするコマンド
> pip ：pythonの拡張機能パッケージマネージャー

pip内の拡張機能パッケージ
> pillow　：画像解析ライブラリで、画像からメッシュを作成するのに使います。
> numpy　　：数値計算ライブラリです。
> scipy　　：科学技術計算ライブラリです。
> matplotlib　：グラブ描画ライブラリです。
> jupyter　　：実行・開発環境


2. 以下のコマンドをターミナルにコピー&ペーストして、SiCroFをインストールしてください。

```
python3 install.py
```

以上となります。

### SiCroFの起動


以下のコマンドをターミナルにコピー&ペーストして、SiCroFを起動してください。

```
jupyter-notebook
```

すると、ターミナルには以下のような情報が出力されます。

```
Serving notebooks from local directory: /home/user/SiCroF
0 active kernels
The Jupyter Notebook is running at:
http://localhost:8888/?token=31a04e7535425afcddbbef671cf5c37174f30b4a27f6f385

```
macOSとUbuntuの場合、自動的にブラウザが立ち上がり、以下のようなページが表示されます。
Windowsの場合、この出力されたhttp://以下のURLをコピーして、Chromeのようなブラウザを立ち上げ、URLをペーストしてください。
同様の画面が立ち上がります。

![Screenshot from 2019-09-14 09-45-29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/489195/d43cb680-6cd9-2a39-e2b7-27edc0dbe4b3.png)

このうち、RunSingleProlbem.ipynbをクリックしてください。
すると、このような実行画面が立ち上がります。

![Screenshot from 2019-09-14 09-45-47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/489195/9670f48f-5205-92f1-f386-4e1d2e706ba9.png)

無事、立ち上がりましたら完了です。
（2019/09/24追記）
もしkernel deadが現れた場合、ipythonのバージョンが古いことに起因するようなので、

```
sudo apt update
sudo apt upgrade -y
sudo python3 -m pip install ipykernel
sudo python3 -m ipykernel install --user
pip install ipykernel -U
```
により、ipythonのアップデートを試みてください。

次は(2)個葉の熱拡散シミュレーションでお会いしましょう！


次項: [(2)個葉の熱拡散シミュレーション](https://qiita.com/soybean/items/48c25d4a793743b4f94f)