reaxkit 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. reaxkit/__init__.py +0 -0
  2. reaxkit/analysis/__init__.py +0 -0
  3. reaxkit/analysis/composed/RDF_analyzer.py +560 -0
  4. reaxkit/analysis/composed/__init__.py +0 -0
  5. reaxkit/analysis/composed/connectivity_analyzer.py +706 -0
  6. reaxkit/analysis/composed/coordination_analyzer.py +144 -0
  7. reaxkit/analysis/composed/electrostatics_analyzer.py +687 -0
  8. reaxkit/analysis/per_file/__init__.py +0 -0
  9. reaxkit/analysis/per_file/control_analyzer.py +165 -0
  10. reaxkit/analysis/per_file/eregime_analyzer.py +108 -0
  11. reaxkit/analysis/per_file/ffield_analyzer.py +305 -0
  12. reaxkit/analysis/per_file/fort13_analyzer.py +79 -0
  13. reaxkit/analysis/per_file/fort57_analyzer.py +106 -0
  14. reaxkit/analysis/per_file/fort73_analyzer.py +61 -0
  15. reaxkit/analysis/per_file/fort74_analyzer.py +65 -0
  16. reaxkit/analysis/per_file/fort76_analyzer.py +191 -0
  17. reaxkit/analysis/per_file/fort78_analyzer.py +154 -0
  18. reaxkit/analysis/per_file/fort79_analyzer.py +83 -0
  19. reaxkit/analysis/per_file/fort7_analyzer.py +393 -0
  20. reaxkit/analysis/per_file/fort99_analyzer.py +411 -0
  21. reaxkit/analysis/per_file/molfra_analyzer.py +359 -0
  22. reaxkit/analysis/per_file/params_analyzer.py +258 -0
  23. reaxkit/analysis/per_file/summary_analyzer.py +84 -0
  24. reaxkit/analysis/per_file/trainset_analyzer.py +84 -0
  25. reaxkit/analysis/per_file/vels_analyzer.py +95 -0
  26. reaxkit/analysis/per_file/xmolout_analyzer.py +528 -0
  27. reaxkit/cli.py +181 -0
  28. reaxkit/count_loc.py +276 -0
  29. reaxkit/data/alias.yaml +89 -0
  30. reaxkit/data/constants.yaml +27 -0
  31. reaxkit/data/reaxff_input_files_contents.yaml +186 -0
  32. reaxkit/data/reaxff_output_files_contents.yaml +301 -0
  33. reaxkit/data/units.yaml +38 -0
  34. reaxkit/help/__init__.py +0 -0
  35. reaxkit/help/help_index_loader.py +531 -0
  36. reaxkit/help/introspection_utils.py +131 -0
  37. reaxkit/io/__init__.py +0 -0
  38. reaxkit/io/base_handler.py +165 -0
  39. reaxkit/io/generators/__init__.py +0 -0
  40. reaxkit/io/generators/control_generator.py +123 -0
  41. reaxkit/io/generators/eregime_generator.py +341 -0
  42. reaxkit/io/generators/geo_generator.py +967 -0
  43. reaxkit/io/generators/trainset_generator.py +1758 -0
  44. reaxkit/io/generators/tregime_generator.py +113 -0
  45. reaxkit/io/generators/vregime_generator.py +164 -0
  46. reaxkit/io/generators/xmolout_generator.py +304 -0
  47. reaxkit/io/handlers/__init__.py +0 -0
  48. reaxkit/io/handlers/control_handler.py +209 -0
  49. reaxkit/io/handlers/eregime_handler.py +122 -0
  50. reaxkit/io/handlers/ffield_handler.py +812 -0
  51. reaxkit/io/handlers/fort13_handler.py +123 -0
  52. reaxkit/io/handlers/fort57_handler.py +143 -0
  53. reaxkit/io/handlers/fort73_handler.py +145 -0
  54. reaxkit/io/handlers/fort74_handler.py +155 -0
  55. reaxkit/io/handlers/fort76_handler.py +195 -0
  56. reaxkit/io/handlers/fort78_handler.py +142 -0
  57. reaxkit/io/handlers/fort79_handler.py +227 -0
  58. reaxkit/io/handlers/fort7_handler.py +264 -0
  59. reaxkit/io/handlers/fort99_handler.py +128 -0
  60. reaxkit/io/handlers/geo_handler.py +224 -0
  61. reaxkit/io/handlers/molfra_handler.py +184 -0
  62. reaxkit/io/handlers/params_handler.py +137 -0
  63. reaxkit/io/handlers/summary_handler.py +135 -0
  64. reaxkit/io/handlers/trainset_handler.py +658 -0
  65. reaxkit/io/handlers/vels_handler.py +293 -0
  66. reaxkit/io/handlers/xmolout_handler.py +174 -0
  67. reaxkit/utils/__init__.py +0 -0
  68. reaxkit/utils/alias.py +219 -0
  69. reaxkit/utils/cache.py +77 -0
  70. reaxkit/utils/constants.py +75 -0
  71. reaxkit/utils/equation_of_states.py +96 -0
  72. reaxkit/utils/exceptions.py +27 -0
  73. reaxkit/utils/frame_utils.py +175 -0
  74. reaxkit/utils/log.py +43 -0
  75. reaxkit/utils/media/__init__.py +0 -0
  76. reaxkit/utils/media/convert.py +90 -0
  77. reaxkit/utils/media/make_video.py +91 -0
  78. reaxkit/utils/media/plotter.py +812 -0
  79. reaxkit/utils/numerical/__init__.py +0 -0
  80. reaxkit/utils/numerical/extrema_finder.py +96 -0
  81. reaxkit/utils/numerical/moving_average.py +103 -0
  82. reaxkit/utils/numerical/numerical_calcs.py +75 -0
  83. reaxkit/utils/numerical/signal_ops.py +135 -0
  84. reaxkit/utils/path.py +55 -0
  85. reaxkit/utils/units.py +104 -0
  86. reaxkit/webui/__init__.py +0 -0
  87. reaxkit/webui/app.py +0 -0
  88. reaxkit/webui/components.py +0 -0
  89. reaxkit/webui/layouts.py +0 -0
  90. reaxkit/webui/utils.py +0 -0
  91. reaxkit/workflows/__init__.py +0 -0
  92. reaxkit/workflows/composed/__init__.py +0 -0
  93. reaxkit/workflows/composed/coordination_workflow.py +393 -0
  94. reaxkit/workflows/composed/electrostatics_workflow.py +587 -0
  95. reaxkit/workflows/composed/xmolout_fort7_workflow.py +343 -0
  96. reaxkit/workflows/meta/__init__.py +0 -0
  97. reaxkit/workflows/meta/help_workflow.py +136 -0
  98. reaxkit/workflows/meta/introspection_workflow.py +235 -0
  99. reaxkit/workflows/meta/make_video_workflow.py +61 -0
  100. reaxkit/workflows/meta/plotter_workflow.py +601 -0
  101. reaxkit/workflows/per_file/__init__.py +0 -0
  102. reaxkit/workflows/per_file/control_workflow.py +110 -0
  103. reaxkit/workflows/per_file/eregime_workflow.py +267 -0
  104. reaxkit/workflows/per_file/ffield_workflow.py +390 -0
  105. reaxkit/workflows/per_file/fort13_workflow.py +86 -0
  106. reaxkit/workflows/per_file/fort57_workflow.py +137 -0
  107. reaxkit/workflows/per_file/fort73_workflow.py +151 -0
  108. reaxkit/workflows/per_file/fort74_workflow.py +88 -0
  109. reaxkit/workflows/per_file/fort76_workflow.py +188 -0
  110. reaxkit/workflows/per_file/fort78_workflow.py +135 -0
  111. reaxkit/workflows/per_file/fort79_workflow.py +314 -0
  112. reaxkit/workflows/per_file/fort7_workflow.py +592 -0
  113. reaxkit/workflows/per_file/fort83_workflow.py +60 -0
  114. reaxkit/workflows/per_file/fort99_workflow.py +223 -0
  115. reaxkit/workflows/per_file/geo_workflow.py +554 -0
  116. reaxkit/workflows/per_file/molfra_workflow.py +577 -0
  117. reaxkit/workflows/per_file/params_workflow.py +135 -0
  118. reaxkit/workflows/per_file/summary_workflow.py +161 -0
  119. reaxkit/workflows/per_file/trainset_workflow.py +356 -0
  120. reaxkit/workflows/per_file/tregime_workflow.py +79 -0
  121. reaxkit/workflows/per_file/vels_workflow.py +309 -0
  122. reaxkit/workflows/per_file/vregime_workflow.py +75 -0
  123. reaxkit/workflows/per_file/xmolout_workflow.py +678 -0
  124. reaxkit-1.0.0.dist-info/METADATA +128 -0
  125. reaxkit-1.0.0.dist-info/RECORD +130 -0
  126. reaxkit-1.0.0.dist-info/WHEEL +5 -0
  127. reaxkit-1.0.0.dist-info/entry_points.txt +2 -0
  128. reaxkit-1.0.0.dist-info/licenses/AUTHORS.md +20 -0
  129. reaxkit-1.0.0.dist-info/licenses/LICENSE +21 -0
  130. reaxkit-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,186 @@
