概要
このページは、古いバージョンの LAMMPS(2001 年版)に含まれているフォルダとファイルを、初めて触る人でもたどれるようにまとめたものです。プログラムを「どこからビルドするのか」「どんな補助ツールが付いているのか」「サンプルはどこにあるのか」を一望できるようにしています。
専門用語が多い分野なので、本文に入る前にキーワードの意味を短く整理した表を用意しました。ビルド手順やサンプル実行の説明も、料理のレシピをたどるように段階を追って簡単な言葉で書き直しています。表内の 関連/備考 欄には「これをどう使うのか」「どこで参照すると良いのか」を書き添えています。
関連する開発環境や HPC サービスの広告が表示される可能性があります。
基礎用語のミニガイド
下の表は、本文でよく出てくる専門用語を「そもそも何なのか」という視点で言い換えたものです。読み進めながら気になったら、いつでも戻って確認してください。
| 用語 | 意味 | イメージ |
|---|---|---|
Fortran 90 | この LAMMPS が書かれているプログラミング言語。数値計算に強い。 | 数式処理が得意な“古参の言語”。 |
Makefile | 「どのソースをどの順番でコンパイルするか」を書いた指示書。 | 料理レシピや工作の組み立て手順。 |
ターゲット (target) | Makefile 内で用意されたビルドの呼び名。make linux など。 | 電子レンジの「〇〇メニュー」ボタン。 |
MPI | 複数の CPU が協力して計算するための通信ルール。 | 複数人で作業するときの会話プロトコル。 |
FFT | 高速フーリエ変換。長距離力計算(PPPM)で使う数学的な変換。 | 波の形を調べる“分解器”。 |
PPPM | 長距離クーロン力を速く計算するアルゴリズム。 | ざるとすりこ木で粒を均すイメージ。 |
rRESPA | 時間刻みを入れ替えて高速化する積分法。 | ゆっくり変わるものと早く変わるものを別々に見るタイムスケジュール。 |
fix コマンド | シミュレーション実行中に「温度制御」「拘束」などの処理を設定する命令。 | 走行中の車に追加するクルーズコントロール。 |
データファイル (data.*) | 原子の数・種類・座標・結合などをまとめた入力ファイル。 | シミュレーション開始時の“素材リスト”。 |
再スタートファイル (restart.*) | 途中経過を保存し後で再開できるバイナリファイル。 | ゲームのセーブデータ。 |
ビルドと全体構造
“ビルド”とは、ソースコード(設計図)をコンピュータが実行できる形に変換する作業です。LAMMPS 2001 では src ディレクトリにある二段構えの Makefile(ビルド用レシピ)がその作業を支えています。大枠を決めるトップレベル Makefile が作業場として Obj_<target> フォルダを作り、その中にコピーされた Makefile.<target> が実際のコンパイルとリンクを担当します。
複数の CPU で計算させる場合は MPI を使いますが、PC 1 台で試すときは serial ターゲットを選べば OK です。このときは src/STUBS にある“代役”の MPI ライブラリがリンクされ、MPI ライブラリを別途用意しなくても動く仕組みになっています。
作業の手順を料理の流れに置き換えると次のようになります。
Depend.plを走らせて「どのファイルがどれに依存しているか」を調べ、結果をMakefile.dependに書き出す。make <target>(例:make linux)を実行してソースをコンパイル。targetは使いたい環境の呼び名。- コンパイルが終わると自動でリンク(部品の合体)が行われ、
lmp_<target>がsrc直下に置かれる。 - 必要に応じて
toolsやconvertersの補助プログラムを個別にビルド。 - 最後に
examplesフォルダの入力スクリプトとデータを使用して動作確認。
依存関係とコンポーネント構造
| コンポーネント | 主な内容 | 依存/出力 |
|---|---|---|
src | Fortran90 本体・C FFT ラッパー・Makefile 群。 | MPI(または STUBS)、FFT ライブラリ、Makefile.<target>。 |
src/STUBS | MPI スタブ実装(serial ビルド用)。 | make serial 前にビルド。 |
tools | データ生成・加工ユーティリティ。 | 出力は examples や本番入力に利用。 |
converters | AMBER/MSI など他フォーマットとの変換。 | 外部フォーマットを LAMMPS 用データへ変換。 |
examples | 検証用入力スクリプト・データ・ログ。 | src で生成した lmp_* を使用。 |
doc | 公式ドキュメント(HTML/TXT)。 | コマンド仕様・データ形式の参照情報。 |
+--------------------+ +--------------------+
| converters | | tools |
| (AMBER/MSI ⇔ LMP) | | (データ生成/加工) |
+----------+---------+ +---------+----------+
| |
v v
+-----------+ +---------------+
| data & | | examples/ |
| restart | | input/output |
+-----+-----+ +-------+-------+
\ /
\ /
v v
+-------------------------------+
| src |
| Fortran90 core & FFT (C) |
+---------------+---------------+
|
v
+-------------+
| lmp_target |
| (実行ファイル) |
+-------------+
Intel oneAPI ifx/icx を用いたビルド手順
環境準備
- Intel oneAPI Base & HPC Toolkit をインストールし、Intel oneAPI Command Prompt または PowerShell 用
setvarsを起動。 setvars.bat(またはsetvars.ps1)でifx/icxをパスに登録。- リポジトリのルートに移動し、
cd path/to/lammps2001/srcを実行。
Makefile 調整
Copy-Item Makefile.linux Makefile.oneapiでテンプレートを複製。Makefile.oneapi内でF90 = ifx、CC = icx、必要に応じてMPIF90 = mpiifx、MPICC = mpiicxに変更。- MKL FFT を利用する場合は
-DFFT_FFTWと-qmklを追加。 - 必要なら
perl Depend.plを実行し依存ファイルを更新。
ビルドと検証
make oneapiを実行し、lmp_oneapiを生成。- シリアル実行時は
cd STUBS→makeでスタブライブラリを作成後、make serialを実行。 lmp_oneapi -hでヘルプを確認し、mpiexec -n 4 lmp_oneapi < ../examples/lj/in.lj.nveなどで動作検証。
サンプルプログラム実行ガイド
以下は oneAPI でビルドした lmp_oneapi を想定しています。ビルドターゲットに応じて実行ファイル名を調整してください。
共通手順
cd path/to/lammps2001/examples- 対象サブディレクトリ(例:
cd lj)へ移動。 - 必要に応じて
tools内ユーティリティでデータを再生成(例:.. .. tools\setup_lj.exe < def.file > data.lj)。
Lennard-Jones 系 (examples/lj)
lmp_oneapi < in.lj.nveを実行。- ログは
log.lammpsまたはlog.in.lj.nve.*として出力。 - MPI 実行例:
mpiexec -n 4 lmp_oneapi < in.lj.nvt。
液晶分子 (examples/lc)
lmp_oneapi < in.lc.big.ewaldを実行。- 診断を利用する場合は
diagnostic_temp_molecules.fをsrcのビルド対象に追加。 - 再スタート検証:
in.lc.small.restart.first→ 生成されたrestart.*をin.lc.small.restart.secondで再利用。
AMBER 変換ワークフロー
python converters\amber\amber2lammps.py ...で AMBER 形式から LAMMPS 入力へ変換。- 生成したデータファイルを
examplesもしくは独自入力で利用。 - 実行後の dump を
dump2trj.pyで TRJ に変換し可視化。
ディレクトリ詳細
ルート階層
| パス | 役割・内容 | 関連/備考 |
|---|---|---|
.gitattributes | Git のテキスト正規化設定。 | 改行コード統一や diff の扱いを制御。 |
LICENSE | GNU General Public License。 | 再配布や改変時の条件を確認。 |
README | 配布物全体の概要と連絡先。 | 最新版入手先 URL を記載。 |
converters/ | フォーマット変換ツール。 | 後述の詳細表参照。 |
doc/ | 英語版公式ドキュメント。 | コマンド仕様や単位系の参照。 |
doc_japanese/ | ユーザー作成フォルダ(本書では対象外)。 | |
examples/ | 検証用サンプル。 | 後述の詳細表参照。 |
src/ | LAMMPS 本体ソース。 | ビルド対象。 |
tools/ | ユーティリティプログラム。 | データ生成・変換。 |
structure_overview.html | 本資料。 | カスタムドキュメント。 |
converters ディレクトリ
トップレベル
| パス | 役割・内容 | 関連/備考 |
|---|---|---|
converters/amber/ | AMBER 形式との相互変換スクリプト。 | Python3 が必要。 |
converters/lmp2arc/ | LAMMPS dump → MSI .arc 変換。 | C で実装。 |
converters/msi2lmp/ | MSI/Discover .car/.mdf/.frc → LAMMPS データ。 | C で実装。 |
converters/amber
| ファイル | 役割・内容 | 関連/備考 |
|---|---|---|
amber2lammps.py | AMBER から LAMMPS 入力への変換。 | トポロジ/パラメータファイルを解析。 |
dump2trj.py | LAMMPS dump → AMBER TRJ 変換。 | 可視化用。 |
dump2trj99.py | LAMMPS99 形式用の TRJ 変換。 | 旧版互換。 |
README | スクリプト概要と担当者情報。 | 連絡先メールを記載。 |
converters/lmp2arc
| ファイル/ディレクトリ | 役割・内容 | 関連/備考 |
|---|---|---|
README | ビルド・テスト手順と使用例。 | make コマンドの説明あり。 |
src/ | lmp2arc.exe の C ソース。 | 下表参照。 |
test/ | 検証用入力/期待出力。 | diff で確認。 |
src/ 内ファイル | 役割・内容 | 関連/備考 |
|---|---|---|
lmp2.h | 共有構造体と定数。 | 全 C ソースから参照。 |
lmp2arc.c | メイン関数と入出力制御。 | コマンドライン解析。 |
lmp2arc.doc | オプション解説文書。 | ユーザー向けヘルプ。 |
Makefile | gcc 向けビルドルール。 | |
ProcessPosFile.c | dump ファイル読み込みと整形。 | -move_mol 対応。 |
ReadCarFile.c | .car テンプレート読込。 | |
unwrap_molecules.c | 周期境界での分子展開処理。 | |
WriteArcFrame.c | .arc 出力フォーマット生成。 |
test/ 内ファイル | 役割・内容 | 関連/備考 |
|---|---|---|
water8.car | テンプレート構造。 | |
water8.pos | LAMMPS 位置ファイル。 | |
correct/ | 期待される .arc 出力。 | 3 ファイルに分割。 |
correct/water8.arc | デフォルト設定での基準出力。 | |
correct/water8.arc.trueflags | -trueflags 指定時。 | |
correct/water8.arc.unwrap | -move_mol 指定時。 |
converters/msi2lmp
| ファイル/ディレクトリ | 役割・内容 | 関連/備考 |
|---|---|---|
README | ビルド・使用方法・バージョン履歴。 | BIOSYM_LIBRARY の設定説明。 |
force_field_files/ | force field ファイル配置用。 | cvff.frc などをコピー。 |
force_field_files/README | ファイル入手と配置上の注意。 | |
src/ | msi2lmp.exe の C ソース。 | 下表参照。 |
test/ | テスト入力と期待出力。 | 3 系統収録。 |
src/ 内ファイル | 役割・内容 | 関連/備考 |
|---|---|---|
CheckLists.c | 入力整合性検証。 | |
Forcefield.h | 力場パラメータ構造体定義。 | |
GetParameters.c | .frc からのパラメータ読込。 | |
InitializeItems.c | 内部配列の初期化。 | |
Makefile | gcc 用ビルドルール。 | |
MakeLists.c | ボンド・角度・トーションのリスト作成。 | |
msi2lmp.c | エントリーポイント。 | |
Msi2LMP2.h | 共有定義。 | |
ReadCarFile.c | .car 座標読込。 | |
ReadFrcFile.c | .frc 力場読込。 | |
ReadMdfFile.c | .mdf トポロジ読込。 | |
SearchAndFill.c | 欠損パラメータの補完。 | |
WriteDataFile.c | LAMMPS データ出力。 |
test/ 内ファイル | 役割・内容 | 関連/備考 |
|---|---|---|
crambin.car | Crambin 座標。 | Class I。 |
crambin.mdf | Crambin トポロジ。 | |
nylon.car | Nylon 座標。 | Class I。 |
nylon.mdf | Nylon トポロジ。 | |
phen3_cff97.car | Phenyl 系座標。 | Class II。 |
phen3_cff97.mdf | Phenyl トポロジ。 | |
correct/ | 期待出力(LAMMPS データ)。 | 3 ファイル。 |
correct/data.crambin | Crambin 期待出力。 | |
correct/data.nylon | Nylon 期待出力。 | |
correct/data.phen3_cff97 | Phenyl 期待出力。 |
doc ディレクトリ
| ファイル | 役割・内容 | 関連/備考 |
|---|---|---|
basics.html | ビルド・実行・例題の基礎解説。 | basics.txt と内容一致。 |
basics.txt | テキスト版。 | |
data_format.html | LAMMPS データ形式解説。 | |
data_format.txt | テキスト版。 | |
deficiencies.html | 未実装機能の一覧。 | |
deficiencies.txt | テキスト版。 | |
force_fields.html | 力場計算式。 | |
force_fields.txt | テキスト版。 | |
history.html | 機能追加履歴。 | |
history.txt | テキスト版。 | |
input_commands.html | 入力コマンド一覧。 | |
input_commands.txt | テキスト版。 | |
README.html | トップページ。 | 概要・引用文献。 |
README.txt | テキスト版。 | |
units.html | 内部単位系と変換。 | |
units.txt | テキスト版。 |
examples ディレクトリ
トップレベル
| パス | 役割・内容 | 関連/備考 |
|---|---|---|
examples/README | 例題全体の概要と使用マシン。 | sgi/janus/ross の説明。 |
examples/class2/ | Class II force field の例題。 | newton フラグ比較。 |
examples/flow/ | 2D 流体系。 | 壁条件・サーモスタット比較。 |
examples/lc/ | 液晶分子。 | 診断機能例付き。 |
examples/lj/ | Lennard-Jones 系。 | 各アンサンブル比較。 |
examples/polymer/ | ビーズバネポリマー。 | チェーン種類比較。 |
examples/class2
| ファイル | 役割・内容 | 関連/備考 |
|---|---|---|
data.class2 | Class II 力場データ。 | 孤立分子。 |
in.class2.newton0 | newton 完全オフ。 | |
in.class2.newton1 | 非結合のみ newton オフ。 | |
in.class2.newton2 | 結合のみ newton オフ。 | |
in.class2.newton3 | newton 完全オン。 | 基準。 |
log.in.class2.newton0.janus.16 | janus 16 並列ログ。 | |
log.in.class2.newton0.ross.8 | ross 8 並列ログ。 | |
log.in.class2.newton0.sgi.1 | sgi 1 並列ログ。 | |
log.in.class2.newton1.janus.16 | janus 16 並列ログ。 | |
log.in.class2.newton1.ross.8 | ross 8 並列ログ。 | |
log.in.class2.newton1.sgi.1 | sgi 1 並列ログ。 | |
log.in.class2.newton2.janus.16 | janus 16 並列ログ。 | |
log.in.class2.newton2.ross.8 | ross 8 並列ログ。 | |
log.in.class2.newton2.sgi.1 | sgi 1 並列ログ。 | |
log.in.class2.newton3.janus.16 | janus 16 並列ログ。 | |
log.in.class2.newton3.ross.8 | ross 8 並列ログ。 | |
log.in.class2.newton3.sgi.1 | sgi 1 並列ログ。 |
examples/flow
| ファイル | 役割・内容 | 関連/備考 |
|---|---|---|
data.flow.cold | 冷壁条件初期データ。 | |
data.flow.warm | 温壁条件初期データ。 | |
in.flow.ave | 壁への平均力制御。 | |
in.flow.cold | 冷壁 Couette 流。 | |
in.flow.hoover | Hoover サーモスタット。 | |
in.flow.langevin | Langevin サーモスタット。 | |
in.flow.poiss | Poiseuille 流。 | |
in.flow.warm | 温壁 Couette 流。 | |
log.in.flow.ave.janus.16 | janus 16 ログ。 | |
log.in.flow.ave.ross.8 | ross 8 ログ。 | |
log.in.flow.ave.sgi.1 | sgi 1 ログ。 | |
log.in.flow.cold.janus.16 | janus 16 ログ。 | |
log.in.flow.cold.ross.8 | ross 8 ログ。 | |
log.in.flow.cold.sgi.1 | sgi 1 ログ。 | |
log.in.flow.hoover.janus.16 | janus 16 ログ。 | |
log.in.flow.hoover.ross.8 | ross 8 ログ。 | |
log.in.flow.hoover.sgi.1 | sgi 1 ログ。 | |
log.in.flow.langevin.janus.16 | janus 16 ログ。 | |
log.in.flow.langevin.ross.8 | ross 8 ログ。 | |
log.in.flow.langevin.sgi.1 | sgi 1 ログ。 | |
log.in.flow.poiss.janus.16 | janus 16 ログ。 | |
log.in.flow.poiss.ross.8 | ross 8 ログ。 | |
log.in.flow.poiss.sgi.1 | sgi 1 ログ。 | |
log.in.flow.warm.janus.16 | janus 16 ログ。 | |
log.in.flow.warm.ross.8 | ross 8 ログ。 | |
log.in.flow.warm.sgi.1 | sgi 1 ログ。 |
examples/lc
| ファイル | 役割・内容 | 関連/備考 |
|---|---|---|
data.lc.big | 6750 原子液晶系。 | |
data.lc.small.nonperiodic | 単一分子・非周期。 | |
data.lc.small.periodic | 単一分子・周期。 | |
diagnostic_temp_molecules.f | 温度診断サンプル。 | |
in.lc.big.cutoff | カットオフ方式。 | |
in.lc.big.ewald | Ewald 法。 | |
in.lc.big.fixes | 複数 fix と診断。 | |
in.lc.big.pppm | PPPM 法。 | |
in.lc.big.respa | rRESPA。 | |
in.lc.big.shake | SHAKE 拘束。 | |
in.lc.small.min | 小規模最小化。 | |
in.lc.small.nonperiodic | 小規模非周期。 | |
in.lc.small.periodic | 小規模周期。 | |
in.lc.small.restart.first | 再スタート生成。 | |
in.lc.small.restart.second | 再スタート再実行。 | |
log.in.lc.big.cutoff.janus.16 | janus 16 ログ。 | |
log.in.lc.big.cutoff.ross.8 | ross 8 ログ。 | |
log.in.lc.big.cutoff.sgi.1 | sgi 1 ログ。 | |
log.in.lc.big.ewald.janus.16 | janus 16 ログ。 | |
log.in.lc.big.ewald.ross.8 | ross 8 ログ。 | |
log.in.lc.big.ewald.sgi.1 | sgi 1 ログ。 | |
log.in.lc.big.fixes.janus.16 | janus 16 ログ。 | |
log.in.lc.big.fixes.ross.8 | ross 8 ログ。 | |
log.in.lc.big.fixes.sgi.1 | sgi 1 ログ。 | |
log.in.lc.big.pppm.janus.16 | janus 16 ログ。 | |
log.in.lc.big.pppm.ross.8 | ross 8 ログ。 | |
log.in.lc.big.pppm.sgi.1 | sgi 1 ログ。 | |
log.in.lc.big.respa.janus.16 | janus 16 ログ。 | |
log.in.lc.big.respa.ross.8 | ross 8 ログ。 | |
log.in.lc.big.respa.sgi.1 | sgi 1 ログ。 | |
log.in.lc.big.shake.janus.16 | janus 16 ログ。 | |
log.in.lc.big.shake.ross.8 | ross 8 ログ。 | |
log.in.lc.big.shake.sgi.1 | sgi 1 ログ。 | |
log.in.lc.small.min.janus.16 | janus 16 ログ。 | |
log.in.lc.small.min.ross.8 | ross 8 ログ。 | |
log.in.lc.small.min.sgi.1 | sgi 1 ログ。 | |
log.in.lc.small.nonperiodic.janus.16 | janus 16 ログ。 | |
log.in.lc.small.nonperiodic.ross.8 | ross 8 ログ。 | |
log.in.lc.small.nonperiodic.sgi.1 | sgi 1 ログ。 | |
log.in.lc.small.periodic.janus.16 | janus 16 ログ。 | |
log.in.lc.small.periodic.ross.8 | ross 8 ログ。 | |
log.in.lc.small.periodic.sgi.1 | sgi 1 ログ。 | |
log.in.lc.small.restart.first.janus.16 | janus 16 再スタート生成ログ。 | |
log.in.lc.small.restart.first.ross.8 | ross 8 ログ。 | |
log.in.lc.small.restart.first.sgi.1 | sgi 1 ログ。 | |
log.in.lc.small.restart.second.janus.16 | janus 16 再スタート再実行ログ。 | |
log.in.lc.small.restart.second.ross.8 | ross 8 ログ。 | |
log.in.lc.small.restart.second.sgi.1 | sgi 1 ログ。 | |
restart.lc.small.restart.1000.janus.16 | janus 16 再スタート (t=1000)。 | |
restart.lc.small.restart.1000.ross.8 | ross 8 再スタート。 | |
restart.lc.small.restart.1000.sgi.1 | sgi 1 再スタート。 | |
restart.lc.small.restart.500.janus.16 | janus 16 再スタート (t=500)。 | |
restart.lc.small.restart.500.ross.8 | ross 8 再スタート。 | |
restart.lc.small.restart.500.sgi.1 | sgi 1 再スタート。 |
examples/lj
| ファイル | 役割・内容 | 関連/備考 |
|---|---|---|
data.lj | LJ 混合系データ。 | tools/setup_lj.f 生成。 |
in.lj.fix | 温度再スケール。 | |
in.lj.langevin | Langevin 温度制御。 | |
in.lj.min | 最小化後ダイナミクス。 | |
in.lj.neighbor | N2 近接(newton オン)。 | |
in.lj.neighbor_newton | N2 近接(newton オフ)。 | |
in.lj.newton | newton オフで NPT。 | |
in.lj.npt | NPT アンサンブル。 | |
in.lj.nve | NVE アンサンブル(基準)。 | |
in.lj.nvt | NVT アンサンブル。 | |
in.lj.volume | 体積制御。 | |
in.lj.volume_npt | 体積制御 + NPT。 | |
log.in.lj.fix.janus.16 | janus 16 ログ。 | |
log.in.lj.fix.ross.8 | ross 8 ログ。 | |
log.in.lj.fix.sgi.1 | sgi 1 ログ。 | |
log.in.lj.langevin.janus.16 | janus 16 ログ。 | |
log.in.lj.langevin.ross.8 | ross 8 ログ。 | |
log.in.lj.langevin.sgi.1 | sgi 1 ログ。 | |
log.in.lj.min.janus.16 | janus 16 ログ。 | |
log.in.lj.min.ross.8 | ross 8 ログ。 | |
log.in.lj.min.sgi.1 | sgi 1 ログ。 | |
log.in.lj.neighbor_newton.janus.16 | janus 16 ログ。 | |
log.in.lj.neighbor_newton.ross.8 | ross 8 ログ。 | |
log.in.lj.neighbor_newton.sgi.1 | sgi 1 ログ。 | |
log.in.lj.neighbor.janus.16 | janus 16 ログ。 | |
log.in.lj.neighbor.ross.8 | ross 8 ログ。 | |
log.in.lj.neighbor.sgi.1 | sgi 1 ログ。 | |
log.in.lj.newton.janus.16 | janus 16 ログ。 | |
log.in.lj.newton.ross.8 | ross 8 ログ。 | |
log.in.lj.newton.sgi.1 | sgi 1 ログ。 | |
log.in.lj.npt.janus.16 | janus 16 ログ。 | |
log.in.lj.npt.ross.8 | ross 8 ログ。 | |
log.in.lj.npt.sgi.1 | sgi 1 ログ。 | |
log.in.lj.nve.janus.16 | janus 16 ログ。 | |
log.in.lj.nve.ross.8 | ross 8 ログ。 | |
log.in.lj.nve.sgi.1 | sgi 1 ログ。 | |
log.in.lj.nvt.janus.16 | janus 16 ログ。 | |
log.in.lj.nvt.ross.8 | ross 8 ログ。 | |
log.in.lj.nvt.sgi.1 | sgi 1 ログ。 | |
log.in.lj.volume_npt.janus.16 | janus 16 ログ。 | |
log.in.lj.volume_npt.ross.8 | ross 8 ログ。 | |
log.in.lj.volume_npt.sgi.1 | sgi 1 ログ。 | |
log.in.lj.volume.janus.16 | janus 16 ログ。 | |
log.in.lj.volume.ross.8 | ross 8 ログ。 | |
log.in.lj.volume.sgi.1 | sgi 1 ログ。 |
examples/polymer
| ファイル | 役割・内容 | 関連/備考 |
|---|---|---|
data.chain.a | 単一チェーン系データ。 | |
data.chain.ab | 混合チェーン系データ。 | |
def.a | setup_chain 用定義(単一)。 | |
def.ab | setup_chain 用定義(混合)。 | |
in.polymer.chain.a | 単一チェーン入力。 | |
in.polymer.chain.ab | 混合チェーン入力。 | |
log.in.polymer.chain.a.janus.16 | janus 16 ログ。 | |
log.in.polymer.chain.a.ross.8 | ross 8 ログ。 | |
log.in.polymer.chain.a.sgi.1 | sgi 1 ログ。 | |
log.in.polymer.chain.ab.janus.16 | janus 16 ログ。 | |
log.in.polymer.chain.ab.ross.8 | ross 8 ログ。 | |
log.in.polymer.chain.ab.sgi.1 | sgi 1 ログ。 |
src ディレクトリ
| ファイル/ディレクトリ | 役割・内容 | 関連/備考 |
|---|---|---|
communicate.f | MPI 通信制御。 | ゴースト原子更新。 |
coord2bin.f | 座標をビンに割当。 | 近接探索前処理。 |
Depend.pl | 依存関係生成。 | perl 必須。 |
diagnostic_default.f | 診断テンプレート。 | |
diagnostic.f | サンプル診断。 | |
dump_atom.f | 原子位置ダンプ。 | |
dump_force.f | 力ダンプ。 | |
dump_vel.f | 速度ダンプ。 | |
ensemble.f | アンサンブル制御。 | |
error.f | エラー処理。 | |
ewald_coeff.f | Ewald 係数計算。 | |
ewald.f | Ewald 本体。 | |
fft_3d.c | 3D FFT ラッパー。 | FFT ライブラリに依存。 |
finish.f | 終了処理。 | |
fix.f | fix 実装。 | |
force_bond.f | 結合ポテンシャル。 | |
force_class2.f | Class II 力場。 | |
force_many.f | 補助力計算。 | |
force_respa.f | rRESPA 力分割。 | |
force.f | 力計算ドライバ。 | |
global.f | 大域変数モジュール。 | |
initialize.f | 初期化。 | |
input.f | 入力パーサ。 | |
integrate_respa.f | rRESPA 積分。 | |
integrate.f | 標準積分。 | |
lammps.f | メインプログラム。 | |
lapack.f | LAPACK サブルーチン。 | |
Makefile | トップレベル Makefile。 | |
Makefile.absoft | Absoft 対応。 | |
Makefile.alaska | alaska 対応。 | |
Makefile.delmar | delmar 対応。 | |
Makefile.depend | 依存リスト。 | Depend.pl 出力。 |
Makefile.janus | janus 対応。 | |
Makefile.lahey | Lahey 対応。 | |
Makefile.liberty | liberty 対応。 | |
Makefile.linux | Linux 対応。 | |
Makefile.ross | ross 対応。 | |
Makefile.serial | serial 対応。 | MPI スタブ利用。 |
Makefile.sgi | sgi 対応。 | |
Makefile.siberia | siberia 対応。 | |
Makefile.t3e | Cray T3E 対応。 | |
Makefile.tflop | Tflop 共通設定。 | |
memory.f | 動的メモリ管理。 | |
mesh_3d.f | PPPM メッシュ処理。 | |
min_support.f | 最小化補助。 | |
minimize.f | 最小化本体。 | |
misc.f | 補助関数。 | |
mpi.f | MPI ラッパー。 | |
neighbor.f | 近接リスト更新。 | |
pbc.f | 周期境界処理。 | |
pppm_coeff.f | PPPM 係数計算。 | |
pppm_remap.f | 粒子→メッシュ写像。 | |
pppm.f | PPPM ドライバ。 | |
random.f | 乱数生成。 | |
read_data.f | データファイル読み込み。 | |
read_restart.f | 再スタート読み込み。 | |
scan_data.f | データファイル検査。 | |
setup.f | シミュレーションセットアップ。 | |
shake.f | SHAKE 拘束。 | |
special.f | 特殊近接リスト。 | |
start.f | run 開始処理。 | |
stats.f | 統計量出力。 | |
string.f | 文字列操作。 | |
STUBS/ | MPI スタブ。 | serial ビルドで使用。 |
STUBS/Makefile | スタブビルドルール。 | |
STUBS/mpi_c.c | C 向け MPI スタブ。 | |
STUBS/mpi_fortran.f | Fortran 向け MPI スタブ。 | |
STUBS/mpi.h | C 用 MPI 定義。 | |
STUBS/mpif.h | Fortran 用 MPI 定義。 | |
thermo.f | 熱力学出力。 | |
velocity.f | 速度設定。 | |
write_restart.f | 再スタート出力。 |
ソースコードとドキュメント対応表
TeX / PDF は src_tex 以下に生成される解説資料です。未生成の項目は 準備中 と表示されます。