イントロダクション

まずは始めましょう

CANS+ はGitでバージョン管理されています。GitはWindows, linux, Mac OSに対応したバージョン管理ソフトウェアです。Gitのインストールは、FedoraなどRedhat系の場合、

$ yum install git

UbuntuなどDebian系の場合、

$ sudo apt-get install git

で簡単にできます。gitのツールを利用してコードのインストール、アップデートを行います。

まずは、 CANS+ のレポジトリを以下のようにダウンロードします。

$ git clone https://github.com/chiba-aplab/cansplus.git

CANS+ は開発途上なため、不定期に更新されます。最新版を反映させるためには、上記で指定した directory-name 内で、

$ git pull origin master

とすれば、最新版の差分情報が反映されます。 この際、自分で修正を加えたファイルと更新ファイルが重なる場合はマージ(merge)する必要が出てきます。またその結果、衝突(conflict)する可能性もあります。 その場合は出力に従って、テキストエディタ等で該当個所を編集してください。

注釈

gitをインストールできる環境にない場合は、最新版が https://github.com/chiba-aplab/cansplus/archive/master.zip よりダウンロードできます。

動作環境

以下のソフトウェア・ライブラリがシステムにインストールされている必要があります。

  • Git。レポジトリのダウンロード、最新版のアップデートを行うのに必要です(上述)。

  • MPI(Message Passing Interface)。コードはMPI並列化バージョンのみです。

  • Fortranコンパイラ。ソースコードはFortran 90で書かれています。デフォルトはmpif90でコンパイルします。

  • IDL(Interactive Data Language) バージョン8以降。データ読み込み・可視化ルーチンはIDLで用意されています。

  • OSはLinuxで動作確認済み。上記ソフト・ライブラリがインストールされていれば、Windows、Mac-OSでもたぶん可だと思います。

環境変数

環境変数$CANSPLUS_DIRを CANS+ がインストールされたディレクトリの絶対パスとし、以下のように設定します(~/cansplusにインストールした場合)。

bashの場合、

export CANSPLUS_DIR=~/cansplus

tcshの場合、

setenv CANSPLUS_DIR ~/cansplus

解析・可視化環境

IDL

IDLによる解析・可視化プロシージャがあらかじめ用意されています。$CANSPLUS_DIR/3d/idl内には共通プロシージャ、各課題内には専用のプロシージャがあります。使うためには、環境変数$IDL_STARTUPに$CANSPLUS_DIR/idl/init.proを設定します。

bashの場合、

export IDL_STARTUP=$CANSPLUS_DIR/idl/init.pro

cshの場合、

setenv IDL_STARTUP $CANSPLUS_DIR/idl/init.pro

$CANSPLUS_DIR/idl/init.pro内には、pathの設定、IDL内の環境の設定等が含まれており、IDL起動時に自動的に設定されます。各自の好みに合わせて修正してください。

さらなる詳細は 本テキストidlのページ を参照ください。

matplotlib

matplotlibはpythonプログラム言語をベースとした解析・可視化ライブラリで、IDLと比べてライセンスフリーで使えるため、手頃な解析環境として人気があります。CANS+が出力するデータ形式であるDAC形式データを読み込むpythonスクリプトが用意されています。さらなる詳細は本テキストmatplotlibのページを参照ください。$CANSPLUS_DIR/python以下にあるスクリプトをpythonコマンドライン上で呼ぶために以下の設定を行います。

bashの場合、

export PYTHONPATH=$CANSPLUS_DIR/python

cshの場合、

setenv PYTHONPATH $CANSPLUS_DIR/python

全体の構成

$CANSPLUS_DIR内は、以下のようにディレクトリとファイルで構成されています。

2次元及び3次元のコードが用意されています(2016年8月現在)。"README.md"にはマークダウン形式で CANS+ の簡単な説明が書かれています。

"2d/ (3d/)"内には、コンパイル用のMakefile、コンパイル時の環境変数を設定したMakefile_incが用意されています。各自の環境によってコンパイラ、コンパイラオプションを指定したい場合は、Makefile_inc内に設定されている、"$FC"と"$FFLAGS"を変更してください。

"common/"には共通エンジンが収められています。"md_???"は、各物理課題の初期設定等が含まれており、"???"に、物理現象の名前が付けられています。

"idl/"内には、IDLによる可視化ルーチンが含まれています。各課題で使用する可視化のための共通プロシージャが含まれています。

"python/"内には、データ読み込み用のpythonスクリプトが含まれています。

"notebook/"内には、IDLとmatplotlibを使った解析・可視化ハンズオンのためのjupyter notebookが用意されています。