2001年版 LAMMPS FORTRAN 実装アーカイブ

いま, 敢えて2001年版を掘り起こす理由があります. LAMMPSは現在こそC++で書かれていますが, かつてはFortranで組まれており, その数式表現の潔さと読みやすさは今も色あせません. 私たちはそのすっきりしたコードに触れることで, 分子動力学の基礎を筋肉のように鍛え直せると信じています. 最新のLAMMPSは機能が肥大化し, 高度なC++技法が折り重なることで全体像を把握しながら編集するのはほとんど不可能な巨大なプログラム群となりました. だからこそ, 最小限のFortranコードで築かれたLAMMPS2001に戻り, 学びやすく, 手を入れやすい土台から自分だけの分子動力学コードを育て上げていきます. ここから新しい計算科学の冒険を始めましょう.

このサイトは LAMMPS2001 FORTRAN コードの探索と解説資料への導線をまとめたポータルです. コアソースとツール群の関連ドキュメント(TeX / PDF)を表形式で一覧でき, 日本語ドキュメントや構造概要にも素早くアクセスできます.

LAMMPS
LAMMPS

ドキュメント・クイックリンク

src/STUBS ドキュメント一覧

MPI なし環境向けスタブ実装とヘッダ類をまとめています.

モジュール 役割・内容 関連/備考 ソースコード TeX ドキュメント PDF 解説
STUBS/ MPI スタブ. serial ビルドで使用. src/STUBS/ STUBS_overview.tex PDF
STUBS/Makefile スタブビルドルール. src/STUBS/Makefile Makefile.tex PDF
STUBS/mpi_c.c C 向け MPI スタブ. src/STUBS/mpi_c.c mpi_c.tex PDF
STUBS/mpi_fortran.f Fortran 向け MPI スタブ. src/STUBS/mpi_fortran.f mpi_fortran.tex PDF
STUBS/mpi.h C 用 MPI 定義. src/STUBS/mpi.h mpi.tex PDF
STUBS/mpif.h Fortran 用 MPI 定義. src/STUBS/mpif.h mpif.tex PDF

コアソースドキュメント一覧

src/ 配下の主要ソースと関連ドキュメントを一望できます.

