メモ

各種メモ。 結構見てくれる方がいるみたいなのでありがたいです。 ちょっとずつ整理していきます。 言葉づかいも直さないとなぁ。

OpenMX

OpenMXは密度汎関数理論(DFT)に基づいて基底関数として数値的な原子基底関数を用いた原子分子の電子状態計算を行うソフトウェアパッケージです。 縁あって、OpenMX(ver.3.7)の開発に少しだけ携わることができました。大変光栄であると同時に大変勉強させていただきました。 DFTを始めたい、OpenMXを利用しよう、と思っても自前のプログラムしか使ってこなかった者(私など)にはLAPACKの設定とかいろいろよくわからないですよね。 Cent OS環境を念頭に、環境設定やコツなどを情報提供します。
それから、「うちの研究室でもOpenMXを使ってみたい」という方、理論・実験問わず、ご協力しますのでご連絡あれ。 ただし、わからないことは私にもたくさんあります!
2012/04/10, 2013/06/04更新
OpenMX (ver.3.6以前) のインストール
2012/04/10
準備とテスト計算
2012/04/10
カットオフエネルギー(実空間グリッド数)の設定と構造最適化の収束のコツ
2013/06/04, 2013/06/18更新
OpenMX (ver.3.7) のインストール
外部リンク(所内ルールにより直リンク停止中):
OpenMX公式サイト
http://www.openmx-square.org/

xTAPP

DFTの研究では平面波基底のコードが圧倒的に多いです。その差別化の意味でも、これまで研究では原子基底(局在基底)を用いるOpenMXをメインで使っておりました。OpenMXではコードの改造パッチ等も作っておりますし、今後も利用を続けていくつもりです。

一方で、MDのポテンシャルを作るというもう一つの研究において、コード毎に算出されるエネルギーや力の差はどの程度あるのか、自分でも検証してみたいと思い、平面波コードを色々と試しておりました。その中でも、やはり開発者の先生と交流があり相談もできるものが良いという点から、国産の平面波コードのうちxTAPPを最近は利用しています。

ここでは、xTAPPの利用に関する個人的なメモを纏めます。OpenMXと比較することで、原子基底と平面波基底コードの違いを認識出来ればと思います。

2019/03/27
xTAPPのインストール
2019/03/26
xTAPPとOpenMX:(1)入力ファイル比較
2019/03/26
xTAPPとOpenMX:(2)カットオフエネルギーとカットオフ波数
外部リンク(所内ルールにより直リンク停止中):
xTAPP公式サイト
http://xtapp.cp.is.s.u-tokyo.ac.jp/

Visual Studio関連

ここではC++を題材にVisual Studio 2008~2012の使い方を書き綴って行きます。 MS-MPIの使い方の日本語資料としては有用かな?
Visual Studio 2008でのプロジェクト作成 ()
MS-MPI(Microsoft製のWindows環境用のMPI)のインストール (Visual Studio 2008)
MS-MPIのデバッグ実行 (Visual Studio 2008)
Visual Studio 2012におけるMS-MPIの利用
Windows 8 移行におけるD3DX11の代替法その1
Windows 8 移行におけるD3DX11の代替法その2
Visual Studio 2013におけるMS-MPI v6の利用
Visual Studio 2015におけるMS-MPIのデバッグ実行

シミュレーション技術関連

Linuxワークステーションの設定から、OpenMP、MPIといった並列環境、またIntel MIC(Xeon Phi)等、シミュレーション研究を行う上で遭遇した話題を書いていきます。
OpenMPI:プロセスとコアのバインド
Intel MIC (Xeon Phi) ドライバー(MPSS3.X)のインストール
Intel MIC (Xeon Phi) TIPS
SLURMのインストール

OpenAL