1
+ # Structured descriptions of ReaxFF input files and their contents.
2
+ # Used by the CLI to provide contextual help, validation, and file-aware guidance.
3
+ # The Python API consumes this metadata to enable introspection and documentation generation.
4
+
5
+ _meta:
6
+ version: "1.0"
7
+ comment: "generated using reaxff_input_files_contents.xlsx"
8
+ last_updated: "2026-01-28"
9
+
10
+ files:
11
+ control:
12
+ desc: "Run-control keyword file: sets simulation mode (MD/MM/FF-optimization) and common settings (thermostat/barostat, timestep, output frequencies, charge method, etc.)."
13
+ related_run: [MD, MM, FF-optimization]
14
+ tags: [run-control, control parameters, keywords, settings]
15
+ core_vars:
16
+ - General run-control parameters
17
+ - MD (molecular dynamics) run-control parameters
18
+ - MM (energy minimization) run-control parameters
19
+ - FF (ffield optimization) run-control parameters
20
+ - Outdated run-control parameters
21
+ notes:
22
+ - "The control-file is format free and keywords can be arranged in any order."
23
+ - "ReaxFF will re-check control-file during an MD-simulation of a force field optimization run, giving the user the option to modify a ongoing simulation."
24
+ - "If a keyword is left out of the control-file ReaxFF will use a default value."
25
+ derived_vars: []
26
+ best_for: [choose run mode, set timestep, set temperature and pressure, set output frequency]
27
+ examples:
28
+ - "reaxkit control get nmdit"
29
+
30
+ eregime.in:
31
+ desc: "Optional electric-field schedule for MD: impose time-dependent external electric field components (x/y/z)."
32
+ related_run: [MD]
33
+ tags: [electric-field, schedule, md]
34
+ core_vars:
35
+ - "electric field schedule: iterations, zones, and directions"
36
+ - "electric field schedule: electric field magnitude"
37
+ notes:
38
+ - "the electric field will not function correctly if a molecule moves across the periodic boundary in the field direction – this will lead to an energy discontinuity."
39
+ - "When an eregime.in file is provided the ReaxFF program will generate a new output file in fort.78, containing information regarding the electric field(s) strength in the x/y/z directions and its associated energy term."
40
+ derived_vars:
41
+ - "hysteresis loops for a material under electric field application"
42
+ best_for: [E-field ramps, electric-field-driven processes]
43
+ examples:
44
+ - "reaxkit eregime get --column E1 --xaxis time --export eregime_E1_vs_time.csv"
45
+
46
+ exe (run script):
47
+ desc: "Executable run script/wrapper that stages input files, calls the ReaxFF executable, and optionally copies outputs (used in the original distribution workflow)."
48
+ related_run: [MD, MM, FF-optimization]
49
+ tags: [run-script, staging, execution]
50
+ core_vars: []
51
+ derived_vars: []
52
+ best_for: [batch runs, staging inputs/outputs]
53
+ examples: []
54
+
55
+ ffield:
56
+ desc: "ReaxFF force-field parameter file (7 sections: general, atom, bond, off-diagonal, angle, torsion, hydrogen bond)."
57
+ related_run: [MD, MM, FF-optimization]
58
+ tags: [force-field, ffield, ffield parameters]
59
+ core_vars:
60
+ - Force-field header / identifier line
61
+ - General force-field parameters
62
+ - Atomic force-field parameters
63
+ - Bond force-field parameters
64
+ - Off-diagonal force-field parameters
65
+ - Valence angle force-field parameters
66
+ - Torsion force-field parameters
67
+ - Hydrogen-bond force-field parameters
68
+ notes:
69
+ - "n.u. identifiers in the ffield-file signify ‘not used’"
70
+ derived_vars: []
71
+ best_for: [force-field definition, inspect/compare parameter sections]
72
+ examples:
73
+ - "reaxkit ffield get --section bond --term C-H --format interpreted --export CH_bond.csv"
74
+
75
+ geo:
76
+ desc: "System geometry input (structure) used to start a run. Can be provided as .geo, .bgf (legacy), .xyz, or z-matrix; may include periodic cell information."
77
+ related_run: [MD, MM, FF-optimization]
78
+ tags: [structure, geometry, input-structure, cell]
79
+ core_vars:
80
+ - geo description (simulation name)
81
+ - Lattice parameters
82
+ - Atom symbols and types
83
+ - Atomic coordinates
84
+ optional_vars:
85
+ - "cell parameters (a, b, c, α, β, γ)"
86
+ notes:
87
+ - "Currently, ReaxFF supports the .geo, .bgf, .xyz and z-matrix input formats"
88
+ - "By default, ReaxFF assumes geo contains a .geo or a z-matrix format; to use other formats the igeofor-switch in the control-file should be given a value of 1 for .bgf format and a value of 2 for .xyz format."
89
+ - "All geo-input formats are format sensitive."
90
+ derived_vars: []
91
+ best_for: [initial structure, atom types/coords, periodic cell]
92
+ examples:
93
+ - "reaxkit geo xtob --file slab.xyz --dims 11.0,12.0,100.0 --angles 90,90,90 --output slab_geo_from_xyz"
94
+
95
+ iopt:
96
+ desc: "Optional toggle file indicating normal run (0) vs force-field optimization mode (1)."
97
+ related_run: [FF-optimization]
98
+ tags: [ff-optimization, toggle]
99
+ core_vars:
100
+ - "Toggle between normal run and force-field optimization"
101
+ derived_vars: []
102
+ best_for: [switch to optimization workflow]
103
+ examples: []
104
+
105
+ params:
106
+ desc: "Force-field optimization parameter list: specifies which ffield parameters are allowed to vary, with bounds/search intervals and bookkeeping to locate them in ffield."
107
+ related_run: [FF-optimization]
108
+ tags: [ff-optimization, parameter-selection, bounds]
109
+ core_vars:
110
+ - ff_section
111
+ - ff_section_line
112
+ - ff_parameter
113
+ notes:
114
+ - "also stores: search_interval, min_value, max_value, inline_comment"
115
+ - "ff_section maps to ffield sections (general/atom/bond/off-diagonal/angle/torsion/h-bond)"
116
+ - "ff_section_line is the row index within the chosen ffield section"
117
+ derived_vars: []
118
+ best_for: [choose optimizable parameters, set bounds]
119
+ examples:
120
+ - "reaxkit params get --export params.csv"
121
+
122
+ trainset.in:
123
+ desc: "Force-field optimization training-set definition: declares targets (energies/charges/forces/geometries/etc. depending on setup) and weights to build the cost function."
124
+ related_run: [FF-optimization]
125
+ tags: [ff-optimization, training-set, cost-function]
126
+ core_vars:
127
+ - "Training set / cost-function definition blocks (targets + weights)"
128
+ derived_vars:
129
+ - "fort.99 is the result file showing how the ffield performed compared to the QM/literature values"
130
+ best_for: [define optimization targets, weights]
131
+ examples:
132
+ - "reaxkit trainset get --section all --export reaxkit_outputs/trainset"
133
+
134
+ tregime.in:
135
+ desc: "Optional temperature-regime schedule for MD: define zones/atom ranges and time-dependent target temperatures and damping/heating rates."
136
+ related_run: [MD]
137
+ tags: [temperature, schedule, md]
138
+ core_vars:
139
+ - "Temperature schedule: iterations, zones and atoms"
140
+ - "Temperature schedule: set point temperatures"
141
+ - "Temperature schedule: temperature dampings"
142
+ - "Temperature schedule: heating/cooling rate"
143
+ notes:
144
+ - "When a tregime.in-file is used the ReaxFF program generates a new output file (fort.75) providing temperature information for every temperature zone."
145
+ derived_vars:
146
+ - "fort.75 shows how the MD simulation worked to obtain the set-point temperature regimes"
147
+ best_for: [temperature ramps, multi-zone heating/cooling]
148
+ examples:
149
+ - "reaxkit tregime gen"
150
+
151
+ vels:
152
+ desc: "Optional restart file for MD containing last saved coordinates/velocities/accelerations and temperature state; can override geometry from geo."
153
+ related_run: [MD]
154
+ tags: [restart, md, velocities]
155
+ core_vars:
156
+ - Atom coordinates
157
+ - Atom velocities
158
+ - Atom accelerations
159
+ - MD temperature
160
+ optional_vars:
161
+ - Previous atom accelerations
162
+ notes:
163
+ - "used to restart an MD-simulation."
164
+ - "During an MD-simulation ReaxFF will, at intervals defined by control-keywords iout2 and iout6, generate moldyn.vel and molsav.xxxx restart files."
165
+ - "moldyn.vel contains the most recent system information."
166
+ - "The geometry in vels will override any geometry given in the geo-file."
167
+ derived_vars: []
168
+ best_for: [restart MD, continue run with velocities]
169
+ examples:
170
+ - "reaxkit vels get --key velocities --atoms 1,3,7 --print"
171
+
172
+ vregime.in:
173
+ desc: "Optional volume/cell-regime schedule for MD: manipulate periodic cell parameters over time (with optional coordinate rescaling)."
174
+ related_run: [MD]
175
+ tags: [cell, volume, schedule, md, strain]
176
+ core_vars:
177
+ - "Volume/cell schedule: iterations, zones and types"
178
+ - "Volume/cell schedule: change rate, rescale (y) or target cell dimensions (n)"
179
+ notes:
180
+ - "When a vregime.in-file is provided, the ReaxFF program will generate a new output file (fort.77) that contains information regarding the cell parameters targeted in the vregime.in-file."
181
+ - "If rescale=y then all atom coordinates get rescaled, if rescale=n only the cell parameters are changed, effectively putting all strain on the edge of the periodic cell."
182
+ derived_vars:
183
+ - "fort.77 file will show information regarding the cell parameters targeted in the vregime.in-file."
184
+ best_for: [strain/cell ramps, volume changes, barostat-like schedules]
185
+ examples:
186
+ - "reaxkit vregime gen"
@@ -0,0 +1,301 @@
1
+ # Structured descriptions of ReaxFF output files and the data they contain.
2
+ # Used by the CLI to provide file-aware help, variable discovery, and validation.
3
+ # The Python API consumes this metadata for introspection, analysis routing, and documentation generation.
4
+
5
+ _meta:
6
+ version: "1.0"
7
+ comment: "generated using reaxff_output_files_contents.xlsx"
8
+ last_updated: "2026-01-28"
9
+
10
+ files:
11
+ energylog:
12
+ desc: "Energy log written during MD by AMS: iteration/time and per-term energy contributions, which resembles fort.73 in structure."
13
+ related_run: [MD]
14
+ tags: [energy, md, thermodynamics, log]
15
+ core_vars:
16
+ - iteration
17
+ - Partial energy contribution report (Energy terms)
18
+ derived_vars: []
19
+ best_for: [energy vs time, monitoring MD stability]
20
+ notes:
21
+ - "The output-frequency to fort.73 is regulated by control-file keyword iout1"
22
+ - "The sum of these terms should be the same as the number in the Epot-column in fort.71."
23
+ examples:
24
+ - "reaxkit energylog get --yaxis Ebond --xaxis time --plot"
25
+
26
+ fort.13:
27
+ desc: "Force-field optimization error summary: reports total error (objective) for the current force field."
28
+ related_run: [FF-optimization]
29
+ tags: [ff-optimization, error, objective]
30
+ core_vars:
31
+ - total error of the force field
32
+ derived_vars: []
33
+ best_for: [monitor optimization error]
34
+ examples:
35
+ - "reaxkit fort13 get --save total_ff_error_vs_epoch.png"
36
+
37
+ fort.57:
38
+ desc: "MM/minimization progress log: iteration, potential energy, RMS force (RMSG), and optimizer diagnostics."
39
+ related_run: [MM]
40
+ tags: [mm, minimization, convergence, optimizer]
41
+ core_vars:
42
+ - iteration
43
+ - potential energy
44
+ - RMSG (force RMS gradient)
45
+ - Optimizer diagnostics (max move, factor, nfc)
46
+ derived_vars: []
47
+ best_for: [minimization convergence]
48
+ notes:
49
+ - "When RMSG drops below the value of control-file keyword endmm the MM run terminates."
50
+ - "Alternatively, the run terminates when the maximum number of iterations (control-file keyword maxit) has been reached."
51
+ examples:
52
+ - "reaxkit fort57.md get --yaxis RMSG --xaxis iter --save rmsg_vs_iter.png"
53
+
54
+ fort.58:
55
+ desc: "MM/minimization energy-term report: iteration and partial energy contribution table, which resembles fort.73 in structure."
56
+ related_run: [MM]
57
+ tags: [energy, mm, minimization]
58
+ core_vars:
59
+ - simulation name (=geo description)
60
+ - iteration
61
+ - Partial energy contribution report (Energy terms)
62
+ derived_vars: []
63
+ best_for: [energy breakdown in MM runs]
64
+ examples:
65
+ - "reaxkit fort58 get --yaxis Ebond --xaxis time --plot"
66
+
67
+ fort.7:
68
+ desc: "Connectivity (bond-order) table: per-atom neighbor list, bond orders, molecule IDs, charges (only bonds above a cutoff are stored)."
69
+ related_run: [MD, MM, FF-optimization]
70
+ tags: [connectivity, bond-order, species, charges, coordination analysis, dipole moments, polarization]
71
+ core_vars:
72
+ - "Header: number of atoms & structure identifier (=geo descriptor)"
73
+ - atom number
74
+ - atom type number
75
+ - atom connectivity (neighbor indices)
76
+ - Molecule number
77
+ - Bond orders for each listed connectivity (neighbor)
78
+ - Sum of bond orders
79
+ - Number of lone pairs
80
+ - Partial charge
81
+ derived_vars:
82
+ - "coordination workflow (accessed through CLI by reaxkit coord) analyzes and relabels atoms based on their coordination status"
83
+ - "electrostatics workflow (accessed through CLI by reaxkit elect) obtains dipole moments, polarization, hysteresis, etc."
84
+ best_for: [bonding topology, species tracking, electrostatics]
85
+ notes:
86
+ - "This file gets updated with the same frequency as the xmolout-file; every iout2 iterations during MD simulations or every iout4 iterations during an MM-run."
87
+ - "fort.7 contains only the bonds with a bond order greater then control-file keyword cutof2."
88
+ - "fort.7 and fort.8 get overwritten by the most recent information. Setting control-file keyword iappen to 1, though, causes output to these files to get appended."
89
+ examples:
90
+ - "reaxkit fort7 get --yaxis charge --atom 1 --plot"
91
+
92
+ fort.73:
93
+ desc: "Energy-term output: iteration/time and partial energy contributions (bonded, nonbonded, total)."
94
+ related_run: [MD]
95
+ tags: [energy, thermodynamics, output]
96
+ core_vars:
97
+ - iteration
98
+ - Partial energy contribution report (Energy terms)
99
+ derived_vars: []
100
+ best_for: [energy decomposition, run diagnostics]
101
+ notes:
102
+ - "The output-frequency to fort.73 is regulated by control-file keyword iout1"
103
+ - "The sum of these terms should be the same as the number in the Epot-column in fort.71."
104
+ examples:
105
+ - "reaxkit fort73 get --yaxis Ebond --xaxis time --plot"
106
+
107
+ fort.74:
108
+ desc: "MM/FF-optimization summary table: per-structure/epoch values such as minimum energy, heat of formation, volume, and density."
109
+ related_run: [MM, FF-optimization]
110
+ tags: [summary, mm, ff-optimization, thermo]
111
+ core_vars:
112
+ - simulation name (=geo description)
113
+ - MM energy (minimum potential energy)
114
+ - epoch
115
+ - heat of formation
116
+ - volume
117
+ - density
118
+ derived_vars:
119
+ - "in conjunction with fort.99, it is used to obtain energy-volume data and bulk modulus (accessed through reaxkit fort99)"
120
+ best_for: [tabulated MM/optimization summary, EOS, equation of state. bulk modulus]
121
+ examples:
122
+ - "reaxkit fort99 bulk --iden 'Al2N2_w_opt2'"
123
+
124
+ fort.76:
125
+ desc: "Restraint output: iteration, restraint energy, potential energy, and target vs actual restraint distances."
126
+ related_run: [MD]
127
+ tags: [restraint, constraints, bias, md]
128
+ core_vars:
129
+ - iteration
130
+ - restraint energy
131
+ - potential energy
132
+ - "restraint distances: target and actual pairs"
133
+ derived_vars: []
134
+ best_for: [restraint diagnostics]
135
+ examples:
136
+ - "reaxkit fort76 get --ycol E_res --xaxis time --save E_res_vs_time.png"
137
+
138
+ fort.78:
139
+ desc: "Electric-field output: iteration, field components/magnitudes and the associated electric-field energy term."
140
+ related_run: [MD]
141
+ tags: [electric-field, md, external-field]
142
+ core_vars:
143
+ - iteration
144
+ - electric field magnitude in different directions (x,y,z)
145
+ - electric field magnitude
146
+ - energy of electric field in different directions (x,y,z)
147
+ - energy of electric field
148
+ derived_vars:
149
+ - "used in electrostatics workflow to obtain polarization hystereis loops"
150
+ best_for: [field schedule diagnostics, polarization hysteresis]
151
+ examples:
152
+ - "reaxkit fort78 get --xaxis time --yaxis E_field_x --save E_field_x.png --export E_field_x.csv"
153
+
154
+ fort.79:
155
+ desc: "FF-optimization parabola-fit report: logs parameter trial values, fitted parabola coefficients, optimum estimate, and error values."
156
+ related_run: [FF-optimization]
157
+ tags: [ff-optimization, parabola-fit, line-search]
158
+ core_vars:
159
+ - parameter identifier (shown by the first 3 values)
160
+ - parameter values (3 initial values)
161
+ - total errors of the force field (for the 3 initial values)
162
+ - parabola parameters (a,b,c)
163
+ - parabola minumum (optimal parameter value)
164
+ - total errors of the force field for the parabola minimum
165
+ - new parameter value
166
+ - total errors of the force field for the new parameter value
167
+ derived_vars: []
168
+ best_for: [debug/inspect optimization steps]
169
+ notes:
170
+ - "This file contains the report from the parabolic extrapolation procedure used by ReaxFF to optimize the force field parameters."
171
+ examples:
172
+ - "reaxkit fort79 most-sensitive --plot"
173
+
174
+ fort.8:
175
+ desc: "Connectivity (bond-order) table similar to fort.7, typically updated at a given frequency and overwritten by the latest snapshot."
176
+ related_run: [MD, MM, FF-optimization]
177
+ tags: [connectivity, bond-order, snapshot]
178
+ core_vars:
179
+ - "Header: number of atoms & structure identifier (=geo descriptor)"
180
+ - "atom number [integer]"
181
+ - "atom type number [integer]"
182
+ - "atom connectivity (neighbor indices) [integer]"
183
+ - "Molecule number [integer]"
184
+ - Bond orders for each listed connectivity (neighbor)
185
+ - Sum of bond orders
186
+ - Number of lone pairs
187
+ - Partial charge
188
+ derived_vars: []
189
+ best_for: [latest bonding snapshot]
190
+ notes:
191
+ - "This file gets updated with the same frequency as the xmolout-file; every iout2 iterations during MD simulations or every iout4 iterations during an MM-run."
192
+ - "fort.7 and fort.8 get overwritten by the most recent information. Setting control-file keyword iappen to 1, though, causes output to these files to get appended."
193
+ examples:
194
+ - "reaxkit fort8 get --yaxis charge --atom 1 --plot"
195
+
196
+ fort.99:
197
+ desc: "FF-optimization results summary: reports optimized ffield values and reference/target comparison metrics (e.g., QM/literature targets)."
198
+ related_run: [FF-optimization]
199
+ tags: [ff-optimization, results, summary]
200
+ core_vars:
201
+ - "ff-optimization results (ffield value, QM/literature value, weight, error, total error)"
202
+ derived_vars:
203
+ - "equation of state, bulk modulus, etc."
204
+ best_for: [final optimization report, EOS, equation of state, bulk modulus]
205
+ examples:
206
+ - "reaxkit fort99 get --sort error --ascending --export fort99_sorted_data.csv"
207
+
208
+ moldyn.vel:
209
+ desc: "MD restart file (latest): coordinates, velocities, accelerations, and temperature state for restarting a run."
210
+ related_run: [MD]
211
+ tags: [restart, md, velocities]
212
+ core_vars:
213
+ - Atom coordinates
214
+ - Atom velocities
215
+ - Atom accelerations
216
+ - Previous atom accelerations
217
+ - MD temperature
218
+ derived_vars: []
219
+ best_for: [restart MD]
220
+ examples:
221
+ - "reaxkit moldyn get --key velocities --atoms 1,3,7 --print"
222
+
223
+ molfra.out:
224
+ desc: "Molecular species report: per-iteration species counts/fractions (molecule fragments) during MD."
225
+ related_run: [MD]
226
+ tags: [species, fragments, md]
227
+ core_vars:
228
+ - "molecular species report (iteration, frequency, molecular formula, molecular mass, total molecules, total atoms, total molecular mass)"
229
+ derived_vars:
230
+ - "ReaxKit: species time series; plot counts vs iteration"
231
+ best_for: [species evolution]
232
+ examples:
233
+ - "reaxkit molfra occur --molecules H2O N128Al128 --save water_and_slab_occurrence.png"
234
+
235
+ molsav.####:
236
+ desc: "MD restart snapshots written periodically: same contents as moldyn.vel but saved with an index."
237
+ related_run: [MD]
238
+ tags: [restart, md, snapshots]
239
+ core_vars:
240
+ - Atom coordinates
241
+ - Atom velocities
242
+ - Atom accelerations
243
+ - Previous atom accelerations
244
+ - MD temperature
245
+ derived_vars: []
246
+ best_for: [restart from earlier point]
247
+ examples:
248
+ - "reaxkit molsav get --key velocities --atoms 1,3,7 --print"
249
+
250
+ summary:
251
+ desc: "Compact run summary time series: iteration/time plus global quantities like temperature, pressure, density, volume, potential energy, and molecule count."
252
+ related_run: [MD, MM, FF-optimization]
253
+ tags: [summary, thermo, time-series]
254
+ core_vars:
255
+ - iteration
256
+ - number of molecules
257
+ - simulation time (fs)
258
+ - potential energy
259
+ - volume
260
+ - temperature
261
+ - pressure
262
+ - density
263
+ - "elapsed time (s)"
264
+ derived_vars: []
265
+ best_for: [quick run monitoring]
266
+ examples:
267
+ - "reaxkit summary get --yaxis E_pot --xaxis time --plot"
268
+
269
+ xmolout:
270
+ desc: "Trajectory output: per-frame atomic positions; may also include cell parameters and per-frame energies; optional velocities/molecule IDs."
271
+ related_run: [MD, MM, FF-optimization]
272
+ tags: [trajectory, coordinates, structure, unit-cell, msd, rdf, coordination, connectivity, dipole moment, polarization]
273
+ core_vars:
274
+ - number of atoms
275
+ - simulation name (=geo description)
276
+ - iteration
277
+ - potential energy
278
+ - "unit cell dimensions (a,b,c)"
279
+ - "unit cell angles (alpha, beta, gamma)"
280
+ - atom types
281
+ - "atom coordinates (x,y,z)"
282
+ optional_vars:
283
+ - velocities
284
+ - molecule number
285
+ - strain energy
286
+ - total bond order
287
+ derived_vars:
288
+ - "MSD (mean square displacement)"
289
+ - "RDF (radial distribution function)"
290
+ - "diffusion coefficient"
291
+ - "connectivity workflow is used to analyze and relabel the coordination status of atoms (xmolout is used in conjunction with fort.7)"
292
+ - "electrostatics workflow is used to obtain dipole moments, polarizations, etc. (xmolout is used in conjunction with fort.7)"
293
+ - "xmolfort7 workflow is used to plot the spatial resolution of properties in fort.7 file (i.e., plotting charges of atoms at their locations)"
294
+ best_for: [trajectory analysis, structure evolution]
295
+ notes:
296
+ - "In MD-runs, the frequency of structure output to xmolout is controlled by the control-file keyword iout2; a frame is saved every iout2 MD-iterations."
297
+ - "In a similar way, iout4 controls the frame output frequency during MM simulations."
298
+ - "If the ixmolo control-switch has a value of 1 additional velocity and molecule number output is generated in the xmolout-file."
299
+ - "Optional fields depend on control settings and build options."
300
+ examples:
301
+ - "reaxkit xmolout trajget --atoms 1 --dims z --xaxis time --save atom1_z.png --export atom1_z.csv"
@@ -0,0 +1,38 @@
1
+ # Canonical unit definitions and conversion metadata for ReaxFF-related quantities.
2
+ # The CLI uses these mappings to accept user-friendly unit names and perform conversions.
3
+ # The Python API relies on canonical units internally for consistency and correctness.
4
+
5
+ units:
6
+ # molfra.out
7
+ molecular_mass: "a.u."
8
+ total_molecular_mass: "a.u."
9
+
10
+ # fort.78
11
+ field_x: "V/Å"
12
+ field_y: "V/Å"
13
+ field_z: "V/Å"
14
+
15
+ E_field_x: "kcal/mol"
16
+ E_field_y: "kcal/mol"
17
+ E_field_z: "kcal/mol"
18
+ E_field: "kcal/mol"
19
+
20
+ # summary.txt
21
+ time: "fs"
22
+ E_pot: "kcal/mol"
23
+ V: "ų"
24
+ T: "K"
25
+ P: "MPa"
26
+ D: "kg/dm³"
27
+ elap_time: "s"
28
+
29
+ # eregime.in
30
+ field: "V/Å"
31
+ field1: "V/Å"
32
+ field2: "V/Å"
33
+ field3: "V/Å"
34
+
35
+ # xmolout
36
+ x: "Å"
37
+ y: "Å"
38
+ z: "Å"
File without changes