モジュール 役割・内容 関連/備考 ソースコード TeX ドキュメント PDF 解説
communicate.f MPI 通信制御. ゴースト原子更新. src/communicate.f communicate.tex PDF
coord2bin.f 座標をビンに割当. 近接探索前処理. src/coord2bin.f coord2bin.tex PDF
Depend.pl 依存関係生成. perl 必須. src/Depend.pl Depend.tex PDF
diagnostic_default.f 診断テンプレート. src/diagnostic_default.f diagnostic_default.tex PDF
diagnostic.f サンプル診断. src/diagnostic.f diagnostic.tex PDF
dump_atom.f 原子位置ダンプ. src/dump_atom.f dump_atom.tex PDF
dump_force.f 力ダンプ. src/dump_force.f dump_force.tex PDF
dump_vel.f 速度ダンプ. src/dump_vel.f dump_vel.tex PDF
ensemble.f アンサンブル制御. src/ensemble.f ensemble.tex PDF
error.f エラー処理. src/error.f error.tex PDF
ewald_coeff.f Ewald 係数計算. src/ewald_coeff.f ewald_coeff.tex PDF
ewald.f Ewald 本体. src/ewald.f ewald.tex PDF
fft_3d.c 3D FFT ラッパー. FFT ライブラリに依存. src/fft_3d.c fft_3d.tex PDF
finish.f 終了処理. src/finish.f finish.tex PDF
fix.f fix 実装. src/fix.f fix.tex PDF
force_bond.f 結合ポテンシャル. src/force_bond.f force_bond.tex PDF
force_class2.f Class II 力場. src/force_class2.f force_class2.tex PDF
force_many.f 補助力計算. src/force_many.f force_many.tex PDF
force_respa.f rRESPA 力分割. src/force_respa.f force_respa.tex PDF
force.f 力計算ドライバ. src/force.f force.tex PDF
global.f 大域変数モジュール. src/global.f global.tex PDF
initialize.f 初期化. src/initialize.f initialize.tex PDF
input.f 入力パーサ. src/input.f input.tex PDF
integrate_respa.f rRESPA 積分. src/integrate_respa.f integrate_respa.tex PDF
integrate.f 標準積分. src/integrate.f integrate.tex PDF
lammps.f メインプログラム. src/lammps.f lammps.tex PDF
lapack.f LAPACK サブルーチン. src/lapack.f lapack.tex PDF
Makefile トップレベル Makefile. src/Makefile Makefile.tex PDF
Makefile.absoft Absoft 対応. src/Makefile.absoft Makefile_absoft.tex PDF
Makefile.alaska alaska 対応. src/Makefile.alaska Makefile_alaska.tex PDF
Makefile.delmar delmar 対応. src/Makefile.delmar Makefile_delmar.tex PDF
Makefile.depend 依存リスト. Depend.pl 出力. src/Makefile.depend Makefile_depend.tex PDF
Makefile.janus janus 対応. src/Makefile.janus Makefile_janus.tex PDF
Makefile.lahey Lahey 対応. src/Makefile.lahey Makefile_lahey.tex PDF
Makefile.liberty liberty 対応. src/Makefile.liberty Makefile_liberty.tex PDF
Makefile.linux Linux 対応. src/Makefile.linux Makefile_linux.tex PDF
Makefile.ross ross 対応. src/Makefile.ross Makefile_ross.tex PDF
Makefile.serial serial 対応. MPI スタブ利用. src/Makefile.serial Makefile_serial.tex PDF
Makefile.sgi sgi 対応. src/Makefile.sgi Makefile_sgi.tex PDF
Makefile.siberia siberia 対応. src/Makefile.siberia Makefile_siberia.tex PDF
Makefile.t3e Cray T3E 対応. src/Makefile.t3e Makefile_t3e.tex PDF
Makefile.tflop Tflop 共通設定. src/Makefile.tflop Makefile_tflop.tex PDF
memory.f 動的メモリ管理. src/memory.f memory.tex PDF
mesh_3d.f PPPM メッシュ処理. src/mesh_3d.f mesh_3d.tex PDF
min_support.f 最小化補助. src/min_support.f min_support.tex PDF
minimize.f 最小化本体. src/minimize.f minimize.tex PDF
misc.f 補助関数. src/misc.f misc.tex PDF
mpi.f MPI ラッパー. src/mpi.f mpi.tex PDF
neighbor.f 近接リスト更新. src/neighbor.f neighbor.tex PDF
pbc.f 周期境界処理. src/pbc.f pbc.tex PDF
pppm_coeff.f PPPM 係数計算. src/pppm_coeff.f pppm_coeff.tex PDF
pppm_remap.f 粒子→メッシュ写像. src/pppm_remap.f pppm_remap.tex PDF
pppm.f PPPM ドライバ. src/pppm.f pppm.tex PDF
random.f 乱数生成. src/random.f random.tex PDF
read_data.f データファイル読み込み. src/read_data.f read_data.tex PDF
read_restart.f 再スタート読み込み. src/read_restart.f read_restart.tex PDF
scan_data.f データファイル検査. src/scan_data.f scan_data.tex PDF
setup.f シミュレーションセットアップ. src/setup.f setup.tex PDF
shake.f SHAKE 拘束. src/shake.f shake.tex PDF
special.f 特殊近接リスト. src/special.f special.tex PDF
start.f run 開始処理. src/start.f start.tex PDF
stats.f 統計量出力. src/stats.f stats.tex PDF
string.f 文字列操作. src/string.f string.tex PDF
thermo.f 熱力学出力. src/thermo.f thermo.tex PDF
velocity.f 速度設定. src/velocity.f velocity.tex PDF
write_restart.f 再スタート出力. src/write_restart.f write_restart.tex PDF

ツールチェーンドキュメント一覧

ツールの用途と関連ドキュメントを整理しています.

ツール 役割・内容 関連/備考 ソースコード TeX ドキュメント PDF 解説
Makefile ユーティリティビルド用. 必要なツールのみコンパイル. tools/Makefile Makefile.tex PDF
peek_restart.f 再スタートファイル内容の表示. 再開前の確認に利用. tools/peek_restart.f peek_restart.tex PDF
replicate.c データファイル複製・拡張. 単位セル複製やボックス変更に使用. tools/replicate.c replicate.tex PDF
restart2data.f 再スタート → テキスト変換. 途中状態の再利用. tools/restart2data.f restart2data.tex PDF
setup_chain.f ポリマーデータ生成. true flags を付与. tools/setup_chain.f setup_chain.tex PDF
setup_flow_2d.f 2D 流体系データ生成. 壁粒子配置を自動化. tools/setup_flow_2d.f setup_flow_2d.tex PDF
setup_lj.f LJ 系データ生成. examples/lj で利用. tools/setup_lj.f setup_lj.tex PDF

データ変換ツール一覧

外部形式とのデータ往来に使うコンバータ群です.

ツール 役割・内容 関連/備考 ソースコード TeX ドキュメント PDF 解説
converters/amber/ AMBER 形式→LAMMPS 変換. README converters/amber/amber2lammps.py converters_amber_overview.tex PDF
converters/lmp2arc/ LAMMPS データ→ACCELERYS ARC 変換. README converters/lmp2arc/src/lmp2arc.c converters_lmp2arc_overview.tex PDF
converters/msi2lmp/ MSI/Discover 形式→LAMMPS 変換. README converters/msi2lmp/src/msi2lmp.c converters_msi2lmp_overview.tex PDF