-
Notifications
You must be signed in to change notification settings - Fork 0
heliac2000/metropolis
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
metropolis version 2.0 2016/3/5 1. 開発・実行環境 [CPU] Intel(R) Core(TM) i7-5960X CPU/3.0GHz [OS] Linux version 4.4.0/64 bit [Distribution] Ubuntu 16.04 [golang] go version 1.6 2. プログラムの使用方法 2.1 プログラム名 metropolis_V2 2.2 プログラムのオプションスイッチとデフォルト値 $ ./metropolis_V2 -h Usage of metropolis_V2: ./metropolis_V2 [options] -N Step_Number -Cout string Cout file. (default "Cout.csv") -DataDir string Input data directory. (default "./data") -Eout string Eout file. (default "Eout.dat") -N float Step number. -Temp string For parallel tempering. (default "200,300,10") 2.3 実行例 [ステップ数] 100000(1e5) [温度] 100 K から 35 K 刻みで 500K まで $ ./metropolis_V2 -N 100000 -T100,500,35 2>&1 | tee log ステップ数には指数表記を使う事も可能。 $ ./metropolis_V2 -N 1e5 -T100,500,35 2>&1 | tee log 入力データが CH3_data に置かれている場合。 $ ./metropolis_V2 -N 1e5 -DataDir CH3_data -T100,500,35 2>&1 | tee log 3. 入出力データ 3.1 入力データ 入力データは "-DataDir" オプションで指定するディレクトリに配置する。 (デフォルトでは "./data" ディレクトリ) ./data ├── CcoordsAVE.csv ├── HcoordsAVE.csv ├── BrcoordsAVE.csv ├── PrecursorUnitCellAxes.csv ├── UnitCell2.csv ├── Lattice.csv ├── Character.csv ├── AdjCuml.csv ├── KernelregSAtt.json ├── KernelregSRepLog.json ├── SvmModelNzp.json ├── SvmModelOp.json ├── SvmModelUsp.json └── Xeigpc.json - CcoordsAVE.csv HcoordsAVE.csv BrcoordsAVE.csv Coordinates of atoms in molecule. これらのファイルは事前に用意される。metropolis_V2 プログラムの実行前に 以下の様にシンボリックリンクファイルを作成しておく。 lrwxrwxrwx 1 Molecule_01.csv -> CcoordsAVE.csv lrwxrwxrwx 1 Molecule_02.csv -> HcoordsAVE.csv lrwxrwxrwx 1 Molecule_03.csv -> BrcoordsAVE.csv シンボリックリンクのファイル名は Molecule_0[1-3].csv とする。 $ cd data $ ln -s CcoordsAVE.csv Molecule_01.csv $ ln -s HcoordsAVE.csv Molecule_02.csv $ ln -s BrcoordsAVE.csv Molecule_03.csv CH3 の様な 2 分子の場合、シンボリックリンクファイルは 2 個になる。 $ cd data $ ln -s CcoordsAVE.csv Molecule_01.csv $ ln -s HcoordsAVE.csv Molecule_02.csv - PrecursorUnitCellAxes.csv Lattice Vectors. 事前に用意される。 - UnitCell2.csv Unit cell. R 上で以下を実行して生成する。 write.table(format(UnitCell2, digits=22, trim=T), file="UnitCell2.csv", sep=",", row.names=FALSE, col.names=FALSE, quote=F) - Lattice.csv Lattice based on the unit cell. R 上で以下を実行して生成する。 write.table(format(Lattice, digits=22, trim=T), file="Lattice.csv", sep=",", row.names=FALSE, col.names=FALSE, quote=F) - Character.csv Specify which unit cell point the lattice point corresponds to. R 上で以下を実行して生成する。 write.table(t(as.matrix(Character-1)), file="Character.csv", sep=",", row.names=FALSE, col.names=FALSE, quote=F) - AdjCuml.csv Sequence of power matrices. Adjacency matrix for the unit cells. R 上で以下を実行して生成する。 writeListData(AdjCuml, "AdjCuml.csv") - KernelregSAtt.json KernelregSRepLog.json Kernel-based regularised least-squares regression objects. R 上で以下を実行して生成する。 write(toJSON(unclass(kernelregS_Rep_log), auto_unbox=TRUE, digits=I(22), pretty=TRUE), "KernelregSRepLog.json") write(toJSON(unclass(kernelregS_Att), auto_unbox=TRUE, digits=I(22), pretty=TRUE), "KernelregSAtt.json") - SvmModelNzp.json SvmModelOp.json SvmModelUsp.json SVM(Support Vector Machines) objects. R 上で以下を実行して生成する。 svm_modelOP$rho <- I(svm_modelOP$rho) write(toJSON(unclass(svm_modelOP), auto_unbox=TRUE, digits=I(22), pretty=TRUE, force=TRUE), "SvmModelOp.json") svm_modelNZP$rho <- I(svm_modelNZP$rho) write(toJSON(unclass(svm_modelNZP), auto_unbox=TRUE, digits=I(22), pretty=TRUE, force=TRUE), "SvmModelNzp.json") svm_modelUSP$rho <- I(svm_modelUSP$rho) write(toJSON(unclass(svm_modelUSP), auto_unbox=TRUE, digits=I(22), pretty=TRUE, force=TRUE), "SvmModelUsp.json") - Xeigpc.json Prcomp objects. R 上で以下を実行して生成する。 write(toJSON(unclass(XeigPC), auto_unbox=TRUE, digits=I(22), pretty=TRUE), "Xeigpc.json") 3.2 出力データ - Cout.csv Canonical data. metropolis_V2 プログラムの -Cout オプションで変更可能。 以下を実行して R に読み込む。 Cout <- loadCoutV2("Cout.csv", Nparallel) - Eout.dat Energy data. metropolis_V2 プログラムの -Eout オプションで変更可能。 以下を実行して R に読み込む。 Eout <- loadEout("Eout.dat", Nparallel) - ログファイル metropolis_V2 プログラムは処理の経過を標準エラー出力(stderr)に出力する。 [出力例] 2016/02/19 14:50:46 Atoms = [C H Br] 2016/02/19 14:50:46 N = 300000 2016/02/19 14:50:46 TempS = [200 210 220 230 240 250 260 270 280 290 300] 2016/02/19 14:50:46 Nparallel = 11 2016/02/19 14:50:46 Start. 2016/02/19 14:50:55 n = 100/N = 300000 : 2016/02/21 06:22:06 n = 300000/N = 300000 2016/02/21 06:22:08 End. 2016/02/21 06:22:08 Execution time = 142282.06 s/2371.37 m/39.52 h 4. 実行形式プログラムの作成 metropolis_V2 プログラムのソースコードを展開したディレクトリに移動して 以下を実行する。 $ cd src_dir $ go build -o metropolis_V2 . 正常終了すると実行形式ファイル(metropolis_V2)が生成される。また、ソース コードが置いてあるディレクトリに Makefile を用意してあるので、以下を実行 しても可。 $ cd src_dir $ make b
About
Sampling canonical configurations with extension-reduction sampler
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published