[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[muv:0159] 定期メンテナンス終了とDRライブラリ更新のお知らせ



MUVユーザの皆様、

本日の定期保守作業は終了し、MUVの運用を再開しました。ご協力ありがとうご
ざいました。

GRAPE-DRの利用の皆様は、ライブラリがアップデートされましたので、下記の注
意を確認し、ソースコードの再コンパイルをお願いします。

GRAPE-DRのGRAPE-5モードに最近接粒子探査機能が追加されました。使い方は、
下記または、DRマニュアル

http://www.cfca.nao.ac.jp/hpc/muv/manuals/gdr-manual.txt

のご確認をお願いします。

-- 
国立天文台 天文シミュレーションプロジェクト
道越秀吾

<< GRAPE-DRをご利用の皆様 >>

== 概要

DRのライブラリが1.2.2にバージョンアップされました。それにともないライブラリのデ
ィレクトリが変更となりました。

ライブラリ : /media/local/gdr/grapepkg1.2.2/lib
ヘッダ : /media/local/gdr/grapepkg1.2.2/include

新機能として、GRAPE-5モードに最近接粒子探査機能が実装されました。

== バージョンアップの対応方法

再コンパイルが必要です。以下の手順でお願いします。

=== 共通環境設定ファイルをご利用の方


共通設定ファイル(/media/local/skel/cshrc.skel等)を読み込んでいる方は、再ログイ
ンして、環境変数に/media/local/gdr/grapepkg1.2.2/libが追加されていることを確認
してください。

$ printenv | grep LIB

LIBRARY_PATH=...:/media/local/gdr/grapepkg1.2.2/lib:...

$ printenv | grep INCLUDE

C_INCLUDE_PATH=...:/media/local/gdr/grapepkg1.2.2/include:...

そして、ソースコードを再コンパイルしてください。

gcc test.c -lgdr6 -lhib -lm

=== 共通環境設定ファイルご利用でない方

環境変数を設定せずに、直接コンパイル時に、ライブラリパスを指定されている方は、

gcc test.c -L /media/local/gdr/grapepkg1.2.2/lib -I /media/local/gdr/grapepkg1.2.2/include -lgdr6 -lhib -lm

としてください。

== 追加機能

GRAPE-5モードに最近接粒子探査に関する機能が追加されました

=== 標準関数

void g5n_set_jp(int adr, int nj, double *m, double (*x)[3], int *index)
void g5_set_index(int ni, int *index)
void g5n_get_force(int ni, double (*a)[3], double *pot, double * rnnb2, int * innb)
void g5n_calculate_force_on_x(double (*x)[3], int * index, double (*a)[3], double *p, double * rnnb2, int * innb, int ni)

=== 基本関数

void g5n_set_jpMC(int devid, int adr, int nj, double *m, double (*x)[3], int *index)
void g5_set_indexMC(int devid, int ni, int *index)
void g5n_get_forceMC(int devid, int ni, double (*a)[3], double *pot, double * rnnb2, int * innb)
void g5n_calculate_force_on_xMC(int devid, double (*x)[3], int * index, double (*a)[3], double *p, double * rnnb2, int * innb, int ni)

=== 使い方
* void g5n_set_jp(int adr, int nj, double *m, double (*x)[3], int *index)

引数indexには、j粒子にインデックス値を割り当てます。見つけた最近接粒子は、こ
のインデックス値が返されます。

* void g5_set_index(int ni, int *index)

i粒子インデックスを設定し、i粒子とj粒子で同一のものを最近接粒子として判定しない
ようにします。

* void g5n_get_force(int ni, double (*a)[3], double *pot, double * rnnb2, int * innb)

加速度を取得します。その際に、最近接粒子までの距離の二乗(rnnb2)とインデックス値
(innb)を返します。

* void g5n_calculate_force_on_x(double (*x)[3], int * index, double (*a)[3], double *p, double * rnnb2, int * innb, int ni)

g5 set xi, g5_set_index, g5 run, g5 get forceなどを呼んで、加速度を計算し返しま
す。indexはi粒子のインデックス値です。最近接粒子までの距離の二乗(rnnb2)とインデ
ックス値(innb)を返します。

=== その他の参考情報

DRのご利用方法に関しては以下をご覧ください。

http://www.cfca.nao.ac.jp/hpc/muv/manuals/gdr-manual.txt