CAVE(バーチャルリアリティ装置)の開発にあたり、3次元音響効果を扱うにあたり OpenALの採用を検討予定。 それに関連して、OpenALを使った各種開発ネタを提供予定。
チュートリアルDevMaster.net OpenAL Tutorialsなどを参照。
このメモを書いている現在、OpenAL1.0の情報はあるものの、OpenAL1.1+alutの情報が少ないように思う。とくに日本語資料は殆どないので、これから開発の取り組む人の(私もですが)参考になればいいと思います。
  1. OpenALの導入と音源ファイルの単純再生
  2. wavファイルの読み込みと音源バッファの作成
  3. ストリーミング再生
  4. 音源の移動
  5. スピーカー位置の設定:OpenALの独自拡張に挑む

Directshow

ビットマップファイルからAVI,WMV,MP4といったムービーファイルを作るソフト作成を計画。 既存のソフトはVideo for Windoes (VFW) を使ったものばかりであるが、VFWはXP以降は廃止とか。 それに成り代わる物としてDirectshowが登場しているが、欲しいツールはあまり無い。 じゃあ、作ろう。
  1. サンプルフィルタBaseClassesのコンパイル
  2. サンプルフィルタPushSourceのコンパイル
外部リンク(所内ルールにより直リンク停止中):
参考サイトその1
http://www.firefly-vj.net/imagery/index.php?itemid=149
参考サイトその2
http://www22.ocn.ne.jp/~telmot/programing/directshow/HowToCreateDirectShowFilter.htm

PHASE

PHASEも密度汎関数理論に基づいて原子分子の電子状態計算を行うソフトウェアパッケージです。OpenMXと異なり、こちらは平面波基底によって波動関数を構成します。「革新的シミュレーションソフトウェアの研究開発」プロジェクトと「イノベーション基盤シミュレーションソフトウェアの研究開発」の産物ですので、ありがたく使わせていただけます。プロジェクトのwebサイトによってはダウンロードできるソフトウェアのバージョンが古かったりするので、新しいものを探しましょう。最初のインストール記事執筆時点では下記の参考サイトのダウンロードから最新版(ver.10.01, 2012/01/17時点)が手に入るようです。
  1. PHASEのインストール

GPGPU by CUDA

数値実験プロジェクトin NIFS では、可視化や数値計算手法関連にも力を入れるそうで。てなことで、少しは今やってるシミュレーションにも生かせることをしたいなぁ。ということで最近流行のGPGPUに挑戦。Open CL(ATI)かCUDA(NVIDIA)かで迷ったけど、ちょうどゲフォM330付のVAIO Z13が届いたので、CUDAでファーストチャレンジして見ます。
  1. CUDA2.2とVisual Studio 2008で環境構築
  2. CUDA4.0とVisual Studio 2008で改めて環境構築
  3. OpenCV2.3.1のCUDA機能を使うための環境設定
外部リンク(所内ルールにより直リンク停止中):
参考サイトその1: OpenGL de プログラミング
http://wiki.livedoor.jp/mikk_ni3_92/
参考サイトその2: Yasuaki Ito's Home Page
http://www.cs.hiroshima-u.ac.jp/~yasuaki/dokuwiki/doku.php

DirectX 11 with Nvidia 3D vision

NIFSにはCompleXcopeという没入型バーチャルリアリティ(仮想現実)装置がある。要は3Dテレビと同様に、左右の目に違った映像を見せることで、CGが立体的に浮き上がって見えるわけです。 CompleXcopeでは3m四方のディスプレイを前横下の4面に設置した部屋を作り、その中に人間が入り込むことで擬似立体の世界に入り込んだように体感させることが出来る。 ところで、もっと簡易的に3D表示するシステムを作る依頼があり、Nvidiaの3Dビジョンを用いたコンテンツ開発を始めることに。Nvidia 3D visionは、DirectX 11やOpenGLでプログラムされた3Dコンテンツなら、ドライバ側で勝手に擬似立体映像に変換して表示してくれるという優れものだ。しかし、げふぉ(GeForce系のグラフィックボード)ではDirectXしか変換してくれないらしく、これまで使っていたOpenGLが使えない。。。クワドロ買えばいいらしいが。最近のOpenGL仕様の迷走ぶりにちょっと頭も痛いので、せっかくなのでDirectXを勉強することにした。どうせなら固定機能廃したDirectX 11でいこう。しかし、3D vision特有の問題も?!というメモ。
  1. 3D visionと開発環境