├── .gitignore ├── README.md ├── basis ├── 3-21g.basis ├── 6-311ppgss.basis ├── 6-31gs.basis ├── aug-cc-pv5z.basis ├── aug-cc-pvdz.basis ├── aug-cc-pvqz.basis ├── aug-cc-pvtz.basis ├── cc-pv5z.basis ├── cc-pvdz.basis ├── cc-pvqz.basis ├── cc-pvtz.basis ├── def2-qzvp.basis ├── def2-svp.basis ├── def2-tzvp.basis └── sto-3g.basis ├── data ├── mc │ ├── benzene_2.dat │ ├── benzene_2.xyz │ ├── ch2o.dat │ ├── ch2o.xyz │ ├── co.dat │ ├── co.xyz │ ├── ethane.dat │ ├── ethane.xyz │ ├── h2o.dat │ ├── h2o.xyz │ ├── h2o_5.dat │ ├── h2o_5.xyz │ ├── he2.dat │ ├── he2.xyz │ ├── he20.dat │ ├── he20.xyz │ ├── hf.dat │ ├── hf.xyz │ ├── lif.dat │ └── lif.xyz ├── md │ ├── benzene_2.dat │ ├── benzene_2.xyz │ ├── ch2o.dat │ ├── ch2o.xyz │ ├── co.dat │ ├── co.xyz │ ├── ethane.dat │ ├── ethane.xyz │ ├── h2o.dat │ ├── h2o.xyz │ ├── h2o_5.dat │ ├── h2o_5.xyz │ ├── he2.dat │ ├── he2.xyz │ ├── he20.dat │ ├── he20.xyz │ ├── hf.dat │ ├── hf.xyz │ ├── lif.dat │ └── lif.xyz ├── mm │ ├── benzene_2.log │ ├── ch2o.log │ ├── co.log │ ├── ethane.log │ ├── h2o.log │ ├── h2o_5.log │ ├── he2.log │ ├── he20.log │ ├── hf.log │ └── lif.log └── opt │ ├── benzene_2.dat │ ├── benzene_2.xyz │ ├── ch2o.dat │ ├── ch2o.xyz │ ├── co.dat │ ├── co.xyz │ ├── ethane.dat │ ├── ethane.xyz │ ├── h2o.dat │ ├── h2o.xyz │ ├── h2o_5.dat │ ├── h2o_5.xyz │ ├── he2.dat │ ├── he2.xyz │ ├── he20.dat │ ├── he20.xyz │ ├── hf.dat │ ├── hf.xyz │ ├── lif.dat │ └── lif.xyz ├── geom ├── prm │ ├── ch2o.prm │ ├── co.prm │ ├── ethane.prm │ ├── h2o.prm │ ├── he2.prm │ ├── he20.prm │ ├── hf.prm │ └── lif.prm ├── xyz │ ├── 12difluoroethane.xyz │ ├── 135trifluorobenzene.xyz │ ├── acetaldehyde.xyz │ ├── aceticacid.xyz │ ├── acetone.xyz │ ├── acetonitrile.xyz │ ├── adamantane.xyz │ ├── adenine.xyz │ ├── benzene.xyz │ ├── c60.xyz │ ├── ch2cl2.xyz │ ├── ch4.xyz │ ├── chloroform.xyz │ ├── chloromethane.xyz │ ├── co.xyz │ ├── co2.xyz │ ├── cubane.xyz │ ├── cyclopentane.xyz │ ├── cyclopropane.xyz │ ├── dimethylether.xyz │ ├── ethane.xyz │ ├── ethanethiol.xyz │ ├── ethanoicanhydride.xyz │ ├── ethanol.xyz │ ├── ethene.xyz │ ├── ethylacetate.xyz │ ├── ethyne.xyz │ ├── formaldehyde.xyz │ ├── h2.xyz │ ├── h2o.xyz │ ├── he.xyz │ ├── helium.xyz │ ├── hf.xyz │ ├── hooh.xyz │ ├── isobutane.xyz │ ├── methylamine.xyz │ ├── methylformate.xyz │ ├── neopentane.xyz │ ├── nh3.xyz │ ├── oxalicacid.xyz │ ├── propane.xyz │ └── thymine.xyz ├── xyzq │ ├── a.xyzq │ ├── benzene_2.xyzq │ ├── ethane.xyzq │ ├── ethane5.xyzq │ ├── h2o.xyzq │ └── h2o_5.xyzq └── zmat │ ├── benzene.zmat │ ├── ch4.zmat │ ├── chloromethane.zmat │ ├── ethane.zmat │ ├── ethene.zmat │ ├── formaldehyde.zmat │ ├── h2.zmat │ ├── h2o.zmat │ ├── hf.zmat │ ├── hooh.zmat │ ├── nh3.zmat │ └── propane.zmat ├── input ├── mc │ ├── benzene_2.mc │ ├── ch2o.mc │ ├── co.mc │ ├── ethane.mc │ ├── h2o.mc │ ├── h2o_5.mc │ ├── he2.mc │ ├── he20.mc │ ├── hf.mc │ └── lif.mc ├── md │ ├── benzene_2.md │ ├── ch2o.md │ ├── co.md │ ├── ethane.md │ ├── h2o.md │ ├── h2o_5.md │ ├── he2.md │ ├── he20.md │ ├── hf.md │ └── lif.md └── opt │ ├── benzene_2.opt │ ├── ch2o.opt │ ├── co.opt │ ├── ethane.opt │ ├── h2o.opt │ ├── h2o_5.opt │ ├── he2.opt │ ├── he20.opt │ ├── hf.opt │ └── lif.opt ├── plot ├── mc │ ├── benzene_2.log │ ├── benzene_2.pdf │ ├── benzene_2.plt │ ├── ch2o.log │ ├── ch2o.pdf │ ├── ch2o.plt │ ├── co.log │ ├── co.pdf │ ├── co.plt │ ├── ethane.log │ ├── ethane.pdf │ ├── ethane.plt │ ├── h2o.log │ ├── h2o.pdf │ ├── h2o.plt │ ├── h2o_5.log │ ├── h2o_5.pdf │ ├── h2o_5.plt │ ├── he2.log │ ├── he2.pdf │ ├── he2.plt │ ├── he20.log │ ├── he20.pdf │ ├── he20.plt │ ├── hf.log │ ├── hf.pdf │ ├── hf.plt │ ├── lif.log │ ├── lif.pdf │ └── lif.plt └── md │ ├── benzene_2.log │ ├── benzene_2.pdf │ ├── benzene_2.plt │ ├── ch2o.log │ ├── ch2o.pdf │ ├── ch2o.plt │ ├── co.log │ ├── co.pdf │ ├── co.plt │ ├── ethane.log │ ├── ethane.pdf │ ├── ethane.plt │ ├── h2o.log │ ├── h2o.pdf │ ├── h2o.plt │ ├── h2o_5.log │ ├── h2o_5.pdf │ ├── h2o_5.plt │ ├── he2.log │ ├── he2.pdf │ ├── he2.plt │ ├── he20.log │ ├── he20.pdf │ ├── he20.plt │ ├── hf.log │ ├── hf.pdf │ ├── hf.plt │ ├── lif.log │ ├── lif.pdf │ └── lif.plt └── scripts ├── geometry_analysis ├── angles.py ├── bonds.py ├── center_of_mass.py ├── geometry_analysis.py ├── moment_of_inertia.py ├── out_of_planes.py ├── torsions.py └── zmat2xyz.py └── molecular_mechanics ├── ana.py ├── mc.py ├── md.py ├── mm.py ├── mmlib ├── __init__.py ├── analyze.py ├── analyze_test.py ├── constants.py ├── energy.py ├── energy_test.py ├── fileio.py ├── fileio_test.py ├── geomcalc.py ├── geomcalc_test.py ├── gradient.py ├── gradient_test.py ├── molecule.py ├── molecule_test.py ├── optimize.py ├── optimize_test.py ├── param.py ├── param_test.py ├── simulate.py ├── simulate_test.py ├── test.py ├── test_test.py ├── topology.py └── topology_test.py ├── opt.py └── run_tests.py /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__/ 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | TMP Chem Computational Chemistry Source Code 2 | ============================================ 3 | 4 | This repository contains scripts, programs, and data files used with the 5 | "Computational Chemistry" playlist on the [TMP Chem YouTube channel][yt]. 6 | Primary language is Python3, with toy programs to demonstrate modeling and 7 | analysis methods. Repository is always subject to change, and no guarantees 8 | are made of the correctness of output. 9 | 10 | [yt]: https://www.youtube.com/tmpchem 11 | 12 | Table of contents 13 | ----------------- 14 | * [Getting started](#getting-started) 15 | * [Prerequisites](#prerequisites) 16 | * [Installation](#installation) 17 | * [Running the tests](#running-tests) 18 | * [Running the scripts](#running-scripts) 19 | * [Geometry analysis](#geometry-analysis) 20 | * [Molecular mechanics](#molecular-mechanics) 21 | * [Author](#author) 22 | * [Acknowledgments](#acknowledgments) 23 | 24 |

Getting started

25 | 26 | Most recent version of project is located in 27 | [TMP Chem GitHub account][github]. Download by following instructions for 28 | Git clone from GitHub. Requires a terminal, IDE, etc. to execute Python 29 | scripts and ability to write to file system within project directories. 30 | 31 | [github]: https://www.github.com/tmpchem/computational_chemistry 32 | 33 |

Prerequisites

34 | 35 | Requires Python 3.5 or greater for script execution. Requires access 36 | to numpy and matplotlib modules. All prerequisites can be met by 37 | downloading and using Python from 38 | [most recent Anaconda distribution][anaconda]. 39 | 40 | [anaconda]: https://www.anaconda.com/download/ 41 | 42 |

Installation

43 | 44 | No additional installation necessary after cloning the repository. 45 | 46 |

Running the tests

47 | 48 | WARNING: Test suite is incomplete and subject to change without notice. 49 | 50 | To run tests for a project, go to the script directory for that project, 51 | `[top_level_path]/scripts/[project]`. If present, execute `run_tests.py` 52 | for the project. 53 | 54 | python run_tests.py 55 | 56 | This command executes a test suite of unit tests from each test module present 57 | in the mmlib directory. Each test module contains a set of unit tests of methods 58 | within the module, confirming proper behavior and protecting against regression 59 | errors and system misconfigurations. 60 | 61 | Once executed, standard output will indicate success with an 'OK' message and 62 | the number of executed unit tests as well as total run time. Any other message 63 | indicates failure and will include the nature of the failing tests. 64 | 65 | Open an issue to give feedback or report bugs. 66 | 67 |

Running the scripts

68 | 69 | As of 16 Feb 2017, repository contains two projects: `geometry_analysis`, 70 | and `molecular_mechanics`. 71 | 72 |

Geometry analysis

73 | 74 | The `geometry_analysis` project contains scripts which take an xyz-format 75 | molecular geometry file as input, and output to screen associated 76 | geometry data, including bond lengths, bond angles, torsion angles, 77 | out-of-plane angles, center of mass, and/or moment of inertia, etc. Sample 78 | xyz files are located in `[top_level_path]/geom/xyz` directory. 79 | 80 |

Molecular mechanics

81 | 82 | The `molecular_mechanics` project contains scripts to compute molecular 83 | mechanics energy of a system (`mm.py`), molecular dynamics trajectories 84 | (`md.py`), Metropolis Monte Carlo ensembles (`mc.py`), and optimize 85 | molecular coordinates to potential energy minima (`opt.py`). 86 | 87 | The energy function and parameters in all cases is based on AMBER FF94. 88 | 89 | Cornell et. al, 90 | J. Am. Chem. Soc. 1995, 117, 5179-5197. 91 | doi.org/10.1021/ja00124a002 92 | 93 | Energy function in Equation 1. Atom types in Table 1. Parameter values 94 | in Table 14. Download AmberTools15 from [here][amber]. After unzipping, 95 | parameters located in `amber14/dat/leap/parm/parm94.dat`. 96 | 97 | [amber]: http://ambermd.org/AmberTools15-get.html 98 | 99 | Sample input files for mm are located in 100 | `[top_level_path]/geom/[file_type]` directories, where `file_type]` is 101 | `xyzq` or `prm`. Sample input files for md and mc are located in 102 | `[top_level_path]/geom/sim` directory. Output files for each are 103 | demonstrated in samples, and may be written to any accessible file 104 | name. 105 | 106 |

Author

107 | 108 | The sole author of this package is Trent M. Parker. 109 | 110 | - Email: `tmpchemistry@gmail.com` 111 | - LinkedIn: https://www.linkedin.com/in/tmpchem 112 | - Youtube: https://www.youtube.com/tmpchem 113 | 114 |

Acknowledgments

115 | 116 | The author wishes to thank the following individuals: 117 | **Dr. Michael S. Marshall**, for encouraging him to learn the Python 118 | language; 119 | **Dr. Lori S. Burns**, for encouraging him to conform to style guidelines 120 | for readable Python code; 121 | **Dr. Michael A. Lewis**, for providing the inspiration for the author to 122 | initiate studies in this field; and 123 | **Dr. C. David Sherrill**, for providing an enormous number of opportunities 124 | to continue to learn and grow as a scientist and a person. 125 | -------------------------------------------------------------------------------- /data/mc/hf.xyz: -------------------------------------------------------------------------------- 1 | 2 2 | conf 0 3 | H 0.000 0.000 0.000 4 | F 0.000 0.000 1.000 5 | 2 6 | conf 1 7 | H 0.262 0.118 -0.083 8 | F 0.197 -0.034 0.804 9 | 2 10 | conf 2 11 | H 0.165 0.143 0.027 12 | F 0.397 -0.022 0.890 13 | 2 14 | conf 3 15 | H 0.357 0.147 0.166 16 | F 0.503 -0.101 1.040 17 | 2 18 | conf 4 19 | H 0.442 0.123 0.034 20 | F 0.384 -0.132 0.915 21 | 2 22 | conf 5 23 | H 0.442 0.193 0.027 24 | F 0.336 -0.082 0.899 25 | 2 26 | conf 6 27 | H 0.446 0.173 -0.022 28 | F 0.375 -0.078 0.859 29 | 2 30 | conf 7 31 | H 0.390 0.212 0.031 32 | F 0.346 -0.097 0.893 33 | 2 34 | conf 8 35 | H 0.373 0.167 0.027 36 | F 0.321 -0.126 0.894 37 | 2 38 | conf 9 39 | H 0.350 0.118 0.027 40 | F 0.328 -0.126 0.911 41 | 2 42 | conf 10 43 | H 0.382 0.079 0.014 44 | F 0.329 -0.117 0.909 45 | 2 46 | conf 11 47 | H 0.322 0.032 0.015 48 | F 0.329 -0.137 0.922 49 | 2 50 | conf 12 51 | H 0.323 0.052 0.004 52 | F 0.320 -0.178 0.888 53 | 2 54 | conf 13 55 | H 0.329 0.041 0.002 56 | F 0.311 -0.177 0.891 57 | 2 58 | conf 14 59 | H 0.332 0.052 0.019 60 | F 0.310 -0.185 0.900 61 | 2 62 | conf 15 63 | H 0.333 0.037 0.026 64 | F 0.325 -0.188 0.922 65 | 2 66 | conf 16 67 | H 0.356 0.040 0.039 68 | F 0.321 -0.206 0.928 69 | 2 70 | conf 17 71 | H 0.363 0.064 0.043 72 | F 0.329 -0.215 0.911 73 | 2 74 | conf 18 75 | H 0.360 0.075 0.056 76 | F 0.314 -0.237 0.918 77 | 2 78 | conf 19 79 | H 0.337 0.078 0.054 80 | F 0.336 -0.228 0.919 81 | 2 82 | conf 20 83 | H 0.314 0.070 0.032 84 | F 0.344 -0.217 0.904 85 | 2 86 | conf 21 87 | H 0.319 0.078 0.016 88 | F 0.371 -0.220 0.880 89 | 2 90 | conf 22 91 | H 0.336 0.098 0.020 92 | F 0.377 -0.240 0.869 93 | 2 94 | conf 23 95 | H 0.289 0.095 0.029 96 | F 0.370 -0.229 0.878 97 | 2 98 | conf 24 99 | H 0.303 0.080 -0.006 100 | F 0.354 -0.230 0.849 101 | 2 102 | conf 25 103 | H 0.308 0.064 -0.004 104 | F 0.372 -0.270 0.847 105 | 2 106 | conf 26 107 | H 0.310 0.067 0.015 108 | F 0.374 -0.299 0.853 109 | 2 110 | conf 27 111 | H 0.314 0.087 0.033 112 | F 0.378 -0.327 0.853 113 | 2 114 | conf 28 115 | H 0.307 0.091 0.035 116 | F 0.386 -0.309 0.862 117 | 2 118 | conf 29 119 | H 0.292 0.075 0.023 120 | F 0.369 -0.308 0.858 121 | 2 122 | conf 30 123 | H 0.298 0.068 0.023 124 | F 0.369 -0.305 0.863 125 | 2 126 | conf 31 127 | H 0.290 0.055 0.011 128 | F 0.367 -0.295 0.854 129 | 2 130 | conf 32 131 | H 0.300 0.073 0.013 132 | F 0.368 -0.281 0.855 133 | 2 134 | conf 33 135 | H 0.296 0.074 0.008 136 | F 0.381 -0.286 0.847 137 | 2 138 | conf 34 139 | H 0.305 0.061 0.015 140 | F 0.385 -0.296 0.858 141 | 2 142 | conf 35 143 | H 0.299 0.066 0.029 144 | F 0.386 -0.322 0.854 145 | 2 146 | conf 36 147 | H 0.312 0.074 0.025 148 | F 0.371 -0.337 0.843 149 | 2 150 | conf 37 151 | H 0.304 0.080 0.020 152 | F 0.365 -0.348 0.827 153 | 2 154 | conf 38 155 | H 0.300 0.080 0.013 156 | F 0.351 -0.341 0.823 157 | 2 158 | conf 39 159 | H 0.296 0.069 0.009 160 | F 0.363 -0.329 0.829 161 | 2 162 | conf 40 163 | H 0.294 0.083 0.002 164 | F 0.373 -0.322 0.820 165 | 2 166 | conf 41 167 | H 0.312 0.090 -0.003 168 | F 0.353 -0.309 0.823 169 | 2 170 | conf 42 171 | H 0.312 0.064 -0.005 172 | F 0.344 -0.326 0.822 173 | 2 174 | conf 43 175 | H 0.305 0.064 -0.009 176 | F 0.334 -0.311 0.828 177 | 2 178 | conf 44 179 | H 0.293 0.062 -0.007 180 | F 0.337 -0.314 0.831 181 | 2 182 | conf 45 183 | H 0.284 0.063 -0.000 184 | F 0.361 -0.322 0.833 185 | 2 186 | conf 46 187 | H 0.284 0.053 -0.000 188 | F 0.356 -0.309 0.838 189 | 2 190 | conf 47 191 | H 0.294 0.051 -0.003 192 | F 0.355 -0.307 0.840 193 | 2 194 | conf 48 195 | H 0.302 0.058 -0.002 196 | F 0.351 -0.302 0.841 197 | 2 198 | conf 49 199 | H 0.304 0.049 -0.012 200 | F 0.348 -0.295 0.841 201 | 2 202 | conf 50 203 | H 0.306 0.045 -0.007 204 | F 0.341 -0.292 0.847 205 | 2 206 | conf 51 207 | H 0.304 0.046 0.003 208 | F 0.351 -0.295 0.848 209 | 2 210 | conf 52 211 | H 0.307 0.048 0.001 212 | F 0.354 -0.292 0.846 213 | 2 214 | conf 53 215 | H 0.302 0.041 0.001 216 | F 0.359 -0.290 0.851 217 | 2 218 | conf 54 219 | H 0.309 0.042 -0.002 220 | F 0.356 -0.293 0.847 221 | 2 222 | conf 55 223 | H 0.313 0.038 -0.007 224 | F 0.357 -0.302 0.841 225 | 2 226 | conf 56 227 | H 0.314 0.044 0.001 228 | F 0.347 -0.316 0.839 229 | 2 230 | conf 57 231 | H 0.312 0.041 -0.008 232 | F 0.358 -0.324 0.829 233 | 2 234 | conf 58 235 | H 0.304 0.037 -0.012 236 | F 0.355 -0.328 0.831 237 | 2 238 | conf 59 239 | H 0.310 0.027 -0.017 240 | F 0.358 -0.319 0.832 241 | 2 242 | conf 60 243 | H 0.313 0.024 -0.015 244 | F 0.357 -0.317 0.835 245 | 2 246 | conf 61 247 | H 0.314 0.026 -0.011 248 | F 0.355 -0.310 0.839 249 | 2 250 | conf 62 251 | H 0.315 0.032 -0.010 252 | F 0.354 -0.302 0.841 253 | 2 254 | conf 63 255 | H 0.319 0.028 -0.005 256 | F 0.355 -0.302 0.849 257 | 2 258 | conf 64 259 | H 0.318 0.029 -0.006 260 | F 0.356 -0.302 0.853 261 | 2 262 | conf 65 263 | H 0.325 0.038 0.000 264 | F 0.347 -0.305 0.852 265 | 2 266 | conf 66 267 | H 0.330 0.046 0.006 268 | F 0.347 -0.300 0.855 269 | 2 270 | conf 67 271 | H 0.323 0.060 0.007 272 | F 0.346 -0.296 0.851 273 | 2 274 | conf 68 275 | H 0.328 0.070 0.008 276 | F 0.346 -0.294 0.847 277 | 2 278 | conf 69 279 | H 0.318 0.078 0.009 280 | F 0.352 -0.297 0.837 281 | 2 282 | conf 70 283 | H 0.323 0.076 0.008 284 | F 0.353 -0.293 0.839 285 | 2 286 | conf 71 287 | H 0.319 0.074 0.010 288 | F 0.340 -0.299 0.840 289 | 2 290 | conf 72 291 | H 0.325 0.070 0.009 292 | F 0.336 -0.298 0.841 293 | 2 294 | conf 73 295 | H 0.324 0.067 0.014 296 | F 0.329 -0.299 0.846 297 | 2 298 | conf 74 299 | H 0.322 0.064 0.018 300 | F 0.326 -0.306 0.854 301 | 2 302 | conf 75 303 | H 0.315 0.070 0.017 304 | F 0.324 -0.310 0.852 305 | 2 306 | conf 76 307 | H 0.318 0.065 0.012 308 | F 0.326 -0.312 0.849 309 | 2 310 | conf 77 311 | H 0.328 0.074 0.011 312 | F 0.326 -0.311 0.845 313 | 2 314 | conf 78 315 | H 0.331 0.074 0.006 316 | F 0.320 -0.310 0.840 317 | 2 318 | conf 79 319 | H 0.336 0.070 0.006 320 | F 0.319 -0.307 0.843 321 | 2 322 | conf 80 323 | H 0.334 0.071 0.008 324 | F 0.323 -0.303 0.847 325 | 2 326 | conf 81 327 | H 0.336 0.074 0.012 328 | F 0.322 -0.294 0.853 329 | 2 330 | conf 82 331 | H 0.333 0.078 0.013 332 | F 0.327 -0.282 0.857 333 | 2 334 | conf 83 335 | H 0.338 0.083 0.010 336 | F 0.332 -0.283 0.857 337 | 2 338 | conf 84 339 | H 0.330 0.078 0.013 340 | F 0.327 -0.274 0.855 341 | 2 342 | conf 85 343 | H 0.326 0.076 0.008 344 | F 0.326 -0.276 0.850 345 | 2 346 | conf 86 347 | H 0.326 0.071 0.003 348 | F 0.331 -0.274 0.853 349 | 2 350 | conf 87 351 | H 0.323 0.074 -0.000 352 | F 0.325 -0.277 0.846 353 | 2 354 | conf 88 355 | H 0.325 0.068 -0.001 356 | F 0.318 -0.278 0.844 357 | 2 358 | conf 89 359 | H 0.325 0.069 -0.000 360 | F 0.316 -0.282 0.843 361 | 2 362 | conf 90 363 | H 0.328 0.061 -0.005 364 | F 0.322 -0.280 0.845 365 | 2 366 | conf 91 367 | H 0.327 0.064 -0.009 368 | F 0.320 -0.276 0.843 369 | 2 370 | conf 92 371 | H 0.329 0.060 -0.013 372 | F 0.322 -0.267 0.843 373 | 2 374 | conf 93 375 | H 0.331 0.059 -0.024 376 | F 0.333 -0.255 0.838 377 | 2 378 | conf 94 379 | H 0.341 0.061 -0.022 380 | F 0.336 -0.257 0.839 381 | 2 382 | conf 95 383 | H 0.346 0.061 -0.020 384 | F 0.330 -0.254 0.837 385 | 2 386 | conf 96 387 | H 0.354 0.063 -0.020 388 | F 0.333 -0.254 0.841 389 | 2 390 | conf 97 391 | H 0.352 0.058 -0.019 392 | F 0.327 -0.256 0.839 393 | 2 394 | conf 98 395 | H 0.349 0.050 -0.029 396 | F 0.332 -0.258 0.840 397 | 2 398 | conf 99 399 | H 0.351 0.045 -0.031 400 | F 0.331 -0.255 0.840 401 | 2 402 | conf 100 403 | H 0.351 0.045 -0.031 404 | F 0.331 -0.255 0.840 405 | -------------------------------------------------------------------------------- /data/mm/ch2o.log: -------------------------------------------------------------------------------- 1 | 2 | -------- Energy Values -------- 3 | component [kcal/mol] 4 | ------------------------------- 5 | Total | 0.3569 6 | Kinetic | 0.0000 7 | Potential | 0.3569 8 | Non-bonded | 0.0000 9 | Bonded | 0.3569 10 | Boundary | 0.0000 11 | van der Waals | 0.0000 12 | Electrostatic | 0.0000 13 | Bonds | 0.3503 14 | Angles | 0.0066 15 | Torsions | 0.0000 16 | Out-of-planes | 0.0000 17 | 18 | -------- Molecular Geometry and Non-bonded Parameters --------- 19 | type x y z q ro/2 eps 20 | --------------------------------------------------------------- 21 | 1 | C1 -1.0483 1.6715 -1.4413 0.6000 1.9080 0.0860 22 | 2 | O1 -2.2353 1.4309 -1.2631 -0.8000 1.6612 0.2100 23 | 3 | H1 -0.5167 1.3623 -2.3557 0.1000 1.2870 0.0157 24 | 4 | H1 -0.4409 2.2115 -0.6988 0.1000 1.2870 0.0157 25 | 26 | ------------------ Bond Length Data ------------------- 27 | k_b r_eq r_ij types energy atoms 28 | ------------------------------------------------------- 29 | 1 | 570.00 1.2290 1.2241 (C1-O1) 0.0136 (1-2) 30 | 2 | 367.00 1.0800 1.1020 (C1-H1) 0.1772 (1-3) 31 | 3 | 367.00 1.0800 1.1008 (C1-H1) 0.1594 (1-4) 32 | 33 | ------------------- Bond Angle Data -------------------- 34 | k_a a_eq a_ijk types energy atoms 35 | -------------------------------------------------------- 36 | 1 | 80.00 122.500 122.234 (O1-C1-H1) 0.0017 (2-1-3) 37 | 2 | 80.00 122.500 122.228 (O1-C1-H1) 0.0018 (2-1-4) 38 | 3 | 35.00 115.000 115.539 (H1-C1-H1) 0.0031 (3-1-4) 39 | 40 | No Torsion Angles Detected 41 | 42 | -------------- Out-of-plane Angle Data -------------- 43 | vn/2 o_ijkl types energy atoms 44 | ----------------------------------------------------- 45 | 1 | 10.50 -0.021 (H1-H1-C1-O1) 0.0000 (3-4-1-2) 46 | -------------------------------------------------------------------------------- /data/mm/co.log: -------------------------------------------------------------------------------- 1 | 2 | -------- Energy Values -------- 3 | component [kcal/mol] 4 | ------------------------------- 5 | Total | 0.6253 6 | Kinetic | 0.0000 7 | Potential | 0.6253 8 | Non-bonded | 0.0000 9 | Bonded | 0.6253 10 | Boundary | 0.0000 11 | van der Waals | 0.0000 12 | Electrostatic | 0.0000 13 | Bonds | 0.6253 14 | Angles | 0.0000 15 | Torsions | 0.0000 16 | Out-of-planes | 0.0000 17 | 18 | -------- Molecular Geometry and Non-bonded Parameters --------- 19 | type x y z q ro/2 eps 20 | --------------------------------------------------------------- 21 | 1 | C1 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 22 | 2 | O1 0.0000 0.0000 1.1060 0.0000 0.0000 0.0000 23 | 24 | ------------------ Bond Length Data ------------------- 25 | k_b r_eq r_ij types energy atoms 26 | ------------------------------------------------------- 27 | 1 | 1292.00 1.1280 1.1060 (C1-O1) 0.6253 (1-2) 28 | 29 | No Bond Angles Detected 30 | 31 | No Torsion Angles Detected 32 | 33 | No Out-of-plane Angles Detected 34 | -------------------------------------------------------------------------------- /data/mm/ethane.log: -------------------------------------------------------------------------------- 1 | 2 | -------- Energy Values -------- 3 | component [kcal/mol] 4 | ------------------------------- 5 | Total | 0.2846 6 | Kinetic | 0.0000 7 | Potential | 0.2846 8 | Non-bonded | 0.0000 9 | Bonded | 0.2846 10 | Boundary | 0.0000 11 | van der Waals | 0.0000 12 | Electrostatic | 0.0000 13 | Bonds | 0.0956 14 | Angles | 0.1886 15 | Torsions | 0.0004 16 | Out-of-planes | 0.0000 17 | 18 | -------- Molecular Geometry and Non-bonded Parameters --------- 19 | type x y z q ro/2 eps 20 | --------------------------------------------------------------- 21 | 1 | CT -5.7154 2.8978 0.2542 -0.6300 1.9080 0.1094 22 | 2 | CT -4.5451 2.2596 -0.4587 -0.6300 1.9080 0.1094 23 | 3 | HC -5.3676 3.6596 0.9583 0.2100 1.4870 0.0157 24 | 4 | HC -6.2815 2.1464 0.8124 0.2100 1.4870 0.0157 25 | 5 | HC -6.3895 3.3743 -0.4637 0.2100 1.4870 0.0157 26 | 6 | HC -3.8756 1.7762 0.2590 0.2100 1.4870 0.0157 27 | 7 | HC -3.9743 3.0124 -1.0103 0.2100 1.4870 0.0157 28 | 8 | HC -4.8928 1.5038 -1.1689 0.2100 1.4870 0.0157 29 | 30 | ------------------ Bond Length Data ------------------- 31 | k_b r_eq r_ij types energy atoms 32 | ------------------------------------------------------- 33 | 1 | 310.00 1.5260 1.5117 (CT-CT) 0.0634 (1-2) 34 | 2 | 340.00 1.0900 1.0940 (CT-HC) 0.0056 (1-3) 35 | 3 | 340.00 1.0900 1.0939 (CT-HC) 0.0051 (1-4) 36 | 4 | 340.00 1.0900 1.0940 (CT-HC) 0.0055 (1-5) 37 | 5 | 340.00 1.0900 1.0941 (CT-HC) 0.0056 (2-6) 38 | 6 | 340.00 1.0900 1.0939 (CT-HC) 0.0053 (2-7) 39 | 7 | 340.00 1.0900 1.0939 (CT-HC) 0.0051 (2-8) 40 | 41 | ------------------- Bond Angle Data -------------------- 42 | k_a a_eq a_ijk types energy atoms 43 | -------------------------------------------------------- 44 | 1 | 50.00 109.500 110.540 (CT-CT-HC) 0.0165 (1-2-6) 45 | 2 | 50.00 109.500 110.566 (CT-CT-HC) 0.0173 (1-2-7) 46 | 3 | 50.00 109.500 110.596 (CT-CT-HC) 0.0183 (1-2-8) 47 | 4 | 50.00 109.500 110.566 (CT-CT-HC) 0.0173 (2-1-3) 48 | 5 | 50.00 109.500 110.568 (CT-CT-HC) 0.0174 (2-1-4) 49 | 6 | 50.00 109.500 110.573 (CT-CT-HC) 0.0175 (2-1-5) 50 | 7 | 35.00 109.500 108.332 (HC-CT-HC) 0.0146 (3-1-4) 51 | 8 | 35.00 109.500 108.355 (HC-CT-HC) 0.0140 (3-1-5) 52 | 9 | 35.00 109.500 108.368 (HC-CT-HC) 0.0137 (4-1-5) 53 | 10 | 35.00 109.500 108.396 (HC-CT-HC) 0.0130 (6-2-7) 54 | 11 | 35.00 109.500 108.368 (HC-CT-HC) 0.0137 (6-2-8) 55 | 12 | 35.00 109.500 108.295 (HC-CT-HC) 0.0155 (7-2-8) 56 | 57 | ---------------------- Torsion Angle Data ----------------------- 58 | vn/2 gamma t_ijkl n p types energy atoms 59 | ----------------------------------------------------------------- 60 | 1 | 1.40 0.0 60.460 3 9 (HC-CT-CT-HC) 0.0000 (3-1-2-6) 61 | 2 | 1.40 0.0 -59.575 3 9 (HC-CT-CT-HC) 0.0000 (3-1-2-7) 62 | 3 | 1.40 0.0 -179.521 3 9 (HC-CT-CT-HC) 0.0000 (3-1-2-8) 63 | 4 | 1.40 0.0 -59.513 3 9 (HC-CT-CT-HC) 0.0001 (4-1-2-6) 64 | 5 | 1.40 0.0 -179.548 3 9 (HC-CT-CT-HC) 0.0000 (4-1-2-7) 65 | 6 | 1.40 0.0 60.507 3 9 (HC-CT-CT-HC) 0.0001 (4-1-2-8) 66 | 7 | 1.40 0.0 -179.535 3 9 (HC-CT-CT-HC) 0.0000 (5-1-2-6) 67 | 8 | 1.40 0.0 60.430 3 9 (HC-CT-CT-HC) 0.0000 (5-1-2-7) 68 | 9 | 1.40 0.0 -59.515 3 9 (HC-CT-CT-HC) 0.0001 (5-1-2-8) 69 | 70 | No Out-of-plane Angles Detected 71 | -------------------------------------------------------------------------------- /data/mm/h2o.log: -------------------------------------------------------------------------------- 1 | 2 | -------- Energy Values -------- 3 | component [kcal/mol] 4 | ------------------------------- 5 | Total | 0.9279 6 | Kinetic | 0.0000 7 | Potential | 0.9279 8 | Non-bonded | 0.0000 9 | Bonded | 0.9279 10 | Boundary | 0.0000 11 | van der Waals | 0.0000 12 | Electrostatic | 0.0000 13 | Bonds | 0.1812 14 | Angles | 0.7467 15 | Torsions | 0.0000 16 | Out-of-planes | 0.0000 17 | 18 | -------- Molecular Geometry and Non-bonded Parameters --------- 19 | type x y z q ro/2 eps 20 | --------------------------------------------------------------- 21 | 1 | OW 0.5389 0.6557 0.0000 -0.8140 1.7683 0.1520 22 | 2 | HW 1.5089 0.6557 0.0000 0.4070 0.0001 0.0000 23 | 3 | HW 0.2156 1.5697 -0.0301 0.4070 0.0001 0.0000 24 | 25 | ------------------ Bond Length Data ------------------- 26 | k_b r_eq r_ij types energy atoms 27 | ------------------------------------------------------- 28 | 1 | 553.00 0.9572 0.9700 (OW-HW) 0.0906 (1-2) 29 | 2 | 553.00 0.9572 0.9700 (OW-HW) 0.0906 (1-3) 30 | 31 | ------------------- Bond Angle Data -------------------- 32 | k_a a_eq a_ijk types energy atoms 33 | -------------------------------------------------------- 34 | 1 | 100.00 104.520 109.471 (HW-OW-HW) 0.7467 (2-1-3) 35 | 36 | No Torsion Angles Detected 37 | 38 | No Out-of-plane Angles Detected 39 | -------------------------------------------------------------------------------- /data/mm/h2o_5.log: -------------------------------------------------------------------------------- 1 | 2 | -------- Energy Values -------- 3 | component [kcal/mol] 4 | ------------------------------- 5 | Total | -35.5963 6 | Kinetic | 0.0000 7 | Potential | -35.5963 8 | Non-bonded | -43.5667 9 | Bonded | 7.9704 10 | Boundary | 0.0000 11 | van der Waals | 11.6838 12 | Electrostatic | -55.2505 13 | Bonds | 3.9988 14 | Angles | 3.9717 15 | Torsions | 0.0000 16 | Out-of-planes | 0.0000 17 | 18 | -------- Molecular Geometry and Non-bonded Parameters --------- 19 | type x y z q ro/2 eps 20 | --------------------------------------------------------------- 21 | 1 | OW -1.8721 1.3262 -0.7203 -0.8140 1.7683 0.1520 22 | 2 | HW -1.7155 0.5495 -0.1235 0.4070 0.0001 0.0000 23 | 3 | HW -2.8379 1.2616 -0.8149 0.4070 0.0001 0.0000 24 | 4 | OW 0.6125 -0.1545 2.5247 -0.8140 1.7683 0.1520 25 | 5 | HW 1.2147 0.3338 1.9056 0.4070 0.0001 0.0000 26 | 6 | HW 0.9969 0.1216 3.3745 0.4070 0.0001 0.0000 27 | 7 | OW -1.5084 -0.7394 0.9717 -0.8140 1.7683 0.1520 28 | 8 | HW -1.4404 -1.7052 1.0662 0.4070 0.0001 0.0000 29 | 9 | HW -0.7994 -0.4664 1.6093 0.4070 0.0001 0.0000 30 | 10 | OW 0.4962 2.6226 -0.8021 -0.8140 1.7683 0.1520 31 | 11 | HW 0.2206 3.3916 -1.3296 0.4070 0.0001 0.0000 32 | 12 | HW -0.3565 2.1158 -0.7935 0.4070 0.0001 0.0000 33 | 13 | OW 2.1475 1.3406 0.8988 -0.8140 1.7683 0.1520 34 | 14 | HW 2.9461 1.4051 0.3473 0.4070 0.0001 0.0000 35 | 15 | HW 1.5208 1.8668 0.3380 0.4070 0.0001 0.0000 36 | 37 | ------------------ Bond Length Data ------------------- 38 | k_b r_eq r_ij types energy atoms 39 | ------------------------------------------------------- 40 | 1 | 553.00 0.9572 0.9919 (OW-HW) 0.6651 (1-2) 41 | 2 | 553.00 0.9572 0.9726 (OW-HW) 0.1307 (1-3) 42 | 3 | 553.00 0.9572 0.9921 (OW-HW) 0.6751 (4-5) 43 | 4 | 553.00 0.9572 0.9727 (OW-HW) 0.1330 (4-6) 44 | 5 | 553.00 0.9572 0.9728 (OW-HW) 0.1350 (7-8) 45 | 6 | 553.00 0.9572 0.9918 (OW-HW) 0.6632 (7-9) 46 | 7 | 553.00 0.9572 0.9724 (OW-HW) 0.1277 (10-11) 47 | 8 | 553.00 0.9572 0.9919 (OW-HW) 0.6665 (10-12) 48 | 9 | 553.00 0.9572 0.9726 (OW-HW) 0.1314 (13-14) 49 | 10 | 553.00 0.9572 0.9920 (OW-HW) 0.6710 (13-15) 50 | 51 | ------------------- Bond Angle Data -------------------- 52 | k_a a_eq a_ijk types energy atoms 53 | -------------------------------------------------------- 54 | 1 | 100.00 104.520 99.397 (HW-OW-HW) 0.7994 (2-1-3) 55 | 2 | 100.00 104.520 99.533 (HW-OW-HW) 0.7576 (5-4-6) 56 | 3 | 100.00 104.520 99.259 (HW-OW-HW) 0.8432 (8-7-9) 57 | 4 | 100.00 104.520 99.505 (HW-OW-HW) 0.7660 (11-10-12) 58 | 5 | 100.00 104.520 99.378 (HW-OW-HW) 0.8054 (14-13-15) 59 | 60 | No Torsion Angles Detected 61 | 62 | No Out-of-plane Angles Detected 63 | -------------------------------------------------------------------------------- /data/mm/he2.log: -------------------------------------------------------------------------------- 1 | 2 | -------- Energy Values -------- 3 | component [kcal/mol] 4 | ------------------------------- 5 | Total | -0.0018 6 | Kinetic | 0.0000 7 | Potential | -0.0018 8 | Non-bonded | -0.0018 9 | Bonded | 0.0000 10 | Boundary | 0.0000 11 | van der Waals | -0.0018 12 | Electrostatic | 0.0000 13 | Bonds | 0.0000 14 | Angles | 0.0000 15 | Torsions | 0.0000 16 | Out-of-planes | 0.0000 17 | 18 | -------- Molecular Geometry and Non-bonded Parameters --------- 19 | type x y z q ro/2 eps 20 | --------------------------------------------------------------- 21 | 1 | He 0.0000 0.0000 0.0000 0.0000 1.1810 0.0100 22 | 2 | He 0.0000 0.0000 3.5000 0.0000 1.1810 0.0100 23 | 24 | No Bonds Detected 25 | 26 | No Bond Angles Detected 27 | 28 | No Torsion Angles Detected 29 | 30 | No Out-of-plane Angles Detected 31 | -------------------------------------------------------------------------------- /data/mm/he20.log: -------------------------------------------------------------------------------- 1 | 2 | -------- Energy Values -------- 3 | component [kcal/mol] 4 | ------------------------------- 5 | Total | 0.4784 6 | Kinetic | 0.0000 7 | Potential | 0.4784 8 | Non-bonded | 0.4784 9 | Bonded | 0.0000 10 | Boundary | 0.0000 11 | van der Waals | 0.4784 12 | Electrostatic | 0.0000 13 | Bonds | 0.0000 14 | Angles | 0.0000 15 | Torsions | 0.0000 16 | Out-of-planes | 0.0000 17 | 18 | -------- Molecular Geometry and Non-bonded Parameters --------- 19 | type x y z q ro/2 eps 20 | --------------------------------------------------------------- 21 | 1 | He 0.3756 -1.8677 -2.8885 0.0000 1.1810 0.1000 22 | 2 | He 2.6102 1.2480 1.2027 0.0000 1.1810 0.1000 23 | 3 | He -2.3448 -2.9321 5.3122 0.0000 1.1810 0.1000 24 | 4 | He -1.4708 -0.7909 1.5448 0.0000 1.1810 0.1000 25 | 5 | He -3.7138 2.8354 5.3693 0.0000 1.1810 0.1000 26 | 6 | He -3.6429 4.5758 1.4821 0.0000 1.1810 0.1000 27 | 7 | He 1.0739 2.1136 -2.9446 0.0000 1.1810 0.1000 28 | 8 | He 3.5671 3.2523 5.4466 0.0000 1.1810 0.1000 29 | 9 | He -5.6487 -1.9286 4.1479 0.0000 1.1810 0.1000 30 | 10 | He 1.8623 0.5922 3.7740 0.0000 1.1810 0.1000 31 | 11 | He 3.9872 -0.0243 3.5196 0.0000 1.1810 0.1000 32 | 12 | He -5.0093 3.4393 -2.5244 0.0000 1.1810 0.1000 33 | 13 | He -2.6236 -0.5757 -0.2888 0.0000 1.1810 0.1000 34 | 14 | He -0.3805 6.3313 3.7419 0.0000 1.1810 0.1000 35 | 15 | He -0.8132 1.8310 4.3618 0.0000 1.1810 0.1000 36 | 16 | He 1.6880 5.2844 1.0861 0.0000 1.1810 0.1000 37 | 17 | He 0.5609 -0.6142 5.5899 0.0000 1.1810 0.1000 38 | 18 | He -2.1493 1.6847 0.0824 0.0000 1.1810 0.1000 39 | 19 | He 0.3350 6.1648 0.2674 0.0000 1.1810 0.1000 40 | 20 | He -2.7153 -3.3987 0.4770 0.0000 1.1810 0.1000 41 | 42 | No Bonds Detected 43 | 44 | No Bond Angles Detected 45 | 46 | No Torsion Angles Detected 47 | 48 | No Out-of-plane Angles Detected 49 | -------------------------------------------------------------------------------- /data/mm/hf.log: -------------------------------------------------------------------------------- 1 | 2 | -------- Energy Values -------- 3 | component [kcal/mol] 4 | ------------------------------- 5 | Total | 4.6425 6 | Kinetic | 0.0000 7 | Potential | 4.6425 8 | Non-bonded | 0.0000 9 | Bonded | 4.6425 10 | Boundary | 0.0000 11 | van der Waals | 0.0000 12 | Electrostatic | 0.0000 13 | Bonds | 4.6425 14 | Angles | 0.0000 15 | Torsions | 0.0000 16 | Out-of-planes | 0.0000 17 | 18 | -------- Molecular Geometry and Non-bonded Parameters --------- 19 | type x y z q ro/2 eps 20 | --------------------------------------------------------------- 21 | 1 | H1 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 22 | 2 | F1 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000 23 | 24 | ------------------ Bond Length Data ------------------- 25 | k_b r_eq r_ij types energy atoms 26 | ------------------------------------------------------- 27 | 1 | 673.90 0.9170 1.0000 (H1-F1) 4.6425 (1-2) 28 | 29 | No Bond Angles Detected 30 | 31 | No Torsion Angles Detected 32 | 33 | No Out-of-plane Angles Detected 34 | -------------------------------------------------------------------------------- /data/mm/lif.log: -------------------------------------------------------------------------------- 1 | 2 | -------- Energy Values -------- 3 | component [kcal/mol] 4 | ------------------------------- 5 | Total | -83.0247 6 | Kinetic | 0.0000 7 | Potential | -83.0247 8 | Non-bonded | -83.0247 9 | Bonded | 0.0000 10 | Boundary | 0.0000 11 | van der Waals | -0.0088 12 | Electrostatic | -83.0159 13 | Bonds | 0.0000 14 | Angles | 0.0000 15 | Torsions | 0.0000 16 | Out-of-planes | 0.0000 17 | 18 | -------- Molecular Geometry and Non-bonded Parameters --------- 19 | type x y z q ro/2 eps 20 | --------------------------------------------------------------- 21 | 1 | Li 0.0000 0.0000 0.0000 1.0000 1.1370 0.0183 22 | 2 | F 0.0000 0.0000 4.0000 -1.0000 1.7500 0.0610 23 | 24 | No Bonds Detected 25 | 26 | No Bond Angles Detected 27 | 28 | No Torsion Angles Detected 29 | 30 | No Out-of-plane Angles Detected 31 | -------------------------------------------------------------------------------- /data/opt/ch2o.dat: -------------------------------------------------------------------------------- 1 | # 1.000e-06 2.000e-04 1.000e-04 2.000e-03 1.000e-03 2 | # iter energy delta_e grad_max grad_rms disp_max disp_rms 3 | 1 0.134936674878 -2.220e-01 6.988e+00 3.970e+00 7.929e-03 3.587e-03 4 | 2 0.032050732219 -1.029e-01 4.103e+00 2.429e+00 7.544e-03 3.936e-03 5 | 3 0.012946183043 -1.910e-02 3.540e+00 1.250e+00 3.922e-03 1.794e-03 6 | 4 0.009606266046 -3.340e-03 1.848e+00 9.749e-01 1.219e-03* 6.488e-04* 7 | 5 0.001435817763 -8.170e-03 1.891e+00 6.601e-01 2.008e-03 1.351e-03 8 | 6 0.000242059290 -1.194e-03 4.602e-01 1.617e-01 4.120e-04* 3.004e-04* 9 | 7 0.000233264907 -8.794e-06 5.244e-01 1.823e-01 3.823e-05* 2.541e-05* 10 | 8 0.000046165180 -1.871e-04 1.601e-01 9.448e-02 3.076e-04* 1.944e-04* 11 | 9 0.000021682970 -2.448e-05 9.346e-02 4.560e-02 5.096e-05* 5.101e-05* 12 | 10 0.000017266765 -4.416e-06 1.163e-01 5.543e-02 3.771e-05* 2.461e-05* 13 | 11 0.000003738063 -1.353e-05 3.609e-02 1.961e-02 6.055e-05* 3.598e-05* 14 | 12 0.000000412046 -3.326e-06 1.713e-02 7.164e-03 6.502e-05* 2.874e-05* 15 | 13 0.000000335514 -7.653e-08* 1.528e-02 6.482e-03 8.064e-06* 3.951e-06* 16 | 14 0.000000120505 -2.150e-07* 7.728e-03 3.873e-03 6.901e-06* 4.875e-06* 17 | 15 0.000000039375 -8.113e-08* 4.731e-03 2.418e-03 7.309e-06* 4.375e-06* 18 | 16 0.000000017706 -2.167e-08* 2.839e-03 1.248e-03 2.542e-06* 1.298e-06* 19 | 17 0.000000003231 -1.448e-08* 2.007e-03 7.123e-04 3.874e-06* 1.833e-06* 20 | 18 0.000000001658 -1.573e-09* 7.725e-04 4.419e-04 1.122e-06* 6.107e-07* 21 | 19 0.000000000354 -1.304e-09* 6.552e-04 2.625e-04 7.642e-07* 4.483e-07* 22 | 20 0.000000000131 -2.229e-10* 2.543e-04 1.268e-04 2.266e-07* 1.599e-07* 23 | 21 0.000000000094 -3.692e-11* 2.097e-04 9.278e-05* 8.789e-08* 6.929e-08* 24 | 22 0.000000000035 -5.940e-11* 1.432e-04* 8.433e-05* 1.566e-07* 1.058e-07* 25 | -------------------------------------------------------------------------------- /data/opt/ch2o.xyz: -------------------------------------------------------------------------------- 1 | 4 2 | iter 1 3 | C -1.04039150 1.67297033 -1.44273591 4 | O -2.23745382 1.43042794 -1.26280341 5 | H -0.51946468 1.36436533 -2.35010844 6 | H -0.44390000 2.20839640 -0.70332224 7 | 4 8 | iter 2 9 | C -1.04329539 1.67240013 -1.44234557 10 | O -2.23135203 1.43160739 -1.26380885 11 | H -0.52084134 1.36773912 -2.34256443 12 | H -0.44572124 2.20441335 -0.71025116 13 | 4 14 | iter 3 15 | C -1.04232203 1.67263063 -1.44247339 16 | O -2.23086896 1.43166866 -1.26393957 17 | H -0.52145102 1.36952169 -2.33864247 18 | H -0.44656799 2.20233901 -0.71391457 19 | 4 20 | iter 4 21 | C -1.04169033 1.67278077 -1.44254578 22 | O -2.23172049 1.43147899 -1.26383880 23 | H -0.52130571 1.37016765 -2.33742341 24 | H -0.44649348 2.20173259 -0.71516201 25 | 4 26 | iter 5 27 | C -1.04265952 1.67263059 -1.44235492 28 | O -2.23475381 1.43083037 -1.26343503 29 | H -0.51929751 1.37107907 -2.33670010 30 | H -0.44449915 2.20161997 -0.71647995 31 | 4 32 | iter 6 33 | C -1.04348984 1.67245132 -1.44225669 34 | O -2.23473351 1.43083550 -1.26343455 35 | H -0.51889946 1.37114691 -2.33678408 36 | H -0.44408720 2.20172627 -0.71649468 37 | 4 38 | iter 7 39 | C -1.04355582 1.67243691 -1.44224928 40 | O -2.23474302 1.43083372 -1.26343268 41 | H -0.51886219 1.37115376 -2.33679094 42 | H -0.44404897 2.20173561 -0.71649711 43 | 4 44 | iter 8 45 | C -1.04370257 1.67239972 -1.44224622 46 | O -2.23520797 1.43074205 -1.26335629 47 | H -0.51855458 1.37123194 -2.33680413 48 | H -0.44374489 2.20178628 -0.71656337 49 | 4 50 | iter 9 51 | C -1.04365160 1.67241469 -1.44224559 52 | O -2.23534032 1.43071501 -1.26333650 53 | H -0.51850884 1.37126382 -2.33676543 54 | H -0.44370924 2.20176648 -0.71662247 55 | 4 56 | iter 10 57 | C -1.04364234 1.67241990 -1.44224090 58 | O -2.23538131 1.43070659 -1.26333038 59 | H -0.51848891 1.37128810 -2.33672772 60 | H -0.44369744 2.20174541 -0.71667099 61 | 4 62 | iter 11 63 | C -1.04370063 1.67240927 -1.44223035 64 | O -2.23534961 1.43071349 -1.26333400 65 | H -0.51847080 1.37132330 -2.33666717 66 | H -0.44368895 2.20171395 -0.71673847 67 | 4 68 | iter 12 69 | C -1.04370584 1.67240401 -1.44223834 70 | O -2.23533650 1.43071748 -1.26333320 71 | H -0.51847196 1.37135541 -2.33660215 72 | H -0.44369570 2.20168310 -0.71679631 73 | 4 74 | iter 13 75 | C -1.04370560 1.67240438 -1.44223779 76 | O -2.23533789 1.43071722 -1.26333292 77 | H -0.51847071 1.37135978 -2.33659409 78 | H -0.44369580 2.20167862 -0.71680520 79 | 4 80 | iter 14 81 | C -1.04370605 1.67240734 -1.44223165 82 | O -2.23534939 1.43071436 -1.26333224 83 | H -0.51846381 1.37135956 -2.33659835 84 | H -0.44369076 2.20167874 -0.71680776 85 | 4 86 | iter 15 87 | C -1.04371176 1.67240606 -1.44223106 88 | O -2.23535820 1.43071262 -1.26333080 89 | H -0.51845650 1.37136115 -2.33659923 90 | H -0.44368354 2.20168016 -0.71680892 91 | 4 92 | iter 16 93 | C -1.04371290 1.67240461 -1.44223333 94 | O -2.23535883 1.43071273 -1.26333024 95 | H -0.51845589 1.37136259 -2.33659669 96 | H -0.44368238 2.20168007 -0.71680974 97 | 4 98 | iter 17 99 | C -1.04371270 1.67240480 -1.44223309 100 | O -2.23535876 1.43071272 -1.26333028 101 | H -0.51845578 1.37136455 -2.33659281 102 | H -0.44368276 2.20167793 -0.71681381 103 | 4 104 | iter 18 105 | C -1.04371349 1.67240465 -1.44223294 106 | O -2.23535863 1.43071275 -1.26333030 107 | H -0.51845539 1.37136522 -2.33659169 108 | H -0.44368250 2.20167738 -0.71681506 109 | 4 110 | iter 19 111 | C -1.04371417 1.67240443 -1.44223302 112 | O -2.23535940 1.43071261 -1.26333015 113 | H -0.51845469 1.37136529 -2.33659194 114 | H -0.44368174 2.20167767 -0.71681489 115 | 4 116 | iter 20 117 | C -1.04371418 1.67240444 -1.44223298 118 | O -2.23535984 1.43071252 -1.26333010 119 | H -0.51845447 1.37136533 -2.33659199 120 | H -0.44368152 2.20167771 -0.71681493 121 | 4 122 | iter 21 123 | C -1.04371415 1.67240447 -1.44223295 124 | O -2.23536002 1.43071248 -1.26333007 125 | H -0.51845438 1.37136535 -2.33659198 126 | H -0.44368144 2.20167770 -0.71681500 127 | 4 128 | iter 22 129 | C -1.04371418 1.67240451 -1.44223286 130 | O -2.23536011 1.43071245 -1.26333008 131 | H -0.51845430 1.37136546 -2.33659182 132 | H -0.44368141 2.20167759 -0.71681524 133 | -------------------------------------------------------------------------------- /data/opt/co.dat: -------------------------------------------------------------------------------- 1 | # 1.000e-10 2.000e-06 1.000e-06 2.000e-05 1.000e-05 2 | # iter energy delta_e grad_max grad_rms disp_max disp_rms 3 | 1 0.004790403701 -6.205e-01 4.976e+00 2.873e+00 1.004e-02 5.795e-03 4 | 2 0.000336850557 -4.454e-03 1.319e+00 7.618e-01 7.075e-04 4.085e-04 5 | 3 0.000003768767 -3.331e-04 1.396e-01 8.057e-02 2.283e-04 1.318e-04 6 | 4 0.000000039680 -3.729e-06 1.432e-02 8.268e-03 2.423e-05 1.399e-05 7 | 5 0.000000000170 -3.951e-08 9.379e-04 5.415e-04 2.589e-06* 1.495e-06* 8 | 6 0.000000000002 -1.677e-10 1.131e-04 6.528e-05 1.596e-07* 9.215e-08* 9 | 7 0.000000000000 -2.313e-12* 2.885e-05 1.666e-05 1.630e-08* 9.408e-09* 10 | 8 0.000000000000 -1.580e-13* 3.986e-06 2.301e-06 4.812e-09* 2.778e-09* 11 | 9 0.000000000000 -3.071e-15* 1.265e-07* 7.305e-08* 7.468e-10* 4.312e-10* 12 | -------------------------------------------------------------------------------- /data/opt/co.xyz: -------------------------------------------------------------------------------- 1 | 2 2 | iter 1 3 | C 0.00000000 0.00000000 -0.01003722 4 | O 0.00000000 0.00000000 1.11603722 5 | 2 6 | iter 2 7 | C 0.00000000 0.00000000 -0.01074470 8 | O 0.00000000 0.00000000 1.11674470 9 | 2 10 | iter 3 11 | C 0.00000000 0.00000000 -0.01097300 12 | O 0.00000000 0.00000000 1.11697300 13 | 2 14 | iter 4 15 | C 0.00000000 0.00000000 -0.01099723 16 | O 0.00000000 0.00000000 1.11699723 17 | 2 18 | iter 5 19 | C 0.00000000 0.00000000 -0.01099982 20 | O 0.00000000 0.00000000 1.11699982 21 | 2 22 | iter 6 23 | C 0.00000000 0.00000000 -0.01099998 24 | O 0.00000000 0.00000000 1.11699998 25 | 2 26 | iter 7 27 | C 0.00000000 0.00000000 -0.01099999 28 | O 0.00000000 0.00000000 1.11699999 29 | 2 30 | iter 8 31 | C 0.00000000 0.00000000 -0.01100000 32 | O 0.00000000 0.00000000 1.11700000 33 | 2 34 | iter 9 35 | C 0.00000000 0.00000000 -0.01100000 36 | O 0.00000000 0.00000000 1.11700000 37 | -------------------------------------------------------------------------------- /data/opt/ethane.dat: -------------------------------------------------------------------------------- 1 | # 1.000e-06 2.000e-04 1.000e-04 2.000e-03 1.000e-03 2 | # iter energy delta_e grad_max grad_rms disp_max disp_rms 3 | 1 0.062800665287 -2.218e-01 2.729e+00 1.333e+00 6.374e-03 2.514e-03 4 | 2 0.047995973842 -1.480e-02 1.426e+00 7.175e-01 1.590e-03* 7.762e-04* 5 | 3 0.045174957227 -2.821e-03 1.929e+00 9.425e-01 7.135e-04* 4.356e-04* 6 | 4 0.016717147543 -2.846e-02 9.687e-01 6.329e-01 5.606e-03 2.879e-03 7 | 5 0.008146024590 -8.571e-03 8.777e-01 6.092e-01 4.037e-03 2.170e-03 8 | 6 0.002523485035 -5.623e-03 9.503e-01 3.769e-01 1.024e-03* 6.875e-04* 9 | 7 0.000852079975 -1.671e-03 2.480e-01 1.172e-01 6.408e-04* 4.754e-04* 10 | 8 0.000835093531 -1.699e-05 1.588e-01 1.011e-01 6.817e-05* 3.968e-05* 11 | 9 0.000761061467 -7.403e-05 1.321e-01 7.978e-02 1.483e-04* 6.843e-05* 12 | 10 0.000576504486 -1.846e-04 2.191e-01 1.021e-01 4.654e-04* 2.231e-04* 13 | 11 0.000493759293 -8.275e-05 6.097e-02 3.072e-02 1.209e-04* 6.740e-05* 14 | 12 0.000441747826 -5.201e-05 7.653e-02 3.910e-02 2.783e-04* 1.352e-04* 15 | 13 0.000419797396 -2.195e-05 6.830e-02 3.364e-02 7.262e-05* 5.478e-05* 16 | 14 0.000384810307 -3.499e-05 4.651e-02 3.478e-02 2.012e-04* 1.317e-04* 17 | 15 0.000373496333 -1.131e-05 2.821e-02 1.981e-02 6.401e-05* 3.222e-05* 18 | 16 0.000371201485 -2.295e-06 8.220e-02 3.080e-02 4.225e-05* 2.150e-05* 19 | 17 0.000356051224 -1.515e-05 5.513e-02 2.149e-02 7.482e-05* 4.736e-05* 20 | 18 0.000347463811 -8.587e-06 1.015e-01 4.127e-02 1.105e-04* 6.390e-05* 21 | 19 0.000329709000 -1.775e-05 3.630e-02 1.641e-02 5.386e-05* 3.779e-05* 22 | 20 0.000324949797 -4.759e-06 6.194e-02 2.923e-02 4.630e-05* 2.948e-05* 23 | 21 0.000307197584 -1.775e-05 3.126e-02 1.874e-02 1.119e-04* 5.860e-05* 24 | 22 0.000296392102 -1.081e-05 7.846e-02 4.239e-02 1.785e-04* 9.116e-05* 25 | 23 0.000277751260 -1.864e-05 3.145e-02 1.669e-02 6.871e-05* 4.273e-05* 26 | 24 0.000268219430 -9.532e-06 8.175e-02 2.982e-02 9.739e-05* 5.321e-05* 27 | 25 0.000258221593 -9.998e-06 2.224e-02 1.246e-02 4.512e-05* 3.283e-05* 28 | 26 0.000257290971 -9.306e-07* 4.806e-02 2.084e-02 2.187e-05* 1.440e-05* 29 | 27 0.000226526505 -3.076e-05 5.391e-02 3.988e-02 3.153e-04* 1.868e-04* 30 | 28 0.000209289459 -1.724e-05 1.790e-02 1.135e-02 8.528e-05* 4.940e-05* 31 | 29 0.000208871324 -4.181e-07* 3.571e-02 1.566e-02 1.214e-05* 6.876e-06* 32 | 30 0.000204861732 -4.010e-06 9.319e-02 3.025e-02 9.046e-05* 4.915e-05* 33 | 31 0.000195367644 -9.494e-06 2.744e-02 1.068e-02 5.242e-05* 3.276e-05* 34 | 32 0.000195018404 -3.492e-07* 3.739e-02 1.493e-02 1.120e-05* 6.884e-06* 35 | 33 0.000185051664 -9.967e-06 4.017e-02 2.759e-02 1.570e-04* 9.648e-05* 36 | 34 0.000176294618 -8.757e-06 2.389e-02 1.105e-02 5.718e-05* 3.240e-05* 37 | 35 0.000175690504 -6.041e-07* 3.796e-02 1.523e-02 1.768e-05* 1.036e-05* 38 | 36 0.000171641592 -4.049e-06 4.025e-02 1.306e-02 5.768e-05* 3.189e-05* 39 | 37 0.000167095928 -4.546e-06 3.424e-02 1.958e-02 8.334e-05* 4.916e-05* 40 | 38 0.000160526013 -6.570e-06 1.893e-02 9.832e-03 5.736e-05* 3.985e-05* 41 | 39 0.000159536951 -9.891e-07* 4.471e-02 1.719e-02 3.507e-05* 2.341e-05* 42 | 40 0.000153239781 -6.297e-06 2.978e-02 1.652e-02 1.010e-04* 5.673e-05* 43 | 41 0.000146611930 -6.628e-06 3.369e-02 1.851e-02 1.467e-04* 8.275e-05* 44 | 42 0.000139567281 -7.045e-06 6.626e-02 1.880e-02 1.576e-04* 9.218e-05* 45 | 43 0.000133828508 -5.739e-06 3.674e-02 1.478e-02 1.244e-04* 7.691e-05* 46 | 44 0.000130802698 -3.026e-06 1.772e-02 9.995e-03 7.575e-05* 4.610e-05* 47 | 45 0.000129604291 -1.198e-06 1.212e-02 8.240e-03 4.348e-05* 2.447e-05* 48 | 46 0.000128708802 -8.955e-07* 1.407e-02 8.596e-03 3.960e-05* 2.185e-05* 49 | 47 0.000127949895 -7.589e-07* 7.445e-03 3.089e-03 2.028e-05* 1.144e-05* 50 | 48 0.000127853193 -9.670e-08* 1.511e-02 4.602e-03 9.350e-06* 5.231e-06* 51 | 49 0.000127351286 -5.019e-07* 5.612e-03 4.110e-03 2.441e-05* 1.481e-05* 52 | 50 0.000127054546 -2.967e-07* 5.796e-03 4.006e-03 1.688e-05* 1.040e-05* 53 | 51 0.000126593779 -4.608e-07* 2.128e-02 7.016e-03 4.340e-05* 2.508e-05* 54 | 52 0.000126113518 -4.803e-07* 5.890e-03 2.003e-03 1.459e-05* 8.628e-06* 55 | 53 0.000126083376 -3.014e-08* 6.879e-03 2.857e-03 4.270e-06* 2.577e-06* 56 | 54 0.000125967172 -1.162e-07* 5.204e-03 3.670e-03 1.247e-05* 7.539e-06* 57 | 55 0.000125789092 -1.781e-07* 3.940e-03 2.107e-03 9.471e-06* 5.957e-06* 58 | 56 0.000125748910 -4.018e-08* 8.173e-03 3.188e-03 6.806e-06* 4.211e-06* 59 | 57 0.000125611473 -1.374e-07* 5.428e-03 1.940e-03 9.062e-06* 5.170e-06* 60 | 58 0.000125553849 -5.762e-08* 3.790e-03 2.399e-03 7.096e-06* 4.067e-06* 61 | 59 0.000125471673 -8.218e-08* 2.748e-03 1.771e-03 6.824e-06* 4.057e-06* 62 | 60 0.000125417573 -5.410e-08* 8.311e-03 2.978e-03 9.071e-06* 5.437e-06* 63 | 61 0.000125324438 -9.313e-08* 2.052e-03 1.038e-03 5.160e-06* 3.251e-06* 64 | 62 0.000125303421 -2.102e-08* 3.189e-03 1.549e-03 3.285e-06* 1.974e-06* 65 | 63 0.000125244351 -5.907e-08* 3.533e-03 1.962e-03 9.046e-06* 4.990e-06* 66 | 64 0.000125122500 -1.219e-07* 4.647e-03 2.293e-03 1.680e-05* 1.013e-05* 67 | 65 0.000124956732 -1.658e-07* 2.577e-03 2.135e-03 2.391e-05* 1.416e-05* 68 | 66 0.000124837720 -1.190e-07* 2.808e-03 2.421e-03 2.639e-05* 1.547e-05* 69 | 67 0.000124733082 -1.046e-07* 4.501e-03 1.553e-03 2.525e-05* 1.464e-05* 70 | 68 0.000124717330 -1.575e-08* 3.794e-03 1.922e-03 1.270e-05* 7.294e-06* 71 | 69 0.000124681785 -3.554e-08* 1.767e-03 6.346e-04 7.805e-06* 4.720e-06* 72 | 70 0.000124679073 -2.712e-09* 9.303e-04 5.376e-04 1.673e-06* 9.898e-07* 73 | 71 0.000124676552 -2.521e-09* 3.045e-04 2.215e-04 7.506e-07* 4.916e-07* 74 | 72 0.000124676264 -2.878e-10* 5.350e-04 2.349e-04 2.492e-07* 1.766e-07* 75 | 73 0.000124675727 -5.376e-10* 2.891e-04 1.364e-04 3.776e-07* 2.123e-07* 76 | 74 0.000124675536 -1.909e-10* 4.880e-04 1.883e-04 2.914e-07* 1.687e-07* 77 | 75 0.000124675034 -5.019e-10* 2.520e-04 1.093e-04 4.922e-07* 2.414e-07* 78 | 76 0.000124674874 -1.594e-10* 3.422e-04 1.893e-04 3.573e-07* 1.995e-07* 79 | 77 0.000124674294 -5.803e-10* 2.820e-04 1.086e-04 5.474e-07* 3.117e-07* 80 | 78 0.000124674189 -1.049e-10* 5.490e-04 1.994e-04 3.861e-07* 2.102e-07* 81 | 79 0.000124673497 -6.927e-10* 1.475e-04* 1.259e-04 6.988e-07* 4.285e-07* 82 | 80 0.000124673319 -1.776e-10* 2.377e-04 2.349e-04 6.025e-07* 3.416e-07* 83 | 81 0.000124672575 -7.443e-10* 1.606e-04* 9.600e-05* 6.493e-07* 3.688e-07* 84 | -------------------------------------------------------------------------------- /data/opt/h2o.dat: -------------------------------------------------------------------------------- 1 | # 1.000e-08 2.000e-05 1.000e-05 2.000e-04 1.000e-04 2 | # iter energy delta_e grad_max grad_rms disp_max disp_rms 3 | 1 0.019108264128 -9.088e-01 4.479e+00 2.565e+00 3.039e-02 1.630e-02 4 | 2 0.004443206171 -1.467e-02 1.088e+00 7.919e-01 1.532e-03 1.118e-03 5 | 3 0.003496984615 -9.462e-04 1.421e+00 8.246e-01 4.145e-04 3.203e-04 6 | 4 0.000235094240 -3.262e-03 6.033e-01 3.019e-01 1.609e-03 8.643e-04 7 | 5 0.000044142349 -1.910e-04 2.319e-01 1.407e-01 4.016e-04 2.232e-04 8 | 6 0.000041196724 -2.946e-06 1.875e-01 1.260e-01 3.655e-05* 2.114e-05* 9 | 7 0.000024036450 -1.716e-05 9.896e-02 6.905e-02 3.817e-05* 3.583e-05* 10 | 8 0.000019726195 -4.310e-06 9.865e-02 5.274e-02 2.702e-05* 1.900e-05* 11 | 9 0.000000268241 -1.946e-05 1.295e-02 1.100e-02 1.136e-04* 7.946e-05* 12 | 10 0.000000020449 -2.478e-07 2.979e-03 1.979e-03 8.749e-06* 4.380e-06* 13 | 11 0.000000015648 -4.801e-09* 2.777e-03 1.496e-03 9.121e-07* 4.559e-07* 14 | 12 0.000000013561 -2.087e-09* 2.496e-03 1.485e-03 8.530e-07* 4.317e-07* 15 | 13 0.000000004085 -9.476e-09* 1.733e-03 1.217e-03 1.567e-06* 1.378e-06* 16 | 14 0.000000000797 -3.288e-09* 5.999e-04 3.654e-04 8.659e-07* 4.815e-07* 17 | 15 0.000000000532 -2.656e-10* 5.020e-04 2.908e-04 2.814e-07* 1.534e-07* 18 | 16 0.000000000385 -1.464e-10* 4.063e-04 3.334e-04 2.786e-07* 1.548e-07* 19 | 17 0.000000000011 -3.746e-10* 6.280e-05 4.844e-05 4.254e-07* 2.685e-07* 20 | 18 0.000000000010 -1.092e-13* 6.181e-05 4.880e-05 1.406e-09* 9.222e-10* 21 | 19 0.000000000002 -8.180e-12* 3.111e-05 2.136e-05 6.454e-08* 3.474e-08* 22 | 20 0.000000000001 -8.097e-13* 2.376e-05 2.337e-05 2.114e-08* 1.281e-08* 23 | 21 0.000000000000 -1.391e-12* 4.823e-06* 2.595e-06* 2.428e-08* 1.314e-08* 24 | -------------------------------------------------------------------------------- /data/opt/h2o.xyz: -------------------------------------------------------------------------------- 1 | 3 2 | iter 1 3 | O 0.52850389 0.64096679 0.00048435 4 | H 1.48890352 0.68081251 -0.00082912 5 | H 0.24596259 1.55923070 -0.02978522 6 | 3 7 | iter 2 8 | O 0.52958810 0.64249843 0.00043386 9 | H 1.48695108 0.68104319 -0.00083673 10 | H 0.24683083 1.55746838 -0.02972713 11 | 3 12 | iter 3 13 | O 0.52977257 0.64275901 0.00042527 14 | H 1.48635211 0.68127097 -0.00084424 15 | H 0.24724531 1.55698002 -0.02971103 16 | 3 17 | iter 4 18 | O 0.52919807 0.64194722 0.00045203 19 | H 1.48531800 0.68261077 -0.00088840 20 | H 0.24885393 1.55645200 -0.02969362 21 | 3 22 | iter 5 23 | O 0.52900300 0.64167155 0.00046111 24 | H 1.48511149 0.68296350 -0.00090003 25 | H 0.24925551 1.55637495 -0.02969108 26 | 3 27 | iter 6 28 | O 0.52898198 0.64164185 0.00046209 29 | H 1.48509595 0.68299676 -0.00090113 30 | H 0.24929206 1.55637140 -0.02969097 31 | 3 32 | iter 7 33 | O 0.52893140 0.64157033 0.00046445 34 | H 1.48511782 0.68303493 -0.00090238 35 | H 0.24932078 1.55640474 -0.02969207 36 | 3 37 | iter 8 38 | O 0.52890705 0.64153588 0.00046559 39 | H 1.48514386 0.68304235 -0.00090263 40 | H 0.24931909 1.55643177 -0.02969296 41 | 3 42 | iter 9 43 | O 0.52894169 0.64158479 0.00046397 44 | H 1.48525746 0.68292535 -0.00089877 45 | H 0.24917085 1.55649985 -0.02969520 46 | 3 47 | iter 10 48 | O 0.52894785 0.64159354 0.00046369 49 | H 1.48525387 0.68292135 -0.00089864 50 | H 0.24916828 1.55649511 -0.02969504 51 | 3 52 | iter 11 53 | O 0.52894850 0.64159445 0.00046366 54 | H 1.48525352 0.68292091 -0.00089863 55 | H 0.24916798 1.55649463 -0.02969503 56 | 3 57 | iter 12 58 | O 0.52894910 0.64159531 0.00046363 59 | H 1.48525334 0.68292040 -0.00089861 60 | H 0.24916756 1.55649429 -0.02969502 61 | 3 62 | iter 13 63 | O 0.52895008 0.64159669 0.00046358 64 | H 1.48525490 0.68291825 -0.00089854 65 | H 0.24916501 1.55649505 -0.02969504 66 | 3 67 | iter 14 68 | O 0.52894966 0.64159610 0.00046360 69 | H 1.48525577 0.68291809 -0.00089853 70 | H 0.24916457 1.55649581 -0.02969507 71 | 3 72 | iter 15 73 | O 0.52894954 0.64159593 0.00046361 74 | H 1.48525605 0.68291801 -0.00089853 75 | H 0.24916440 1.55649606 -0.02969508 76 | 3 77 | iter 16 78 | O 0.52894952 0.64159590 0.00046361 79 | H 1.48525633 0.68291784 -0.00089852 80 | H 0.24916415 1.55649626 -0.02969508 81 | 3 82 | iter 17 83 | O 0.52894982 0.64159632 0.00046359 84 | H 1.48525646 0.68291743 -0.00089851 85 | H 0.24916372 1.55649625 -0.02969508 86 | 3 87 | iter 18 88 | O 0.52894982 0.64159632 0.00046359 89 | H 1.48525646 0.68291743 -0.00089851 90 | H 0.24916371 1.55649625 -0.02969508 91 | 3 92 | iter 19 93 | O 0.52894981 0.64159630 0.00046359 94 | H 1.48525653 0.68291740 -0.00089851 95 | H 0.24916366 1.55649630 -0.02969508 96 | 3 97 | iter 20 98 | O 0.52894981 0.64159631 0.00046359 99 | H 1.48525655 0.68291738 -0.00089851 100 | H 0.24916364 1.55649631 -0.02969508 101 | 3 102 | iter 21 103 | O 0.52894983 0.64159633 0.00046359 104 | H 1.48525655 0.68291736 -0.00089851 105 | H 0.24916362 1.55649631 -0.02969508 106 | -------------------------------------------------------------------------------- /data/opt/he2.dat: -------------------------------------------------------------------------------- 1 | # 1.000e-10 2.000e-06 1.000e-06 2.000e-05 1.000e-05 2 | # iter energy delta_e grad_max grad_rms disp_max disp_rms 3 | 1 -0.008445925859 -6.646e-03 1.116e-02 6.443e-03 4.661e-01 2.691e-01 4 | 2 -0.009962514432 -1.517e-03 2.889e-03 1.668e-03 9.040e-02 5.219e-02 5 | 3 -0.009997599199 -3.508e-05 7.730e-04 4.463e-04 9.424e-03 5.441e-03 6 | 4 -0.009999949202 -2.350e-06 1.142e-04 6.594e-05 2.633e-03 1.520e-03 7 | 5 -0.009999998382 -4.918e-08 2.043e-05 1.179e-05 3.650e-04 2.107e-04 8 | 6 -0.009999999969 -1.587e-09 2.838e-06 1.638e-06 6.820e-05 3.938e-05 9 | 7 -0.009999999999 -3.005e-11* 5.437e-07* 3.139e-07* 8.888e-06* 5.132e-06* 10 | -------------------------------------------------------------------------------- /data/opt/he2.xyz: -------------------------------------------------------------------------------- 1 | 2 2 | iter 1 3 | He 0.00000000 0.00000000 0.46610224 4 | He 0.00000000 0.00000000 3.03389776 5 | 2 6 | iter 2 7 | He 0.00000000 0.00000000 0.55649838 8 | He 0.00000000 0.00000000 2.94350162 9 | 2 10 | iter 3 11 | He 0.00000000 0.00000000 0.56592228 12 | He 0.00000000 0.00000000 2.93407772 13 | 2 14 | iter 4 15 | He 0.00000000 0.00000000 0.56855578 16 | He 0.00000000 0.00000000 2.93144422 17 | 2 18 | iter 5 19 | He 0.00000000 0.00000000 0.56892080 20 | He 0.00000000 0.00000000 2.93107920 21 | 2 22 | iter 6 23 | He 0.00000000 0.00000000 0.56898901 24 | He 0.00000000 0.00000000 2.93101099 25 | 2 26 | iter 7 27 | He 0.00000000 0.00000000 0.56899789 28 | He 0.00000000 0.00000000 2.93100211 29 | -------------------------------------------------------------------------------- /data/opt/hf.dat: -------------------------------------------------------------------------------- 1 | # 1.000e-10 2.000e-06 1.000e-06 2.000e-05 1.000e-05 2 | # iter energy delta_e grad_max grad_rms disp_max disp_rms 3 | 1 0.155296348133 -4.487e+00 2.046e+01 1.181e+01 3.391e-02 1.958e-02 4 | 2 0.008462664842 -1.468e-01 4.776e+00 2.758e+00 5.818e-03 3.359e-03 5 | 3 0.000335933183 -8.127e-03 9.516e-01 5.494e-01 1.419e-03 8.192e-04 6 | 4 0.000020789729 -3.151e-04 2.367e-01 1.367e-01 2.652e-04 1.531e-04 7 | 5 0.000000153085 -2.064e-05 2.031e-02 1.173e-02 8.028e-05 4.635e-05 8 | 6 0.000000010653 -1.424e-07 5.359e-03 3.094e-03 5.548e-06* 3.203e-06* 9 | 7 0.000000000115 -1.054e-08 5.578e-04 3.221e-04 1.781e-06* 1.028e-06* 10 | 8 0.000000000009 -1.065e-10 1.554e-04 8.970e-05 1.493e-07* 8.620e-08* 11 | 9 0.000000000000 -8.918e-12* 9.903e-06 5.717e-06 5.396e-08* 3.115e-08* 12 | 10 0.000000000000 -3.586e-14* 1.177e-06* 6.798e-07* 3.237e-09* 1.869e-09* 13 | -------------------------------------------------------------------------------- /data/opt/hf.xyz: -------------------------------------------------------------------------------- 1 | 2 2 | iter 1 3 | H 0.00000000 0.00000000 0.03390981 4 | F 0.00000000 0.00000000 0.96609019 5 | 2 6 | iter 2 7 | H 0.00000000 0.00000000 0.03972815 8 | F 0.00000000 0.00000000 0.96027185 9 | 2 10 | iter 3 11 | H 0.00000000 0.00000000 0.04114698 12 | F 0.00000000 0.00000000 0.95885302 13 | 2 14 | iter 4 15 | H 0.00000000 0.00000000 0.04141218 16 | F 0.00000000 0.00000000 0.95858782 17 | 2 18 | iter 5 19 | H 0.00000000 0.00000000 0.04149246 20 | F 0.00000000 0.00000000 0.95850754 21 | 2 22 | iter 6 23 | H 0.00000000 0.00000000 0.04149801 24 | F 0.00000000 0.00000000 0.95850199 25 | 2 26 | iter 7 27 | H 0.00000000 0.00000000 0.04149979 28 | F 0.00000000 0.00000000 0.95850021 29 | 2 30 | iter 8 31 | H 0.00000000 0.00000000 0.04149994 32 | F 0.00000000 0.00000000 0.95850006 33 | 2 34 | iter 9 35 | H 0.00000000 0.00000000 0.04150000 36 | F 0.00000000 0.00000000 0.95850000 37 | 2 38 | iter 10 39 | H 0.00000000 0.00000000 0.04150000 40 | F 0.00000000 0.00000000 0.95850000 41 | -------------------------------------------------------------------------------- /data/opt/lif.dat: -------------------------------------------------------------------------------- 1 | # 1.000e-06 2.000e-04 1.000e-04 2.000e-03 1.000e-03 2 | # iter energy delta_e grad_max grad_rms disp_max disp_rms 3 | 1 -168.498261664407 -8.547e+01 6.553e+01 3.783e+01 1.034e+00 5.971e-01 4 | 2 -177.597691755212 -9.099e+00 1.767e+01 1.020e+01 9.288e-02 5.363e-02 5 | 3 -177.845037829361 -2.473e-01 1.957e+00 1.130e+00 1.223e-02 7.060e-03 6 | 4 -177.847582770455 -2.545e-03 3.716e-01 2.145e-01 1.091e-03* 6.296e-04* 7 | 5 -177.847674725967 -9.196e-05 5.326e-02 3.075e-02 2.163e-04* 1.249e-04* 8 | 6 -177.847676576716 -1.851e-06 1.036e-02 5.980e-03 2.909e-05* 1.680e-05* 9 | 7 -177.847676647612 -7.090e-08* 1.639e-03 9.463e-04 5.910e-06* 3.412e-06* 10 | 8 -177.847676649352 -1.741e-09* 3.446e-04 1.990e-04 8.774e-07* 5.066e-07* 11 | 9 -177.847676649430 -7.805e-11* 6.032e-05* 3.483e-05* 1.927e-07* 1.113e-07* 12 | -------------------------------------------------------------------------------- /data/opt/lif.xyz: -------------------------------------------------------------------------------- 1 | 2 2 | iter 1 3 | Li 0.00000000 0.00000000 1.03415428 4 | F 0.00000000 0.00000000 2.96584572 5 | 2 6 | iter 2 7 | Li 0.00000000 0.00000000 1.12703803 8 | F 0.00000000 0.00000000 2.87296197 9 | 2 10 | iter 3 11 | Li 0.00000000 0.00000000 1.13926592 12 | F 0.00000000 0.00000000 2.86073408 13 | 2 14 | iter 4 15 | Li 0.00000000 0.00000000 1.14035648 16 | F 0.00000000 0.00000000 2.85964352 17 | 2 18 | iter 5 19 | Li 0.00000000 0.00000000 1.14057283 20 | F 0.00000000 0.00000000 2.85942717 21 | 2 22 | iter 6 23 | Li 0.00000000 0.00000000 1.14060192 24 | F 0.00000000 0.00000000 2.85939808 25 | 2 26 | iter 7 27 | Li 0.00000000 0.00000000 1.14060783 28 | F 0.00000000 0.00000000 2.85939217 29 | 2 30 | iter 8 31 | Li 0.00000000 0.00000000 1.14060871 32 | F 0.00000000 0.00000000 2.85939129 33 | 2 34 | iter 9 35 | Li 0.00000000 0.00000000 1.14060890 36 | F 0.00000000 0.00000000 2.85939110 37 | -------------------------------------------------------------------------------- /geom/prm/ch2o.prm: -------------------------------------------------------------------------------- 1 | ATOM 1 C1 -1.04832 1.67147 -1.44129 0.6 1.9080 0.0860 2 | ATOM 2 O1 -2.23526 1.43088 -1.26313 -0.8 1.6612 0.2100 3 | ATOM 3 H1 -0.51674 1.36232 -2.35573 0.1 1.2870 0.0157 4 | ATOM 4 H1 -0.44089 2.21149 -0.69882 0.1 1.2870 0.0157 1.2870 0.0157 5 | BOND 1 2 570.0 1.229 6 | BOND 1 3 367.0 1.080 7 | BOND 1 4 367.0 1.080 8 | ANGLE 2 1 3 80.0 122.5 9 | ANGLE 2 1 4 80.0 122.5 10 | ANGLE 3 1 4 35.0 115.0 11 | OUTOFPLANE 3 4 1 2 10.5 12 | -------------------------------------------------------------------------------- /geom/prm/co.prm: -------------------------------------------------------------------------------- 1 | ATOM 1 C1 0.0 0.0 0.000 0.0 0.0 0.0 2 | ATOM 2 O1 0.0 0.0 1.106 0.0 0.0 0.0 3 | BOND 1 2 1292.0 1.128 4 | -------------------------------------------------------------------------------- /geom/prm/ethane.prm: -------------------------------------------------------------------------------- 1 | ATOM 1 CT -5.71541 2.89779 0.25425 -0.6300 1.9080 0.1094 2 | ATOM 2 CT -4.54507 2.25963 -0.45869 -0.6300 1.9080 0.1094 3 | ATOM 3 HC -5.36758 3.65957 0.95826 0.2100 1.4870 0.0157 4 | ATOM 4 HC -6.28153 2.14639 0.81236 0.2100 1.4870 0.0157 5 | ATOM 5 HC -6.38951 3.37429 -0.46369 0.2100 1.4870 0.0157 6 | ATOM 6 HC -3.87563 1.77621 0.25903 0.2100 1.4870 0.0157 7 | ATOM 7 HC -3.97429 3.01236 -1.01033 0.2100 1.4870 0.0157 8 | ATOM 8 HC -4.89281 1.50380 -1.16889 0.2100 1.4870 0.0157 9 | BOND 1 2 310.0 1.526 10 | BOND 1 3 340.0 1.090 11 | BOND 1 4 340.0 1.090 12 | BOND 1 5 340.0 1.090 13 | BOND 2 6 340.0 1.090 14 | BOND 2 7 340.0 1.090 15 | BOND 2 8 340.0 1.090 16 | ANGLE 1 2 6 50.0 109.5 17 | ANGLE 1 2 7 50.0 109.5 18 | ANGLE 1 2 8 50.0 109.5 19 | ANGLE 2 1 3 50.0 109.5 20 | ANGLE 2 1 4 50.0 109.5 21 | ANGLE 2 1 5 50.0 109.5 22 | ANGLE 3 1 4 35.0 109.5 23 | ANGLE 3 1 5 35.0 109.5 24 | ANGLE 4 1 5 35.0 109.5 25 | ANGLE 6 2 7 35.0 109.5 26 | ANGLE 6 2 8 35.0 109.5 27 | ANGLE 7 2 8 35.0 109.5 28 | TORSION 3 1 2 6 1.40 0.0 3 9 29 | TORSION 3 1 2 7 1.40 0.0 3 9 30 | TORSION 3 1 2 8 1.40 0.0 3 9 31 | TORSION 4 1 2 6 1.40 0.0 3 9 32 | TORSION 4 1 2 7 1.40 0.0 3 9 33 | TORSION 4 1 2 8 1.40 0.0 3 9 34 | TORSION 5 1 2 6 1.40 0.0 3 9 35 | TORSION 5 1 2 7 1.40 0.0 3 9 36 | TORSION 5 1 2 8 1.40 0.0 3 9 37 | -------------------------------------------------------------------------------- /geom/prm/h2o.prm: -------------------------------------------------------------------------------- 1 | ATOM 1 OW 0.53890 0.65566 0.00000 -0.8140 1.7683 0.1520 2 | ATOM 2 HW 1.50890 0.65566 0.00000 0.4070 0.0001 0.0000 3 | ATOM 3 HW 0.21557 1.56969 -0.03013 0.4070 0.0001 0.0000 4 | BOND 1 2 553.0 0.9572 5 | BOND 1 3 553.0 0.9572 6 | ANGLE 2 1 3 100.0 104.52 7 | -------------------------------------------------------------------------------- /geom/prm/he2.prm: -------------------------------------------------------------------------------- 1 | ATOM 1 He 0.0 0.0 0.0 0.0 1.181 0.010 2 | ATOM 2 He 0.0 0.0 3.5 0.0 1.181 0.010 3 | -------------------------------------------------------------------------------- /geom/prm/he20.prm: -------------------------------------------------------------------------------- 1 | ATOM 1 He 0.37560 -1.86769 -2.88851 0.0 1.181 0.100 2 | ATOM 2 He 2.61018 1.24796 1.20273 0.0 1.181 0.100 3 | ATOM 3 He -2.34480 -2.93213 5.31225 0.0 1.181 0.100 4 | ATOM 4 He -1.47075 -0.79092 1.54482 0.0 1.181 0.100 5 | ATOM 5 He -3.71383 2.83545 5.36932 0.0 1.181 0.100 6 | ATOM 6 He -3.64286 4.57581 1.48209 0.0 1.181 0.100 7 | ATOM 7 He 1.07388 2.11358 -2.94458 0.0 1.181 0.100 8 | ATOM 8 He 3.56706 3.25235 5.44662 0.0 1.181 0.100 9 | ATOM 9 He -5.64871 -1.92865 4.14791 0.0 1.181 0.100 10 | ATOM 10 He 1.86229 0.59220 3.77395 0.0 1.181 0.100 11 | ATOM 11 He 3.98723 -0.02428 3.51956 0.0 1.181 0.100 12 | ATOM 12 He -5.00929 3.43927 -2.52445 0.0 1.181 0.100 13 | ATOM 13 He -2.62364 -0.57568 -0.28885 0.0 1.181 0.100 14 | ATOM 14 He -0.38045 6.33132 3.74192 0.0 1.181 0.100 15 | ATOM 15 He -0.81318 1.83099 4.36181 0.0 1.181 0.100 16 | ATOM 16 He 1.68799 5.28439 1.08608 0.0 1.181 0.100 17 | ATOM 17 He 0.56088 -0.61421 5.58995 0.0 1.181 0.100 18 | ATOM 18 He -2.14933 1.68471 0.08236 0.0 1.181 0.100 19 | ATOM 19 He 0.33495 6.16478 0.26743 0.0 1.181 0.100 20 | ATOM 20 He -2.71530 -3.39868 0.47702 0.0 1.181 0.100 21 | -------------------------------------------------------------------------------- /geom/prm/hf.prm: -------------------------------------------------------------------------------- 1 | ATOM 1 H1 0.0 0.0 0.0 0.0 0.0 0.0 2 | ATOM 2 F1 0.0 0.0 1.0 0.0 0.0 0.0 3 | BOND 1 2 673.9 0.917 4 | -------------------------------------------------------------------------------- /geom/prm/lif.prm: -------------------------------------------------------------------------------- 1 | ATOM 1 Li 0.0 0.0 0.0 +1.0 1.1370 0.0183 2 | ATOM 2 F 0.0 0.0 4.0 -1.0 1.7500 0.0610 -------------------------------------------------------------------------------- /geom/xyz/12difluoroethane.xyz: -------------------------------------------------------------------------------- 1 | 8 2 | 1,2-difluoroethane 3 | C -0.53371 -1.06276 0.15236 4 | C 0.31565 -2.23618 0.57952 5 | F 0.26319 0.01605 -0.06750 6 | F -0.48124 -3.31500 0.79938 7 | H -1.07815 -1.28639 -0.76950 8 | H -1.26375 -0.80403 0.92460 9 | H 1.04570 -2.49491 -0.19271 10 | H 0.86009 -2.01256 1.50139 11 | -------------------------------------------------------------------------------- /geom/xyz/135trifluorobenzene.xyz: -------------------------------------------------------------------------------- 1 | 12 2 | 1,3,5-trichlorobenzene 3 | C -0.90597 -0.03482 0.67098 4 | C 0.37101 0.47596 0.47193 5 | C 1.10981 0.14438 -0.65742 6 | C 0.55056 -0.71386 -1.59651 7 | C -0.72434 -1.23846 -1.42149 8 | C -1.44208 -0.89100 -0.28336 9 | F -2.67165 -1.38988 -0.10313 10 | H -1.47399 0.22999 1.55524 11 | F 0.89878 1.30201 1.38423 12 | H 2.10499 0.54815 -0.80330 13 | F 1.25236 -1.04104 -2.68904 14 | H -1.15150 -1.90705 -2.15988 -------------------------------------------------------------------------------- /geom/xyz/acetaldehyde.xyz: -------------------------------------------------------------------------------- 1 | 7 2 | acetaldehyde 3 | C -0.43285 -1.28200 0.22678 4 | C 0.43736 -0.09264 -0.03945 5 | H -0.97342 -1.54108 -0.68650 6 | H -1.14838 -1.05298 1.02033 7 | H 0.19417 -2.12217 0.53401 8 | O 0.33399 0.96955 0.56509 9 | H 1.19661 -0.22474 -0.82864 -------------------------------------------------------------------------------- /geom/xyz/aceticacid.xyz: -------------------------------------------------------------------------------- 1 | 8 2 | acetic acid 3 | C -0.20287 -0.62150 -0.25199 4 | C 0.56645 -1.69154 -0.95359 5 | H -0.64727 -1.02746 0.65935 6 | H -0.98374 -0.22612 -0.90767 7 | H 0.47134 0.20208 -0.00046 8 | O 1.75799 -1.91958 -0.83570 9 | O -0.21159 -2.46257 -1.73473 10 | H 0.40681 -3.12802 -2.10265 -------------------------------------------------------------------------------- /geom/xyz/acetone.xyz: -------------------------------------------------------------------------------- 1 | 10 2 | acetone 3 | C -1.14688 1.65133 -1.42692 4 | O -2.33948 1.40907 -1.24785 5 | C -0.43410 1.22306 -2.68106 6 | C -0.32914 2.39049 -0.40258 7 | H -1.13128 0.69945 -3.34103 8 | H 0.38488 0.54677 -2.42411 9 | H -0.04795 2.10291 -3.20150 10 | H -0.95635 2.64508 0.45624 11 | H 0.06079 3.31235 -0.84104 12 | H 0.49362 1.75621 -0.06365 -------------------------------------------------------------------------------- /geom/xyz/acetonitrile.xyz: -------------------------------------------------------------------------------- 1 | 6 2 | acetonitrile 3 | C 0.08994 -1.13042 -0.32545 4 | C -0.00131 -2.53251 -0.72921 5 | H -0.69186 -0.88277 0.39870 6 | H -0.02500 -0.46889 -1.18922 7 | H 1.05946 -0.92116 0.13625 8 | N -0.07372 -3.64527 -1.04965 -------------------------------------------------------------------------------- /geom/xyz/adamantane.xyz: -------------------------------------------------------------------------------- 1 | 26 2 | adamantane 3 | C -1.42471 0.50032 0.58674 4 | C -0.06560 -0.13250 0.23971 5 | C 0.92300 0.97882 -0.15491 6 | C 0.38818 1.75429 -1.37175 7 | C -0.97351 2.37641 -1.01558 8 | C -1.97291 1.27306 -0.62587 9 | H -1.35948 2.94652 -1.86956 10 | H -0.85600 3.08496 -0.18648 11 | H -1.31492 1.17676 1.44327 12 | H -2.13542 -0.27982 0.88598 13 | C -2.14130 0.30328 -1.80876 14 | H 1.90197 0.54306 -0.38945 15 | C -0.24479 -1.09432 -0.94809 16 | C 0.20641 0.78178 -2.55041 17 | H 1.07296 1.66345 0.68892 18 | H 0.31995 -0.68117 1.10615 19 | H 1.09558 2.54391 -1.64831 20 | H -2.94022 1.72134 -0.37338 21 | C -0.78627 -0.33066 -2.16944 22 | H 1.17311 0.34265 -2.82594 23 | H -0.15937 1.32460 -3.43065 24 | H -0.93531 -1.90174 -0.67511 25 | H 0.71419 -1.56555 -1.19620 26 | H -0.91190 -1.01989 -3.01181 27 | H -2.54726 0.83791 -2.67631 28 | H -2.86427 -0.48023 -1.55051 -------------------------------------------------------------------------------- /geom/xyz/adenine.xyz: -------------------------------------------------------------------------------- 1 | 15 2 | adenine 3 | N 0.24647 -0.97084 -0.36999 4 | C 1.57567 -0.72509 -0.41182 5 | N 2.57509 -1.56731 -0.74834 6 | C 2.08440 -2.77392 -1.06412 7 | C 0.76004 -3.17502 -1.07364 8 | C -0.19043 -2.20412 -0.71677 9 | N -1.55725 -2.45194 -0.68088 10 | H 1.87648 0.28195 -0.13641 11 | N 0.65688 -4.50448 -1.43599 12 | C 1.89679 -4.88923 -1.65685 13 | N 2.79244 -3.87555 -1.44649 14 | H -1.78250 -3.43736 -0.60226 15 | H -2.04160 -1.80849 -0.06933 16 | H 2.20658 -5.87861 -1.96766 17 | H 3.79505 -3.91779 -1.54833 -------------------------------------------------------------------------------- /geom/xyz/benzene.xyz: -------------------------------------------------------------------------------- 1 | 12 2 | benzene 3 | C -0.26857 -0.46167 -1.43123 4 | C 0.01308 0.05391 -0.16616 5 | C -0.24001 -0.71245 0.97146 6 | C -0.77474 -1.99439 0.84402 7 | C -1.05638 -2.50997 -0.42104 8 | C -0.80330 -1.74361 -1.55867 9 | H -1.02274 -2.14531 -2.54430 10 | H -0.07139 0.13541 -2.31756 11 | H 0.42969 1.05268 -0.06687 12 | H -0.02057 -0.31075 1.95710 13 | H -0.97192 -2.59147 1.73036 14 | H -1.47300 -3.50874 -0.52034 15 | -------------------------------------------------------------------------------- /geom/xyz/c60.xyz: -------------------------------------------------------------------------------- 1 | 60 2 | buckminsterfullerene 3 | C 2.16650 0.59060 2.58740 4 | C 3.03780 0.17660 1.59180 5 | C 1.27860 -0.30980 3.16790 6 | C 3.01180 -1.14340 1.16540 7 | C 3.10340 -1.43350 -0.19300 8 | C 3.15030 1.21060 0.66820 9 | C 3.24280 0.91490 -0.68590 10 | C 3.21920 -0.40230 -1.12070 11 | C -0.43930 1.35270 3.12710 12 | C 0.43630 2.26180 2.55420 13 | C -0.02960 0.06330 3.43790 14 | C 1.74420 1.87900 2.28300 15 | C 2.35190 2.26760 1.09900 16 | C -0.26330 3.02680 1.63260 17 | C 0.33740 3.40540 0.43730 18 | C 1.65160 3.02780 0.17070 19 | C -2.09030 -0.82250 2.59550 20 | C -2.51110 0.46640 2.28540 21 | C -0.84490 -1.02520 3.17380 22 | C -1.68740 1.55330 2.55120 23 | C -1.58430 2.58580 1.63190 24 | C -3.23140 0.40610 1.10070 25 | C -3.12270 1.44100 0.17460 26 | C -2.29470 2.52910 0.43990 27 | C -0.49080 -2.91330 1.73650 28 | C -1.74300 -2.71240 1.16370 29 | C -0.03930 -2.06840 2.74530 30 | C -2.54860 -1.66500 1.59420 31 | C -3.26020 -0.91410 0.67010 32 | C -1.65430 -3.00610 -0.18970 33 | C -2.35420 -2.24390 -1.11700 34 | C -3.16430 -1.19490 -0.68780 35 | C 2.13640 -2.05530 1.73580 36 | C 1.68950 -2.90090 0.72930 37 | C 1.27850 -1.63660 2.74350 38 | C 0.36780 -3.33270 0.73020 39 | C -0.34400 -3.39040 -0.45940 40 | C 2.28890 -2.52500 -0.46400 41 | C 1.57900 -2.57180 -1.65800 42 | C 0.25600 -3.00540 -1.65310 43 | C -2.18280 -0.57830 -2.59790 44 | C -1.74800 -1.86940 -2.30830 45 | C -0.43850 -2.24690 -2.58450 46 | C -1.28150 0.31890 -3.16710 47 | C -2.15260 2.05450 -1.73780 48 | C -3.04850 1.15350 -1.18110 49 | C -3.06560 -0.16290 -1.61070 50 | C -1.26610 1.64070 -2.72710 51 | C 0.50390 2.93610 -1.74180 52 | C -0.37880 3.35610 -0.75130 53 | C -1.69430 2.91860 -0.74910 54 | C 0.05210 2.07300 -2.73550 55 | C 2.09760 0.83400 -2.60510 56 | C 2.55170 1.69230 -1.61070 57 | C 1.75890 2.74520 -1.18240 58 | C 0.84200 1.02060 -3.17860 59 | C 0.44610 -1.34950 -3.16610 60 | C 1.69830 -1.54850 -2.59080 61 | C 2.51840 -0.46230 -2.31710 62 | C 0.02180 -0.06450 -3.45850 63 | -------------------------------------------------------------------------------- /geom/xyz/ch2cl2.xyz: -------------------------------------------------------------------------------- 1 | 5 2 | dichloromethane 3 | C 0.000000 0.125734 1.769274 4 | H -0.908578 0.622537 1.418015 5 | H 0.908578 0.622537 1.418015 6 | Cl 0.000000 -1.539930 1.135057 7 | Cl 0.000000 0.168852 3.551320 8 | -------------------------------------------------------------------------------- /geom/xyz/ch4.xyz: -------------------------------------------------------------------------------- 1 | 5 2 | methane 3 | C -1.13410 0.72042 0.00000 4 | H -0.04190 0.72042 -0.00000 5 | H -1.49816 1.33799 0.82399 6 | H -1.49816 -0.30197 0.12284 7 | H -1.49816 1.12523 -0.94683 8 | -------------------------------------------------------------------------------- /geom/xyz/chloroform.xyz: -------------------------------------------------------------------------------- 1 | 5 2 | chloroform 3 | C -0.59841 -0.93914 0.26797 4 | Cl 0.46073 0.45324 -0.01187 5 | Cl -1.51149 -1.33180 -1.19862 6 | H -1.30932 -0.67754 1.05594 7 | Cl 0.34308 -2.33903 0.80898 -------------------------------------------------------------------------------- /geom/xyz/chloromethane.xyz: -------------------------------------------------------------------------------- 1 | 5 2 | chloromethane 3 | C -1.63320 -0.36729 0.06902 4 | H -1.99041 -1.39156 0.19623 5 | H -1.51193 -0.14593 -0.99362 6 | H -2.34423 0.33169 0.51484 7 | Cl -0.07100 -0.19587 0.87668 8 | -------------------------------------------------------------------------------- /geom/xyz/co.xyz: -------------------------------------------------------------------------------- 1 | 2 2 | carbon monoxide 3 | C 3.22499 3.12974 -0.43957 4 | O 2.52095 2.36948 -0.00561 5 | -------------------------------------------------------------------------------- /geom/xyz/co2.xyz: -------------------------------------------------------------------------------- 1 | 3 2 | carbon dioxide 3 | C -4.56589 5.15978 -2.65450 4 | O -3.66166 4.37699 -2.62991 5 | O -5.47019 5.94260 -2.67915 6 | -------------------------------------------------------------------------------- /geom/xyz/cubane.xyz: -------------------------------------------------------------------------------- 1 | 16 2 | cubane 3 | C -0.20719 1.10228 -0.23056 4 | C 1.23991 1.12821 0.30008 5 | C 1.27506 -0.41279 0.27952 6 | C -0.17204 -0.43872 -0.25112 7 | C 0.32291 1.13368 -1.67774 8 | H -1.03626 1.71355 0.15554 9 | C 1.77001 1.15961 -1.14711 10 | H 1.60322 1.76084 1.12340 11 | C 1.80517 -0.38139 -1.16767 12 | H 1.66734 -1.04992 1.08591 13 | H 2.57013 1.81813 -1.51624 14 | C 0.35807 -0.40732 -1.69830 15 | H -0.97216 -1.09723 0.11801 16 | H -0.06937 1.77081 -2.48413 17 | H -0.00525 -1.03995 -2.52163 18 | H 2.63424 -0.99266 -1.55377 -------------------------------------------------------------------------------- /geom/xyz/cyclopentane.xyz: -------------------------------------------------------------------------------- 1 | 15 2 | cyclopentane 3 | C 0.27929 1.60665 0.31933 4 | C -0.75445 1.20784 -0.73287 5 | C 0.43897 0.40086 1.24347 6 | H -0.06255 2.48704 0.87442 7 | H 1.23805 1.86423 -0.14352 8 | C -0.93879 -0.29339 -0.57051 9 | H -0.43875 1.47670 -1.74544 10 | H -1.70081 1.72433 -0.53248 11 | C -0.73375 -0.51116 0.91838 12 | H -0.17343 -0.83194 -1.14181 13 | H -1.92162 -0.63096 -0.91137 14 | H -0.52797 -1.55687 1.16375 15 | H -1.62424 -0.19581 1.47489 16 | H 0.45890 0.68801 2.29905 17 | H 1.38282 -0.11095 1.02033 -------------------------------------------------------------------------------- /geom/xyz/cyclopropane.xyz: -------------------------------------------------------------------------------- 1 | 9 2 | cyclopropane 3 | C 0.12460 1.60294 0.21587 4 | C -0.09614 0.13639 -0.02331 5 | C -0.55329 1.14082 -1.04254 6 | H -0.85135 -0.36770 0.56863 7 | H 0.76584 -0.47549 -0.26295 8 | H -1.61820 1.31718 -1.14108 9 | H -0.00101 1.20938 -1.97266 10 | H 1.13613 1.98457 0.13826 11 | H -0.48106 2.09237 0.96984 -------------------------------------------------------------------------------- /geom/xyz/dimethylether.xyz: -------------------------------------------------------------------------------- 1 | 9 2 | dimethyl ether 3 | C 0.05784 -1.47953 -1.05476 4 | O 0.75126 -2.58762 -1.61243 5 | H -0.42522 -0.89385 -1.84289 6 | H 0.78264 -0.84261 -0.54066 7 | H -0.68623 -1.81961 -0.32797 8 | C -0.13176 -3.46361 -2.29991 9 | H -0.88197 -3.86770 -1.61332 10 | H 0.45288 -4.29332 -2.70619 11 | H -0.62091 -2.94195 -3.12824 -------------------------------------------------------------------------------- /geom/xyz/ethane.xyz: -------------------------------------------------------------------------------- 1 | 8 2 | ethane 3 | C -0.02397 0.18484 -0.10430 4 | C -0.25621 -0.72703 -1.28789 5 | H 0.84954 -0.14240 0.46746 6 | H -0.89262 0.18008 0.56086 7 | H 0.14829 1.21226 -0.43862 8 | H -0.42847 -1.75445 -0.95357 9 | H 0.61244 -0.72227 -1.95305 10 | H -1.12972 -0.39979 -1.85966 -------------------------------------------------------------------------------- /geom/xyz/ethanethiol.xyz: -------------------------------------------------------------------------------- 1 | 9 2 | ethanethiol 3 | C 0.17772 -0.87140 -0.34474 4 | C -0.46568 -2.23328 -0.52625 5 | H -0.58047 -0.13743 -0.05211 6 | H 0.63961 -0.51752 -1.27269 7 | H 0.94159 -0.88893 0.44005 8 | S 0.77245 -3.46932 -1.00587 9 | H -1.23704 -2.18778 -1.30090 10 | H -0.93860 -2.55444 0.40663 11 | H 1.12493 -2.89481 -2.16539 -------------------------------------------------------------------------------- /geom/xyz/ethanoicanhydride.xyz: -------------------------------------------------------------------------------- 1 | 13 2 | ethanoic anhydride 3 | C 0.52688 -0.16070 -0.07376 4 | C -0.34844 -1.36449 -0.27551 5 | H -0.08010 0.67301 0.29121 6 | H 0.98273 0.12968 -1.02371 7 | H 1.29547 -0.38074 0.67166 8 | O 0.42734 -2.39851 -0.69199 9 | C -0.18576 -3.58539 -0.93668 10 | C 0.85212 -4.57848 -1.37549 11 | H 1.30707 -4.24922 -2.31309 12 | H 0.37838 -5.55075 -1.53954 13 | H 1.61123 -4.69147 -0.59714 14 | O -1.55341 -1.34491 -0.08019 15 | O -1.37020 -3.86606 -0.84284 -------------------------------------------------------------------------------- /geom/xyz/ethanol.xyz: -------------------------------------------------------------------------------- 1 | 9 2 | ethanol 3 | C -0.41703 -1.27846 0.20897 4 | C 0.56133 -0.15511 -0.06474 5 | H -1.23553 -1.26466 -0.51823 6 | H -0.86921 -1.16275 1.19945 7 | H 0.08152 -2.25049 0.15914 8 | O -0.10085 1.09797 0.02603 9 | H 0.99841 -0.24985 -1.06338 10 | H 1.37227 -0.16636 0.66929 11 | H -0.81297 1.10186 -0.63614 -------------------------------------------------------------------------------- /geom/xyz/ethene.xyz: -------------------------------------------------------------------------------- 1 | 6 2 | ethene 3 | C -0.03751 0.13170 -0.17330 4 | C -0.24268 -0.67388 -1.21890 5 | H 0.29338 1.15615 -0.31223 6 | H -0.19641 -0.21746 0.84215 7 | H -0.08378 -0.32472 -2.23435 8 | H -0.57357 -1.69833 -1.07997 -------------------------------------------------------------------------------- /geom/xyz/ethylacetate.xyz: -------------------------------------------------------------------------------- 1 | 14 2 | ethyl acetate 3 | C 0.23280 0.26806 0.61047 4 | O 0.54240 0.93844 1.58504 5 | O -0.20336 0.75893 -0.58179 6 | C 0.28128 -1.22831 0.56114 7 | C -0.28363 2.18844 -0.63245 8 | H -0.98340 2.54682 0.13086 9 | C -0.77971 2.58658 -2.00884 10 | H 0.70783 2.62095 -0.45726 11 | H 0.63209 -1.61143 1.52369 12 | H 0.97763 -1.55121 -0.21681 13 | H -0.71910 -1.62561 0.37204 14 | H -1.76160 2.14440 -2.20752 15 | H -0.10122 2.21715 -2.78491 16 | H -0.85769 3.67387 -2.09608 -------------------------------------------------------------------------------- /geom/xyz/ethyne.xyz: -------------------------------------------------------------------------------- 1 | 4 2 | ethyne 3 | C -1.11608 0.77101 -0.00608 4 | C -1.51618 -0.35256 0.12892 5 | H -0.76081 1.76869 -0.12595 6 | H -1.87145 -1.35024 0.24878 -------------------------------------------------------------------------------- /geom/xyz/formaldehyde.xyz: -------------------------------------------------------------------------------- 1 | 4 2 | formaldehyde 3 | C -1.04822 1.67137 -1.44173 4 | O -2.23556 1.43018 -1.26346 5 | H -0.51664 1.36252 -2.35594 6 | H -0.44029 2.21169 -0.69862 -------------------------------------------------------------------------------- /geom/xyz/h2.xyz: -------------------------------------------------------------------------------- 1 | 2 2 | hydrogen molecule 3 | H -1.68666 1.79811 0.00000 4 | H -1.12017 1.37343 0.00000 5 | -------------------------------------------------------------------------------- /geom/xyz/h2o.xyz: -------------------------------------------------------------------------------- 1 | 3 2 | water 3 | O 0.53890 0.65566 0.00000 4 | H 1.50890 0.65566 0.00000 5 | H 0.21557 1.56969 -0.03013 -------------------------------------------------------------------------------- /geom/xyz/he.xyz: -------------------------------------------------------------------------------- 1 | 1 2 | helium atom 3 | He -3.766148 -4.897176 2.994745 4 | -------------------------------------------------------------------------------- /geom/xyz/helium.xyz: -------------------------------------------------------------------------------- 1 | 1 2 | helium atom 3 | He 1.025310 -0.003850 0.942480 -------------------------------------------------------------------------------- /geom/xyz/hf.xyz: -------------------------------------------------------------------------------- 1 | 2 2 | hydrogen fluoride 3 | F -0.29502 0.75280 0.00000 4 | H 0.64417 0.75280 0.00000 -------------------------------------------------------------------------------- /geom/xyz/hooh.xyz: -------------------------------------------------------------------------------- 1 | 4 2 | hydrogen peroxide (staggered) 3 | O -1.75288 -0.51877 1.33236 4 | O -0.47370 -0.10913 0.77737 5 | H -2.29018 0.16783 0.89329 6 | H 0.06360 -0.79573 1.21644 -------------------------------------------------------------------------------- /geom/xyz/isobutane.xyz: -------------------------------------------------------------------------------- 1 | 14 2 | isobutane (2-methylpropane) 3 | C -1.33644 -0.25747 -0.08521 4 | C -0.10269 0.64011 -0.02070 5 | H -2.25372 0.33865 -0.03460 6 | H -1.35196 -0.97387 0.74327 7 | H -1.35670 -0.82333 -1.02260 8 | C 1.17300 -0.19183 -0.13235 9 | C -0.09981 1.45696 1.26954 10 | H -0.13679 1.33489 -0.86880 11 | H 1.25701 -0.90563 0.69426 12 | H 2.05913 0.45146 -0.11561 13 | H 1.18761 -0.75678 -1.07040 14 | H -0.06628 0.80856 2.15176 15 | H -0.99992 2.07689 1.33896 16 | H 0.76863 2.12315 1.30573 -------------------------------------------------------------------------------- /geom/xyz/methylamine.xyz: -------------------------------------------------------------------------------- 1 | 7 2 | methylamine 3 | C -0.41528 -1.26200 0.22062 4 | N 0.43127 -0.10749 -0.02158 5 | H -0.96481 -1.53303 -0.68533 6 | H -1.13439 -1.04309 1.01482 7 | H 0.19166 -2.11677 0.53170 8 | H -0.14249 0.67254 -0.33947 9 | H 1.07598 -0.31405 -0.78341 -------------------------------------------------------------------------------- /geom/xyz/methylformate.xyz: -------------------------------------------------------------------------------- 1 | 8 2 | methyl formate 3 | C 0.19676 0.17984 0.49796 4 | O 0.50665 0.83915 1.47685 5 | O -0.23799 0.65588 -0.69492 6 | H 0.23043 -0.91981 0.45346 7 | C -0.32101 2.08033 -0.75096 8 | H -1.03479 2.45249 -0.00927 9 | H -0.67826 2.36025 -1.74587 10 | H 0.66596 2.52843 -0.59862 -------------------------------------------------------------------------------- /geom/xyz/neopentane.xyz: -------------------------------------------------------------------------------- 1 | 17 2 | neopentane (2,2-dimethylpropane) 3 | C -1.33087 -0.31466 -0.01884 4 | C -0.10167 0.60448 0.01997 5 | H -2.25969 0.26345 0.04335 6 | H -1.32238 -1.02273 0.81745 7 | H -1.36155 -0.89584 -0.94732 8 | C 1.17482 -0.24397 -0.06937 9 | C -0.09756 1.39839 1.33410 10 | C -0.15306 1.57815 -1.16603 11 | H 1.23995 -0.95044 0.76577 12 | H 2.07134 0.38565 -0.04400 13 | H 1.20078 -0.82355 -0.99900 14 | H -0.06119 0.72905 2.20097 15 | H -0.99851 2.01523 1.42687 16 | H 0.77018 2.06514 1.39120 17 | H -0.15712 1.03976 -2.12045 18 | H 0.71344 2.24896 -1.16545 19 | H -1.05526 2.19906 -1.12978 -------------------------------------------------------------------------------- /geom/xyz/nh3.xyz: -------------------------------------------------------------------------------- 1 | 4 2 | ammonia 3 | N -0.00549 0.48287 0.00676 4 | H 1.01184 0.42544 -0.00355 5 | H -0.31709 -0.18070 0.71452 6 | H -0.31709 0.10664 -0.88751 -------------------------------------------------------------------------------- /geom/xyz/oxalicacid.xyz: -------------------------------------------------------------------------------- 1 | 8 2 | oxalic acid 3 | C 1.18569 0.15016 -0.75539 4 | C 0.51063 -0.82986 -1.76305 5 | O -0.60587 -1.29656 -1.65031 6 | O 2.30222 0.61680 -0.86808 7 | O 1.29952 -1.12472 -2.80565 8 | H 0.76574 -1.73693 -3.35159 9 | O 0.39675 0.44510 0.28715 10 | H 0.93051 1.05731 0.83310 -------------------------------------------------------------------------------- /geom/xyz/propane.xyz: -------------------------------------------------------------------------------- 1 | 11 2 | propane 3 | C -1.33906 -0.17994 -0.00008 4 | C -0.10313 0.70116 0.06705 5 | C 1.17373 -0.11426 -0.04740 6 | H -2.24431 0.42940 0.08439 7 | H -1.34436 -0.91113 0.81462 8 | H -1.38249 -0.72323 -0.94948 9 | H -0.09974 1.25328 1.01339 10 | H -0.13766 1.44014 -0.74111 11 | H 2.04846 0.54160 0.00354 12 | H 1.24785 -0.84337 0.76581 13 | H 1.20972 -0.65549 -0.99829 14 | -------------------------------------------------------------------------------- /geom/xyz/thymine.xyz: -------------------------------------------------------------------------------- 1 | 15 2 | thymine 3 | N -1.15842 -0.93234 0.06158 4 | C 0.15397 -0.68356 -0.21831 5 | N 0.84330 -1.72113 -0.78294 6 | C 0.28774 -2.93787 -1.06177 7 | C -0.99822 -3.19548 -0.79244 8 | C -1.80964 -2.11076 -0.17662 9 | C -1.67732 -4.49596 -1.06650 10 | H -2.51541 -4.35383 -1.75651 11 | H -2.06003 -4.93263 -0.13830 12 | H -0.99388 -5.22248 -1.51871 13 | H 0.94790 -3.67390 -1.51042 14 | O -2.99409 -2.26763 0.10022 15 | H -1.69002 -0.18497 0.47815 16 | H 1.81842 -1.53809 -0.99155 17 | O 0.68480 0.39608 0.01846 -------------------------------------------------------------------------------- /geom/xyzq/a.xyzq: -------------------------------------------------------------------------------- 1 | 15 2 | a inertial-frame geometry 3 | NC 1.973200 -0.554541 0.000000 -0.7624 4 | CQ 1.359403 -1.752064 0.000000 0.5716 5 | NC 0.048411 -2.020255 0.000000 -0.7417 6 | CB -0.679382 -0.895052 0.000000 0.3800 7 | CB -0.192135 0.418095 0.000000 0.0725 8 | CA 1.213034 0.556012 0.000000 0.6897 9 | N* -2.050739 -0.754038 0.000000 -0.0268 10 | CK -2.312654 0.603014 0.000000 0.1607 11 | NB -1.226450 1.340701 0.000000 -0.6175 12 | H5 -3.328932 0.984609 0.000000 0.1877 13 | H5 2.024027 -2.617596 0.000000 0.0598 14 | N2 1.815670 1.769647 0.000000 -0.9123 15 | H -2.723546 -1.507797 0.000000 0.1053 16 | H 1.257277 2.609074 0.000000 0.4167 17 | H 2.822817 1.820191 0.000000 0.4167 18 | -------------------------------------------------------------------------------- /geom/xyzq/benzene_2.xyzq: -------------------------------------------------------------------------------- 1 | 24 2 | benzene dimer 3 | CA -3.45860 1.02677 0.00000 -0.0800 4 | CA -2.21965 1.73788 0.00000 -0.0800 5 | CA -0.99800 1.00991 0.00000 -0.0800 6 | CA -1.05338 -0.37280 0.00000 -0.0800 7 | CA -2.27650 -1.06687 0.00000 -0.0800 8 | CA -3.51279 -0.38080 0.00000 -0.0800 9 | HA -4.48441 -0.92011 0.00000 0.0800 10 | HA -4.39504 1.59896 0.00000 0.0800 11 | HA -2.11917 2.80374 0.00000 0.0800 12 | HA -0.03542 1.56600 0.00000 0.0800 13 | HA -0.07631 -0.93140 0.00000 0.0800 14 | HA -2.28067 -2.16889 -0.00000 0.0800 15 | CA 0.49495 8.57680 -0.74942 -0.0800 16 | CA 0.98994 8.50273 -2.11559 -0.0800 17 | CA 0.16562 7.40172 0.00000 -0.0800 18 | CA 0.33873 6.12702 -0.64052 -0.0800 19 | CA 0.83516 6.05958 -2.00977 -0.0800 20 | CA 1.16204 7.24302 -2.75136 -0.0800 21 | HA 1.54103 7.16442 -3.80023 0.0800 22 | HA 1.22287 9.46044 -2.62914 0.0800 23 | HA 0.09876 5.18508 -0.10563 0.0800 24 | HA 0.97050 5.08524 -2.50763 0.0800 25 | HA 0.36667 9.56753 -0.26876 0.0800 26 | HA -0.21271 7.50106 1.04975 0.0800 27 | -------------------------------------------------------------------------------- /geom/xyzq/ethane.xyzq: -------------------------------------------------------------------------------- 1 | 8 2 | ethane molecule near equilibrium 3 | CT -5.71541 2.89779 0.25425 -0.6300 4 | CT -4.54507 2.25963 -0.45869 -0.6300 5 | HC -5.36758 3.65957 0.95826 0.2100 6 | HC -6.28153 2.14639 0.81236 0.2100 7 | HC -6.38951 3.37429 -0.46369 0.2100 8 | HC -3.87563 1.77621 0.25903 0.2100 9 | HC -3.97429 3.01236 -1.01033 0.2100 10 | HC -4.89281 1.50380 -1.16889 0.2100 11 | -------------------------------------------------------------------------------- /geom/xyzq/ethane5.xyzq: -------------------------------------------------------------------------------- 1 | 40 2 | 5 ethane molecules near equilibrium 3 | CT -5.71541 2.89779 0.25425 -0.63000 4 | CT -4.54507 2.25963 -0.45869 -0.63000 5 | HC -5.36758 3.65957 0.95826 0.21000 6 | HC -6.28153 2.14639 0.81236 0.21000 7 | HC -6.38951 3.37429 -0.46369 0.21000 8 | HC -3.87563 1.77621 0.25903 0.21000 9 | HC -3.97429 3.01236 -1.01033 0.21000 10 | HC -4.89281 1.50380 -1.16889 0.21000 11 | CT -1.65841 -1.17616 0.31276 0.63000 12 | CT -3.02777 -1.63785 -0.13092 -0.63000 13 | HC -1.13325 -1.97953 0.83789 0.21000 14 | HC -1.74257 -0.32024 0.98891 0.21000 15 | HC -1.05545 -0.87663 -0.54962 0.21000 16 | HC -3.63287 -1.92905 0.73273 0.21000 17 | HC -2.94575 -2.49922 -0.80038 0.21000 18 | HC -3.54940 -0.83739 -0.66333 0.21000 19 | CT -1.03354 3.86645 0.27420 -0.63000 20 | CT -0.48691 2.53762 -0.19628 -0.63000 21 | HC -1.37632 4.46359 -0.57604 0.21000 22 | HC -0.26257 4.43302 0.80484 0.21000 23 | HC -1.87864 3.71630 0.95260 0.21000 24 | HC 0.36210 2.68769 -0.86978 0.21000 25 | HC -1.25570 1.97371 -0.73266 0.21000 26 | HC -0.14974 1.93789 0.65435 0.21000 27 | CT -6.85460 -1.00355 -0.15226 -0.63000 28 | CT -7.01233 -2.50343 -0.04767 -0.63000 29 | HC -6.42483 -0.72878 -1.12002 0.21000 30 | HC -6.19490 -0.63012 0.63654 0.21000 31 | HC -7.82441 -0.50807 -0.05304 0.21000 32 | HC -6.04309 -3.00053 -0.14881 0.21000 33 | HC -7.67399 -2.87597 -0.83532 0.21000 34 | HC -7.44091 -2.77803 0.92076 0.21000 35 | CT -10.79788 1.27148 -0.05716 -0.63000 36 | CT -9.56862 2.13598 0.10835 -0.63000 37 | HC -11.35045 1.55725 -0.95716 0.21000 38 | HC -11.46306 1.38020 0.80456 0.21000 39 | HC -10.51773 0.21752 -0.14519 0.21000 40 | HC -9.84810 3.19019 0.19538 0.21000 41 | HC -8.90274 2.02601 -0.75280 0.21000 42 | HC -9.01691 1.85050 1.00898 0.21000 43 | -------------------------------------------------------------------------------- /geom/xyzq/h2o.xyzq: -------------------------------------------------------------------------------- 1 | 3 2 | water: TIP3P 3 | OW 0.53890 0.65566 0.00000 -0.8140 4 | HW 1.50890 0.65566 0.00000 0.4070 5 | HW 0.21557 1.56969 -0.03013 0.4070 6 | -------------------------------------------------------------------------------- /geom/xyzq/h2o_5.xyzq: -------------------------------------------------------------------------------- 1 | 15 2 | 5 TIP3P waters 3 | OW -1.87208 1.32617 -0.72031 -0.8140 4 | HW -1.71551 0.54954 -0.12352 0.4070 5 | HW -2.83789 1.26160 -0.81488 0.4070 6 | OW 0.61249 -0.15451 2.52466 -0.8140 7 | HW 1.21466 0.33380 1.90556 0.4070 8 | HW 0.99687 0.12160 3.37447 0.4070 9 | OW -1.50836 -0.73942 0.97169 -0.8140 10 | HW -1.44037 -1.70525 1.06622 0.4070 11 | HW -0.79939 -0.46637 1.60929 0.4070 12 | OW 0.49617 2.62262 -0.80211 -0.8140 13 | HW 0.22059 3.39161 -1.32962 0.4070 14 | HW -0.35646 2.11582 -0.79353 0.4070 15 | OW 2.14747 1.34057 0.89878 -0.8140 16 | HW 2.94606 1.40508 0.34735 0.4070 17 | HW 1.52084 1.86684 0.33797 0.4070 18 | -------------------------------------------------------------------------------- /geom/zmat/benzene.zmat: -------------------------------------------------------------------------------- 1 | 12 2 | benzene 3 | C 4 | C 1 1.380 5 | C 2 1.380 1 120.000 6 | C 3 1.380 2 120.000 1 0.000 7 | C 4 1.380 3 120.000 2 0.000 8 | C 5 1.380 4 120.000 3 0.000 9 | H 1 1.085 2 120.000 3 180.000 10 | H 2 1.085 1 120.000 6 180.000 11 | H 3 1.085 2 120.000 1 180.000 12 | H 4 1.085 3 120.000 2 180.000 13 | H 5 1.085 4 120.000 3 180.000 14 | H 6 1.085 5 120.000 4 180.000 15 | -------------------------------------------------------------------------------- /geom/zmat/ch4.zmat: -------------------------------------------------------------------------------- 1 | 5 2 | methane 3 | C 4 | H 1 1.0922 5 | H 1 1.0922 2 109.471 6 | H 1 1.0922 2 109.471 3 -120.0 7 | H 1 1.0922 2 109.471 3 120.0 8 | -------------------------------------------------------------------------------- /geom/zmat/chloromethane.zmat: -------------------------------------------------------------------------------- 1 | 5 2 | chloromethane 3 | C 4 | H 1 1.0922 5 | H 1 1.0922 2 109.858 6 | H 1 1.0922 2 109.858 121.0 7 | Cl 1 1.7670 2 109.080 -119.5 8 | -------------------------------------------------------------------------------- /geom/zmat/ethane.zmat: -------------------------------------------------------------------------------- 1 | 8 2 | ethane (staggered) 3 | C 4 | C 1 1.5121 5 | H 1 1.0941 2 110.568 6 | H 2 1.0941 1 110.568 3 180.0 7 | H 1 1.0941 2 110.568 3 120.0 8 | H 1 1.0941 2 110.568 3 -120.0 9 | H 2 1.0941 1 110.568 4 120.0 10 | H 2 1.0941 1 110.568 4 -120.0 11 | -------------------------------------------------------------------------------- /geom/zmat/ethene.zmat: -------------------------------------------------------------------------------- 1 | 6 2 | ethene 3 | C 4 | C 1 1.3358 5 | H 1 1.0855 2 121.051 6 | H 1 1.0855 2 121.051 3 180.0 7 | H 2 1.0855 1 121.051 3 0.0 8 | H 2 1.0855 1 121.051 3 180.0 9 | -------------------------------------------------------------------------------- /geom/zmat/formaldehyde.zmat: -------------------------------------------------------------------------------- 1 | 4 2 | formaldehyde 3 | C 4 | O 1 1.2246 5 | H 1 1.1017 2 122.235 6 | H 1 1.1017 2 122.235 3 180.0 7 | -------------------------------------------------------------------------------- /geom/zmat/h2.zmat: -------------------------------------------------------------------------------- 1 | 2 2 | hydrogen molecule 3 | H 4 | H 1 0.6000 5 | -------------------------------------------------------------------------------- /geom/zmat/h2o.zmat: -------------------------------------------------------------------------------- 1 | 3 2 | water 3 | O 4 | H 1 0.9700 5 | H 1 0.9700 2 109.471 6 | -------------------------------------------------------------------------------- /geom/zmat/hf.zmat: -------------------------------------------------------------------------------- 1 | 2 2 | hydrogen fluoride 3 | F 4 | H 1 0.9392 5 | -------------------------------------------------------------------------------- /geom/zmat/hooh.zmat: -------------------------------------------------------------------------------- 1 | 4 2 | hydrogen peroxide (staggered) 3 | O 4 | O 1 1.4533 5 | H 1 0.9762 2 96.572 6 | H 2 0.9762 1 96.572 3 120.0 7 | -------------------------------------------------------------------------------- /geom/zmat/nh3.zmat: -------------------------------------------------------------------------------- 1 | 4 2 | ammonia 3 | N 4 | H 1 1.0190 5 | H 1 1.0190 2 105.999 6 | H 1 1.0190 2 105.999 3 -112.4 7 | -------------------------------------------------------------------------------- /geom/zmat/propane.zmat: -------------------------------------------------------------------------------- 1 | 11 2 | propane (staggered, staggered) 3 | C 4 | C 1 1.5193 5 | C 2 1.5193 1 111.659 6 | H 1 1.0945 2 110.276 3 180.000 7 | H 1 1.0947 2 111.002 3 60.244 8 | H 1 1.0947 2 111.002 3 -60.244 9 | H 2 1.0956 1 109.446 4 58.662 10 | H 2 1.0956 1 109.446 4 -58.662 11 | H 3 1.0946 2 110.276 1 180.000 12 | H 3 1.0946 2 111.002 1 60.244 13 | H 3 1.0946 2 111.002 1 -60.244 14 | -------------------------------------------------------------------------------- /input/mc/benzene_2.mc: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/xyzq/benzene_2.xyzq 2 | RANDOMSEED 558222221 3 | TEMPERATURE 15.00 K 4 | BOUNDARY 21.75 A 5 | BOUNDARYTYPE SPHERE 6 | TOTALCONF 20000 7 | GEOMCONF 100 8 | ENERGYCONF 25 9 | GEOMOUT ../../data/mc/benzene_2.xyz 10 | ENERGYOUT ../../data/mc/benzene_2.dat 11 | STATUSTIME 2.0 s 12 | -------------------------------------------------------------------------------- /input/mc/ch2o.mc: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/ch2o.prm 2 | RANDOMSEED 1941260823 3 | TEMPERATURE 298.15 K 4 | BOUNDARY 17.26 A 5 | BOUNDARYTYPE SPHERE 6 | TOTALCONF 400000 7 | GEOMCONF 500 8 | ENERGYCONF 500 9 | GEOMOUT ../../data/mc/ch2o.xyz 10 | ENERGYOUT ../../data/mc/ch2o.dat 11 | STATUSTIME 1.0 s 12 | -------------------------------------------------------------------------------- /input/mc/co.mc: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/co.prm 2 | RANDOMSEED 1315177173 3 | TEMPERATURE 298.15 K 4 | BOUNDARY 17.26 A 5 | BOUNDARYTYPE SPHERE 6 | TOTALCONF 1000 7 | GEOMCONF 1 8 | ENERGYCONF 1 9 | GEOMOUT ../../data/mc/co.xyz 10 | ENERGYOUT ../../data/mc/co.dat 11 | STATUSTIME 1.0 s 12 | -------------------------------------------------------------------------------- /input/mc/ethane.mc: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/ethane.prm 2 | RANDOMSEED 2661654898 3 | TEMPERATURE 3000.00 K 4 | BOUNDARY 17.26 A 5 | BOUNDARYTYPE SPHERE 6 | TOTALCONF 20000 7 | GEOMCONF 50 8 | ENERGYCONF 25 9 | GEOMOUT ../../data/mc/ethane.xyz 10 | ENERGYOUT ../../data/mc/ethane.dat 11 | STATUSTIME 5.0 s 12 | -------------------------------------------------------------------------------- /input/mc/h2o.mc: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/h2o.prm 2 | RANDOMSEED 2179125454 3 | TEMPERATURE 298.15 K 4 | BOUNDARY 17.26 A 5 | BOUNDARYTYPE SPHERE 6 | TOTALCONF 10000 7 | GEOMCONF 10 8 | ENERGYCONF 15 9 | GEOMOUT ../../data/mc/h2o.xyz 10 | ENERGYOUT ../../data/mc/h2o.dat 11 | STATUSTIME 1.0 s 12 | -------------------------------------------------------------------------------- /input/mc/h2o_5.mc: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/xyzq/h2o_5.xyzq 2 | RANDOMSEED 515780453 3 | TEMPERATURE 298.15 K 4 | BOUNDARY 17.26 A 5 | BOUNDARYTYPE SPHERE 6 | TOTALCONF 10000 7 | GEOMCONF 50 8 | ENERGYCONF 15 9 | GEOMOUT ../../data/mc/h2o_5.xyz 10 | ENERGYOUT ../../data/mc/h2o_5.dat 11 | STATUSTIME 1.0 s 12 | -------------------------------------------------------------------------------- /input/mc/he2.mc: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/he2.prm 2 | RANDOMSEED 1887222137 3 | TEMPERATURE 298.15 K 4 | BOUNDARY 21.75 A 5 | BOUNDARYTYPE SPHERE 6 | TOTALCONF 50000 7 | GEOMCONF 50 8 | ENERGYCONF 100 9 | GEOMOUT ../../data/mc/he2.xyz 10 | ENERGYOUT ../../data/mc/he2.dat 11 | STATUSTIME 2.0 s 12 | -------------------------------------------------------------------------------- /input/mc/he20.mc: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/he20.prm 2 | RANDOMSEED 747663306 3 | TEMPERATURE 298.15 K 4 | BOUNDARY 46.86 A 5 | BOUNDARYTYPE SPHERE 6 | TOTALCONF 20000 7 | GEOMCONF 100 8 | ENERGYCONF 25 9 | GEOMOUT ../../data/mc/he20.xyz 10 | ENERGYOUT ../../data/mc/he20.dat 11 | STATUSTIME 2.0 s 12 | -------------------------------------------------------------------------------- /input/mc/hf.mc: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/hf.prm 2 | RANDOMSEED 1783360365 3 | TEMPERATURE 5.00 K 4 | BOUNDARY 17.26 A 5 | BOUNDARYTYPE SPHERE 6 | TOTALCONF 100 7 | GEOMCONF 1 8 | ENERGYCONF 1 9 | GEOMOUT ../../data/mc/hf.xyz 10 | ENERGYOUT ../../data/mc/hf.dat 11 | STATUSTIME 1.0 s 12 | -------------------------------------------------------------------------------- /input/mc/lif.mc: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/lif.prm 2 | RANDOMSEED 1589347151 3 | TEMPERATURE 0.00 K 4 | BOUNDARY 22.00 A 5 | BOUNDARYTYPE CUBE 6 | TOTALCONF 1000 7 | GEOMCONF 1 8 | ENERGYCONF 2 9 | GEOMOUT ../../data/mc/lif.xyz 10 | ENERGYOUT ../../data/mc/lif.dat 11 | STATUSTIME 1.0 s 12 | -------------------------------------------------------------------------------- /input/md/benzene_2.md: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/xyzq/benzene_2.xyzq 2 | RANDOMSEED 278049999 3 | TEMPERATURE 298.15 K 4 | BOUNDARY 21.75 A 5 | BOUNDARYSPRING 250.0 kcal/mol*A^2 6 | BOUNDARYTYPE SPHERE 7 | TOTALTIME 1.0000 ps 8 | TIMESTEP 0.0001 ps 9 | GEOMTIME 0.0050 ps 10 | ENERGYTIME 0.0015 ps 11 | GEOMOUT ../../data/md/benzene_2.xyz 12 | ENERGYOUT ../../data/md/benzene_2.dat 13 | STATUSTIME 2.0 s 14 | -------------------------------------------------------------------------------- /input/md/ch2o.md: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/ch2o.prm 2 | RANDOMSEED 4004010291 3 | TEMPERATURE 298.15 K 4 | BOUNDARY 10.00 A 5 | BOUNDARYTYPE SPHERE 6 | TOTALTIME 20.0000 ps 7 | TIMESTEP 0.0001 ps 8 | GEOMTIME 0.0200 ps 9 | ENERGYTIME 0.0200 ps 10 | GEOMOUT ../../data/md/ch2o.xyz 11 | ENERGYOUT ../../data/md/ch2o.dat 12 | STATUSTIME 2.0 s 13 | -------------------------------------------------------------------------------- /input/md/co.md: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/co.prm 2 | RANDOMSEED 1750761047 3 | TEMPERATURE 298.15 K 4 | BOUNDARY 17.26 A 5 | BOUNDARYSPRING 250.0 kcal/mol*A^2 6 | BOUNDARYTYPE CUBE 7 | TOTALTIME 3.0000 ps 8 | TIMESTEP 0.0001 ps 9 | GEOMTIME 0.0020 ps 10 | ENERGYTIME 0.0040 ps 11 | GEOMOUT ../../data/md/co.xyz 12 | ENERGYOUT ../../data/md/co.dat 13 | STATUSTIME 1.0 s 14 | -------------------------------------------------------------------------------- /input/md/ethane.md: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/ethane.prm 2 | RANDOMSEED 3435445132 3 | TEMPERATURE 298.15 K 4 | BOUNDARY 10.00 A 5 | BOUNDARYTYPE SPHERE 6 | TOTALTIME 0.5000 ps 7 | TIMESTEP 0.0001 ps 8 | GEOMTIME 0.0010 ps 9 | ENERGYTIME 0.0010 ps 10 | GEOMOUT ../../data/md/ethane.xyz 11 | ENERGYOUT ../../data/md/ethane.dat 12 | STATUSTIME 5.0 s 13 | -------------------------------------------------------------------------------- /input/md/h2o.md: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/h2o.prm 2 | RANDOMSEED 3473404960 3 | TEMPERATURE 298.15 K 4 | BOUNDARY 17.26 A 5 | TOTALTIME 1.000 ps 6 | TIMESTEP 0.0001 ps 7 | GEOMTIME 0.0010 ps 8 | ENERGYTIME 0.0020 ps 9 | GEOMOUT ../../data/md/h2o.xyz 10 | ENERGYOUT ../../data/md/h2o.dat 11 | STATUSTIME 1.0 s 12 | -------------------------------------------------------------------------------- /input/md/h2o_5.md: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/xyzq/h2o_5.xyzq 2 | RANDOMSEED 2946218840 3 | TEMPERATURE 298.15 K 4 | BOUNDARY 10.00 A 5 | BOUNDARYTYPE SPHERE 6 | TOTALTIME 3.0000 ps 7 | TIMESTEP 0.0001 ps 8 | GEOMTIME 0.0100 ps 9 | ENERGYTIME 0.0050 ps 10 | GEOMOUT ../../data/md/h2o_5.xyz 11 | ENERGYOUT ../../data/md/h2o_5.dat 12 | STATUSTIME 5.0 s 13 | -------------------------------------------------------------------------------- /input/md/he2.md: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/he2.prm 2 | RANDOMSEED 450245880 3 | TEMPERATURE 0.0 K 4 | BOUNDARY 10.0 A 5 | TOTALTIME 10.0000 ps 6 | TIMESTEP 0.0005 ps 7 | GEOMTIME 0.0100 ps 8 | ENERGYTIME 0.0200 ps 9 | GEOMOUT ../../data/md/he2.xyz 10 | ENERGYOUT ../../data/md/he2.dat 11 | STATUSTIME 1.0 s 12 | -------------------------------------------------------------------------------- /input/md/he20.md: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/he20.prm 2 | RANDOMSEED 3822454941 3 | TEMPERATURE 298.15 K 4 | BOUNDARY 46.86 A 5 | BOUNDARYSPRING 250.0 kcal/mol*A^2 6 | BOUNDARYTYPE SPHERE 7 | TOTALTIME 20.0000 ps 8 | TIMESTEP 0.0010 ps 9 | GEOMTIME 0.1000 ps 10 | ENERGYTIME 0.0500 ps 11 | GEOMOUT ../../data/md/he20.xyz 12 | ENERGYOUT ../../data/md/he20.dat 13 | STATUSTIME 5.0 s 14 | -------------------------------------------------------------------------------- /input/md/hf.md: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/hf.prm 2 | RANDOMSEED 2982500747 3 | TEMPERATURE 0.0 K 4 | BOUNDARY 10.0 A 5 | TOTALTIME 0.0200 ps 6 | TIMESTEP 0.0001 ps 7 | GEOMTIME 0.0001 ps 8 | ENERGYTIME 0.0001 ps 9 | GEOMOUT ../../data/md/hf.xyz 10 | ENERGYOUT ../../data/md/hf.dat 11 | STATUSTIME 1.0 s 12 | -------------------------------------------------------------------------------- /input/md/lif.md: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/lif.prm 2 | RANDOMSEED 2571494957 3 | TEMPERATURE 0.00 K 4 | BOUNDARY 10.0 A 5 | TOTALTIME 4.0000 ps 6 | TIMESTEP 0.0010 ps 7 | GEOMTIME 0.0030 ps 8 | ENERGYTIME 0.0050 ps 9 | GEOMOUT ../../data/md/lif.xyz 10 | ENERGYOUT ../../data/md/lif.dat 11 | STATUSTIME 4.0 s 12 | -------------------------------------------------------------------------------- /input/opt/benzene_2.opt: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/xyzq/benzene_2.xyzq 2 | OPTTYPE CG 3 | OPTCRITERIA DEFAULT 4 | NMAXITER 400 5 | GEOMOUT ../../data/opt/benzene_2.xyz 6 | ENERGYOUT ../../data/opt/benzene_2.dat 7 | -------------------------------------------------------------------------------- /input/opt/ch2o.opt: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/ch2o.prm 2 | OPTTYPE CG 3 | OPTCRITERIA DEFAULT 4 | NMAXITER 150 5 | GEOMOUT ../../data/opt/ch2o.xyz 6 | ENERGYOUT ../../data/opt/ch2o.dat 7 | -------------------------------------------------------------------------------- /input/opt/co.opt: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/co.prm 2 | OPTTYPE SD 3 | OPTCRITERIA VERYTIGHT 4 | NMAXITER 80 5 | GEOMOUT ../../data/opt/co.xyz 6 | ENERGYOUT ../../data/opt/co.dat 7 | -------------------------------------------------------------------------------- /input/opt/ethane.opt: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/xyzq/ethane.xyzq 2 | OPTTYPE CG 3 | OPTCRITERIA DEFAULT 4 | NMAXITER 150 5 | GEOMOUT ../../data/opt/ethane.xyz 6 | ENERGYOUT ../../data/opt/ethane.dat 7 | -------------------------------------------------------------------------------- /input/opt/h2o.opt: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/xyzq/h2o.xyzq 2 | OPTTYPE CG 3 | OPTCRITERIA TIGHT 4 | NMAXITER 80 5 | GEOMOUT ../../data/opt/h2o.xyz 6 | ENERGYOUT ../../data/opt/h2o.dat 7 | -------------------------------------------------------------------------------- /input/opt/h2o_5.opt: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/xyzq/h2o_5.xyzq 2 | OPTTYPE CG 3 | OPTCRITERIA DEFAULT 4 | NMAXITER 200 5 | GEOMOUT ../../data/opt/h2o_5.xyz 6 | ENERGYOUT ../../data/opt/h2o_5.dat 7 | -------------------------------------------------------------------------------- /input/opt/he2.opt: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/he2.prm 2 | OPTTYPE SD 3 | OPTCRITERIA VERYTIGHT 4 | NMAXITER 80 5 | GEOMOUT ../../data/opt/he2.xyz 6 | ENERGYOUT ../../data/opt/he2.dat 7 | -------------------------------------------------------------------------------- /input/opt/he20.opt: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/he20.prm 2 | OPTTYPE SD 3 | OPTCRITERIA DEFAULT 4 | NMAXITER 800 5 | GEOMOUT ../../data/opt/he20.xyz 6 | ENERGYOUT ../../data/opt/he20.dat 7 | -------------------------------------------------------------------------------- /input/opt/hf.opt: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/hf.prm 2 | OPTTYPE SD 3 | OPTCRITERIA VERYTIGHT 4 | NMAXITER 80 5 | GEOMOUT ../../data/opt/hf.xyz 6 | ENERGYOUT ../../data/opt/hf.dat 7 | -------------------------------------------------------------------------------- /input/opt/lif.opt: -------------------------------------------------------------------------------- 1 | MOLECULE ../../geom/prm/lif.prm 2 | OPTTYPE SD 3 | OPTCRITERIA DEFAULT 4 | NMAXITER 50 5 | GEOMOUT ../../data/opt/lif.xyz 6 | ENERGYOUT ../../data/opt/lif.dat 7 | -------------------------------------------------------------------------------- /plot/mc/benzene_2.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Potential | 2.2673e+00 5.0777e-01 1.8016e+00 1.2907e+01 6 | Non-bonded | 1.3055e+00 8.9091e-03 1.2800e+00 1.3240e+00 7 | Bonded | 9.6181e-01 5.0804e-01 4.9630e-01 1.1620e+01 8 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9 | Vdw | -6.3999e-01 7.3607e-03 -6.5550e-01 -6.1970e-01 10 | Elst | 1.9455e+00 4.8733e-03 1.9040e+00 1.9590e+00 11 | Bonds | 3.9663e-01 4.2122e-01 1.2950e-01 9.8700e+00 12 | Angles | 2.9499e-01 1.1936e-01 8.9080e-02 1.7520e+00 13 | Torsions | 2.5350e-01 9.5342e-02 4.6580e-09 5.8900e-01 14 | Outofplanes | 1.6680e-02 7.0926e-03 4.7400e-10 5.1710e-02 15 | -------------------------------------------------------------------------------- /plot/mc/benzene_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/mc/benzene_2.pdf -------------------------------------------------------------------------------- /plot/mc/benzene_2.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/mc/benzene_2.mc 2 | SIMTYPE MC 3 | PLOTOUT ./benzene_2.pdf 4 | -------------------------------------------------------------------------------- /plot/mc/ch2o.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Potential | 1.7832e+00 1.0326e+00 1.2490e-01 7.1664e+00 6 | Non-bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 7 | Bonded | 1.7832e+00 1.0326e+00 1.2490e-01 7.1660e+00 8 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9 | Vdw | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 10 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Bonds | 9.0347e-01 7.2148e-01 4.2850e-03 4.6840e+00 12 | Angles | 6.0949e-01 5.8435e-01 4.6640e-04 4.4230e+00 13 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 14 | Outofplanes | 2.7022e-01 3.7535e-01 4.5330e-07 2.9690e+00 15 | -------------------------------------------------------------------------------- /plot/mc/ch2o.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/mc/ch2o.pdf -------------------------------------------------------------------------------- /plot/mc/ch2o.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/mc/ch2o.mc 2 | SIMTYPE MC 3 | PLOTOUT ./ch2o.pdf 4 | -------------------------------------------------------------------------------- /plot/mc/co.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Potential | 3.5235e-01 4.6535e-01 8.0490e-08 3.8018e+00 6 | Non-bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 7 | Bonded | 3.5235e-01 4.6535e-01 8.0490e-08 3.8020e+00 8 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9 | Vdw | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 10 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Bonds | 3.5235e-01 4.6535e-01 8.0490e-08 3.8020e+00 12 | Angles | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 13 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 14 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 15 | -------------------------------------------------------------------------------- /plot/mc/co.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/mc/co.pdf -------------------------------------------------------------------------------- /plot/mc/co.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/mc/co.mc 2 | SIMTYPE MC 3 | PLOTOUT ./co.pdf 4 | -------------------------------------------------------------------------------- /plot/mc/ethane.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Potential | 5.3675e+01 1.8891e+01 2.8462e-01 1.4701e+02 6 | Non-bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 7 | Bonded | 5.3675e+01 1.8892e+01 2.8460e-01 1.4700e+02 8 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9 | Vdw | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 10 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Bonds | 2.1002e+01 1.1974e+01 9.5630e-02 1.1150e+02 12 | Angles | 3.1167e+01 1.3997e+01 1.8860e-01 9.5400e+01 13 | Torsions | 1.5054e+00 7.1398e-01 4.1730e-04 2.7780e+00 14 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 15 | -------------------------------------------------------------------------------- /plot/mc/ethane.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/mc/ethane.pdf -------------------------------------------------------------------------------- /plot/mc/ethane.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/mc/ethane.mc 2 | SIMTYPE MC 3 | PLOTOUT ./ethane.pdf 4 | -------------------------------------------------------------------------------- /plot/mc/h2o.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Potential | 8.5977e-01 6.9946e-01 5.5148e-03 4.6959e+00 6 | Non-bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 7 | Bonded | 8.5977e-01 6.9946e-01 5.5150e-03 4.6960e+00 8 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9 | Vdw | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 10 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Bonds | 5.9803e-01 5.8815e-01 2.0840e-04 3.3440e+00 12 | Angles | 2.6174e-01 3.7511e-01 5.3260e-06 3.4970e+00 13 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 14 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 15 | -------------------------------------------------------------------------------- /plot/mc/h2o.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/mc/h2o.pdf -------------------------------------------------------------------------------- /plot/mc/h2o.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/mc/h2o.mc 2 | SIMTYPE MC 3 | PLOTOUT ./h2o.pdf 4 | -------------------------------------------------------------------------------- /plot/mc/h2o_5.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Potential | -2.5919e+01 2.9075e+00 -3.5596e+01 -1.9655e+01 6 | Non-bonded | -3.1760e+01 2.8680e+00 -4.3570e+01 -2.5520e+01 7 | Bonded | 5.8415e+00 2.1697e+00 1.5730e+00 1.3750e+01 8 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9 | Vdw | 6.3505e+00 2.8491e+00 1.3360e+00 1.7360e+01 10 | Elst | -3.8111e+01 5.1654e+00 -5.5250e+01 -2.9920e+01 11 | Bonds | 4.0010e+00 1.8650e+00 5.4860e-01 1.2070e+01 12 | Angles | 1.8406e+00 1.1438e+00 7.9230e-02 6.4090e+00 13 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 14 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 15 | -------------------------------------------------------------------------------- /plot/mc/h2o_5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/mc/h2o_5.pdf -------------------------------------------------------------------------------- /plot/mc/h2o_5.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/mc/h2o_5.mc 2 | SIMTYPE MC 3 | PLOTOUT ./h2o_5.pdf 4 | -------------------------------------------------------------------------------- /plot/mc/he2.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Potential | 5.1342e-03 1.0411e-01 -1.8001e-03 2.3189e+00 6 | Non-bonded | -1.5099e-05 1.2723e-04 -1.8000e-03 -7.1070e-10 7 | Bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 8 | Boundary | 5.1494e-03 1.0411e-01 0.0000e+00 2.3190e+00 9 | Vdw | -1.5099e-05 1.2723e-04 -1.8000e-03 -7.1070e-10 10 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Bonds | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 12 | Angles | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 13 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 14 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 15 | -------------------------------------------------------------------------------- /plot/mc/he2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/mc/he2.pdf -------------------------------------------------------------------------------- /plot/mc/he2.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/mc/he2.mc 2 | SIMTYPE MC 3 | PLOTOUT ./he2.pdf 4 | -------------------------------------------------------------------------------- /plot/mc/he20.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Potential | 7.9946e-03 1.9628e-01 -9.9984e-01 2.4467e+00 6 | Non-bonded | -1.2716e-02 8.7159e-02 -9.9980e-01 4.7840e-01 7 | Bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 8 | Boundary | 2.0711e-02 1.7450e-01 0.0000e+00 2.4480e+00 9 | Vdw | -1.2716e-02 8.7159e-02 -9.9980e-01 4.7840e-01 10 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Bonds | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 12 | Angles | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 13 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 14 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 15 | -------------------------------------------------------------------------------- /plot/mc/he20.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/mc/he20.pdf -------------------------------------------------------------------------------- /plot/mc/he20.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/mc/he20.mc 2 | SIMTYPE MC 3 | PLOTOUT ./he20.pdf 4 | -------------------------------------------------------------------------------- /plot/mc/hf.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Potential | 1.0267e-02 1.4674e-01 7.1633e-11 4.6425e+00 6 | Non-bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 7 | Bonded | 1.0266e-02 1.4672e-01 7.1630e-11 4.6420e+00 8 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9 | Vdw | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 10 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Bonds | 1.0266e-02 1.4672e-01 7.1630e-11 4.6420e+00 12 | Angles | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 13 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 14 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 15 | -------------------------------------------------------------------------------- /plot/mc/hf.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/mc/hf.pdf -------------------------------------------------------------------------------- /plot/mc/hf.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/mc/hf.mc 2 | SIMTYPE MC 3 | PLOTOUT ./hf.pdf 4 | -------------------------------------------------------------------------------- /plot/mc/lif.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Potential | -1.7664e+02 9.2339e+00 -1.7785e+02 -8.3025e+01 6 | Non-bonded | -1.7659e+02 9.2273e+00 -1.7780e+02 -8.3020e+01 7 | Bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 8 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9 | Vdw | 1.5041e+01 2.1163e+00 -3.3390e-02 1.5750e+01 10 | Elst | -1.9168e+02 1.1226e+01 -1.9360e+02 -8.3020e+01 11 | Bonds | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 12 | Angles | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 13 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 14 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 15 | -------------------------------------------------------------------------------- /plot/mc/lif.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/mc/lif.pdf -------------------------------------------------------------------------------- /plot/mc/lif.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/mc/lif.mc 2 | SIMTYPE MC 3 | PLOTOUT ./lif.pdf 4 | -------------------------------------------------------------------------------- /plot/md/benzene_2.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Total | 3.4237e+01 9.9663e-04 3.4235e+01 3.4239e+01 6 | Kinetic | 1.8234e+01 2.6767e+00 1.1180e+01 2.5310e+01 7 | Potential | 1.6003e+01 2.6776e+00 8.9240e+00 2.3060e+01 8 | Non-bonded | 1.0572e+00 4.5248e-01 1.3030e-02 3.9230e+00 9 | Bonded | 1.4946e+01 2.6414e+00 7.6600e+00 2.1780e+01 10 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Vdw | -9.5754e-01 4.6501e-01 -2.0100e+00 1.9560e+00 12 | Elst | 2.0148e+00 5.6040e-02 1.8980e+00 2.1430e+00 13 | Bonds | 7.3865e+00 2.2626e+00 2.0020e+00 1.3180e+01 14 | Angles | 4.1656e+00 1.1187e+00 1.2750e+00 7.8130e+00 15 | Torsions | 3.1784e+00 9.0414e-01 4.6580e-09 5.6100e+00 16 | Outofplanes | 2.1552e-01 7.3129e-02 4.7400e-10 4.5050e-01 17 | -------------------------------------------------------------------------------- /plot/md/benzene_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/md/benzene_2.pdf -------------------------------------------------------------------------------- /plot/md/benzene_2.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/md/benzene_2.md 2 | SIMTYPE MD 3 | PLOTOUT ./benzene_2.pdf 4 | -------------------------------------------------------------------------------- /plot/md/ch2o.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Total | 3.9119e+00 1.1756e-04 3.9115e+00 3.9122e+00 6 | Kinetic | 2.4358e+00 6.2942e-01 1.0980e+00 3.8300e+00 7 | Potential | 1.4761e+00 6.2951e-01 8.1230e-02 2.8140e+00 8 | Non-bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9 | Bonded | 1.4761e+00 6.2951e-01 8.1230e-02 2.8140e+00 10 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Vdw | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 12 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 13 | Bonds | 1.8160e-01 1.4167e-01 5.8100e-04 7.8240e-01 14 | Angles | 5.9451e-01 3.6666e-01 1.7370e-03 1.8070e+00 15 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 16 | Outofplanes | 6.9994e-01 5.4241e-01 2.1970e-06 1.9570e+00 17 | -------------------------------------------------------------------------------- /plot/md/ch2o.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/md/ch2o.pdf -------------------------------------------------------------------------------- /plot/md/ch2o.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/md/ch2o.md 2 | SIMTYPE MD 3 | PLOTOUT ./ch2o.pdf 4 | -------------------------------------------------------------------------------- /plot/md/co.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Total | 2.4027e+00 1.0141e-04 2.4025e+00 2.4028e+00 6 | Kinetic | 2.0404e+00 2.5704e-01 1.6430e+00 2.4030e+00 7 | Potential | 3.6224e-01 2.5713e-01 2.7820e-06 7.5980e-01 8 | Non-bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9 | Bonded | 3.6224e-01 2.5713e-01 2.7820e-06 7.5980e-01 10 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Vdw | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 12 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 13 | Bonds | 3.6224e-01 2.5713e-01 2.7820e-06 7.5980e-01 14 | Angles | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 15 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 16 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 17 | -------------------------------------------------------------------------------- /plot/md/co.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/md/co.pdf -------------------------------------------------------------------------------- /plot/md/co.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/md/co.md 2 | SIMTYPE MD 3 | PLOTOUT ./co.pdf 4 | -------------------------------------------------------------------------------- /plot/md/ethane.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Total | 7.3952e+00 2.3634e-04 7.3944e+00 7.3959e+00 6 | Kinetic | 4.4800e+00 7.4311e-01 2.3720e+00 7.1100e+00 7 | Potential | 2.9152e+00 7.4330e-01 2.8460e-01 5.0230e+00 8 | Non-bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9 | Bonded | 2.9152e+00 7.4330e-01 2.8460e-01 5.0230e+00 10 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Vdw | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 12 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 13 | Bonds | 1.0066e+00 3.2497e-01 9.5630e-02 1.8550e+00 14 | Angles | 1.8695e+00 6.7851e-01 1.8860e-01 4.0930e+00 15 | Torsions | 3.9067e-02 1.9550e-02 4.1730e-04 1.1070e-01 16 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 17 | -------------------------------------------------------------------------------- /plot/md/ethane.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/md/ethane.pdf -------------------------------------------------------------------------------- /plot/md/ethane.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/md/ethane.md 2 | SIMTYPE MD 3 | PLOTOUT ./ethane.pdf 4 | -------------------------------------------------------------------------------- /plot/md/h2o.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Total | 3.5944e+00 3.1056e-04 3.5937e+00 3.5951e+00 6 | Kinetic | 2.7036e+00 4.5665e-01 1.6200e+00 3.5560e+00 7 | Potential | 8.9079e-01 4.5692e-01 3.7490e-02 1.9750e+00 8 | Non-bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9 | Bonded | 8.9063e-01 4.5699e-01 3.7490e-02 1.9750e+00 10 | Boundary | 1.6210e-04 3.6246e-03 0.0000e+00 8.1210e-02 11 | Vdw | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 12 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 13 | Bonds | 3.2638e-01 2.0655e-01 4.2000e-04 9.5200e-01 14 | Angles | 5.6426e-01 4.2071e-01 5.4750e-08 1.5960e+00 15 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 16 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 17 | -------------------------------------------------------------------------------- /plot/md/h2o.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/md/h2o.pdf -------------------------------------------------------------------------------- /plot/md/h2o.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/md/h2o.md 2 | SIMTYPE MD 3 | PLOTOUT ./h2o.pdf 4 | -------------------------------------------------------------------------------- /plot/md/h2o_5.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Total | -2.2264e+01 8.2132e-04 -2.2266e+01 -2.2262e+01 6 | Kinetic | 8.8608e+00 1.2825e+00 5.4860e+00 1.3330e+01 7 | Potential | -3.1125e+01 1.2832e+00 -3.5600e+01 -2.7750e+01 8 | Non-bonded | -3.6334e+01 2.0992e+00 -4.3570e+01 -3.1480e+01 9 | Bonded | 5.2020e+00 2.0903e+00 3.6400e-01 1.1680e+01 10 | Boundary | 7.6619e-03 5.9287e-02 0.0000e+00 8.7970e-01 11 | Vdw | 9.4451e+00 1.8239e+00 5.5210e+00 1.4940e+01 12 | Elst | -4.5779e+01 2.9177e+00 -5.5270e+01 -3.8690e+01 13 | Bonds | 3.2173e+00 1.6842e+00 2.0210e-01 7.2170e+00 14 | Angles | 1.9847e+00 1.2610e+00 1.0110e-01 5.4590e+00 15 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 16 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 17 | -------------------------------------------------------------------------------- /plot/md/h2o_5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/md/h2o_5.pdf -------------------------------------------------------------------------------- /plot/md/h2o_5.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/md/h2o_5.md 2 | SIMTYPE MD 3 | PLOTOUT ./h2o_5.pdf 4 | -------------------------------------------------------------------------------- /plot/md/he2.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Total | -1.8001e-03 5.8781e-09 -1.8001e-03 -1.8000e-03 6 | Kinetic | 2.2883e-03 2.5508e-03 5.9620e-23 8.2000e-03 7 | Potential | -4.0884e-03 2.5508e-03 -1.0000e-02 -1.8000e-03 8 | Non-bonded | -4.0884e-03 2.5508e-03 -1.0000e-02 -1.8000e-03 9 | Bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 10 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Vdw | -4.0884e-03 2.5508e-03 -1.0000e-02 -1.8000e-03 12 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 13 | Bonds | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 14 | Angles | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 15 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 16 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 17 | -------------------------------------------------------------------------------- /plot/md/he2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/md/he2.pdf -------------------------------------------------------------------------------- /plot/md/he2.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/md/he2.md 2 | SIMTYPE MD 3 | PLOTOUT ./he2.pdf 4 | -------------------------------------------------------------------------------- /plot/md/he20.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Total | 1.8272e+01 1.6110e-02 1.8230e+01 1.8319e+01 6 | Kinetic | 1.8266e+01 2.4256e-01 1.4800e+01 1.9040e+01 7 | Potential | 5.3029e-03 2.4507e-01 -7.8720e-01 3.5230e+00 8 | Non-bonded | -2.1288e-02 1.0733e-01 -7.8720e-01 7.6750e-01 9 | Bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 10 | Boundary | 2.6591e-02 2.1867e-01 0.0000e+00 3.5270e+00 11 | Vdw | -2.1288e-02 1.0733e-01 -7.8720e-01 7.6750e-01 12 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 13 | Bonds | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 14 | Angles | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 15 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 16 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 17 | -------------------------------------------------------------------------------- /plot/md/he20.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/md/he20.pdf -------------------------------------------------------------------------------- /plot/md/he20.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/md/he20.md 2 | SIMTYPE MD 3 | PLOTOUT ./he20.pdf 4 | -------------------------------------------------------------------------------- /plot/md/hf.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Total | 4.6391e+00 2.4166e-03 4.6357e+00 4.6425e+00 6 | Kinetic | 2.3163e+00 1.6383e+00 5.9620e-23 4.6360e+00 7 | Potential | 2.3227e+00 1.6407e+00 5.2770e-07 4.6420e+00 8 | Non-bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9 | Bonded | 2.3227e+00 1.6407e+00 5.2770e-07 4.6420e+00 10 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Vdw | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 12 | Elst | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 13 | Bonds | 2.3227e+00 1.6407e+00 5.2770e-07 4.6420e+00 14 | Angles | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 15 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 16 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 17 | -------------------------------------------------------------------------------- /plot/md/hf.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/md/hf.pdf -------------------------------------------------------------------------------- /plot/md/hf.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/md/hf.md 2 | SIMTYPE MD 3 | PLOTOUT ./hf.pdf 4 | -------------------------------------------------------------------------------- /plot/md/lif.log: -------------------------------------------------------------------------------- 1 | 2 | ------------- Energy Component Properties [kcal/mol] ------------- 3 | component avg std min max 4 | ------------------------------------------------------------------ 5 | Total | -8.3212e+01 6.9072e-01 -8.6837e+01 -7.8162e+01 6 | Kinetic | 2.4205e+01 2.7261e+01 5.9620e-23 9.3880e+01 7 | Potential | -1.0742e+02 2.7525e+01 -1.7780e+02 -7.8970e+01 8 | Non-bonded | -1.0742e+02 2.7525e+01 -1.7780e+02 -7.8970e+01 9 | Bonded | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 10 | Boundary | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 11 | Vdw | 5.1668e+00 2.1722e+01 -3.3410e-02 1.5390e+02 12 | Elst | -1.1258e+02 3.7421e+01 -2.3290e+02 -8.2990e+01 13 | Bonds | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 14 | Angles | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 15 | Torsions | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 16 | Outofplanes | 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 17 | -------------------------------------------------------------------------------- /plot/md/lif.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmpchem/computational_chemistry/14964a0cc6ded3856650285b5cc79396f94a7693/plot/md/lif.pdf -------------------------------------------------------------------------------- /plot/md/lif.plt: -------------------------------------------------------------------------------- 1 | INPUT ../../input/md/lif.md 2 | SIMTYPE MD 3 | PLOTOUT ./lif.pdf 4 | -------------------------------------------------------------------------------- /scripts/geometry_analysis/angles.py: -------------------------------------------------------------------------------- 1 | import sys, math 2 | 3 | ## CONSTANTS ## 4 | 5 | # threshold beyond average of covalent radiii to determine bond cutoff 6 | bond_thresh = 1.2 7 | 8 | # conversion from radians to degrees and vice versa 9 | rad2deg = 180.0 / math.pi 10 | deg2rad = 1.0 / rad2deg 11 | 12 | # covalent (or ionic) radii by atomic element (Angstroms) from 13 | # "Inorganic Chemistry" 3rd ed, Housecroft, Appendix 6, pgs 1013-1014 14 | cov_rads = { 'H' : 0.37, 'C' : 0.77, 'O' : 0.73, 'N' : 0.75, 'F' : 0.71, 15 | 'P' : 1.10, 'S' : 1.03, 'Cl': 0.99, 'Br': 1.14, 'I' : 1.33, 'He': 0.30, 16 | 'Ne': 0.84, 'Ar': 1.00, 'Li': 1.02, 'Be': 0.27, 'B' : 0.88, 'Na': 1.02, 17 | 'Mg': 0.72, 'Al': 1.30, 'Si': 1.18, 'K' : 1.38, 'Ca': 1.00, 'Sc': 0.75, 18 | 'Ti': 0.86, 'V' : 0.79, 'Cr': 0.73, 'Mn': 0.67, 'Fe': 0.61, 'Co': 0.64, 19 | 'Ni': 0.55, 'Cu': 0.46, 'Zn': 0.60, 'Ga': 1.22, 'Ge': 1.22, 'As': 1.22, 20 | 'Se': 1.17, 'Kr': 1.03, 'X' : 0.00} 21 | 22 | ## IO FUNCTIONS ## 23 | 24 | # read file data into a 2-d array 25 | def get_file_string_array(file_name): 26 | try: 27 | file = open(file_name, "r") 28 | except IOError: 29 | print('Error: file (%s) not found!\n' % (file_name)) 30 | sys.exit() 31 | lines = file.readlines() 32 | file.close() 33 | array = [] 34 | for line in lines: 35 | array.append(line.split()) 36 | return array 37 | 38 | # read in geometry from xyz file 39 | def get_geom(xyz_file_name): 40 | xyz_array = get_file_string_array(xyz_file_name) 41 | n_atoms = int(xyz_array[0][0]) 42 | at_types = ['' for i in range(n_atoms)] 43 | coords = [[0.0 for j in range(3)] for i in range(n_atoms)] 44 | for i in range(n_atoms): 45 | at_types[i] = xyz_array[i+2][0] 46 | for j in range(3): 47 | coords[i][j] = float(xyz_array[i+2][j+1]) 48 | geom = [at_types, coords] 49 | return geom 50 | 51 | # input syntax and usage warnings 52 | def get_inputs(): 53 | if (not len(sys.argv) == 2): 54 | print('Usage: %s XYZ_FILE\n' % (sys.argv[0])) 55 | print(' XYZ_FILE: coordinates of target molecule\n') 56 | sys.exit() 57 | else: 58 | xyz_file_name = sys.argv[1] 59 | return xyz_file_name 60 | 61 | # print geometry to screen 62 | def print_geom(geom, comment): 63 | at_types, coords = geom[0:2] 64 | n_atoms = len(at_types) 65 | print('%i\n%s\n' % (n_atoms, comment), end='') 66 | for i in range(n_atoms): 67 | print('%-2s' % (at_types[i]), end='') 68 | for j in range(3): 69 | print(' %12.6f' % (coords[i][j]), end='') 70 | print('\n', end='') 71 | print('\n', end='') 72 | 73 | # print bond graph to screen 74 | def print_bond_graph(geom, bond_graph, comment): 75 | at_types = geom[0] 76 | n_atoms = len(at_types) 77 | print('%s\n' % (comment), end='') 78 | for i in range(n_atoms): 79 | print(' %4i %-2s -' % (i+1, at_types[i]), end='') 80 | for j in range(len(bond_graph[i])): 81 | print(' %i' % (bond_graph[i][j] + 1), end='') 82 | print('\n', end='') 83 | print('\n', end='') 84 | 85 | # print list of bond lengths to screen 86 | def print_bonds(geom, bonds): 87 | at_types = geom[0] 88 | n_bonds = len(bonds) 89 | print('%i bond(s) found (Angstrom)' % (n_bonds)) 90 | for q in range(n_bonds): 91 | n1, n2 = bonds[q][0:2] 92 | r12 = bonds[q][2] 93 | nstr = '%i-%i' % (n1+1, n2+1) 94 | tstr = '(%s-%s) ' % (at_types[n1], at_types[n2]) 95 | print(' %-15s %-13s %6.4f\n' % (nstr, tstr, r12), end='') 96 | print('\n', end='') 97 | 98 | # print list of bond angles to screen 99 | def print_angles(geom, angles): 100 | at_types = geom[0] 101 | n_angles = len(angles) 102 | print('%i angle(s) found (degrees)' % (n_angles)) 103 | for q in range(n_angles): 104 | n1, n2, n3 = angles[q][0:3] 105 | a123 = angles[q][3] 106 | nstr = '%i-%i-%i' % (n1+1, n2+1, n3+1) 107 | tstr = '(%s-%s-%s) ' % (at_types[n1], at_types[n2], at_types[n3]) 108 | print(' %-15s %-13s %7.3f\n' % (nstr, tstr, a123), end='') 109 | print('\n', end='') 110 | 111 | ## MATH FUNCTIONS ## 112 | 113 | # calculate distance between two 3-d cartesian coordinates 114 | def get_r12(coords1, coords2): 115 | r2 = 0.0 116 | for p in range(3): 117 | r2 += (coords2[p] - coords1[p])**2 118 | r = math.sqrt(r2) 119 | return r 120 | 121 | # calculate unit vector between to 3-d cartesian coordinates 122 | def get_u12(coords1, coords2): 123 | r12 = get_r12(coords1, coords2) 124 | u12 = [0.0 for p in range(3)] 125 | for p in range(3): 126 | u12[p] = (coords2[p] - coords1[p]) / r12 127 | return u12 128 | 129 | # calculate dot product between two unit vectors 130 | def get_udp(uvec1, uvec2): 131 | udp = 0.0 132 | for p in range(3): 133 | udp += uvec1[p] * uvec2[p] 134 | udp = max(min(udp, 1.0), -1.0) 135 | return udp 136 | 137 | # calculate unit cross product between two unit vectors 138 | def get_ucp(uvec1, uvec2): 139 | ucp = [0.0 for p in range(3)] 140 | cos_12 = get_udp(uvec1, uvec2) 141 | sin_12 = math.sqrt(1 - cos_12**2) 142 | ucp[0] = (uvec1[1]*uvec2[2] - uvec1[2]*uvec2[1]) / sin_12 143 | ucp[1] = (uvec1[2]*uvec2[0] - uvec1[0]*uvec2[2]) / sin_12 144 | ucp[2] = (uvec1[0]*uvec2[1] - uvec1[1]*uvec2[0]) / sin_12 145 | return ucp 146 | 147 | # calculate angle between three 3-d cartesian coordinates 148 | def get_a123(coords1, coords2, coords3): 149 | u21 = get_u12(coords2, coords1) 150 | u23 = get_u12(coords2, coords3) 151 | dp2123 = get_udp(u21, u23) 152 | a123 = rad2deg * math.acos(dp2123) 153 | return a123 154 | 155 | ## TOPOLOGY FUNCTIONS ## 156 | 157 | # build graph of which atoms are covalently bonded 158 | def get_bond_graph(geom): 159 | at_types, coords = geom[0:2] 160 | n_atoms = len(at_types) 161 | bond_graph = [[] for i in range(n_atoms)] 162 | for i in range(n_atoms): 163 | covrad1 = cov_rads[at_types[i]] 164 | for j in range(i+1, n_atoms): 165 | covrad2 = cov_rads[at_types[j]] 166 | thresh = bond_thresh * (covrad1 + covrad2) 167 | r12 = get_r12(coords[i], coords[j]) 168 | if (r12 < thresh): 169 | bond_graph[i].append(j) 170 | bond_graph[j].append(i) 171 | return bond_graph 172 | 173 | # determine atoms which are covalently bonded from bond graph 174 | def get_bonds(geom, bond_graph): 175 | at_types, coords = geom[0:2] 176 | n_atoms = len(at_types) 177 | bonds = [] 178 | for i in range(n_atoms): 179 | for a in range(len(bond_graph[i])): 180 | j = bond_graph[i][a] 181 | if (i < j): 182 | r12 = get_r12(coords[i], coords[j]) 183 | bonds.append([i, j, r12]) 184 | return bonds 185 | 186 | # determine atoms which form a bond angle from bond graph 187 | def get_angles(geom, bond_graph): 188 | at_types, coords = geom[0:2] 189 | n_atoms = len(at_types) 190 | angles = [] 191 | for j in range(n_atoms): 192 | n_jbonds = len(bond_graph[j]) 193 | for a in range(n_jbonds): 194 | i = bond_graph[j][a] 195 | for b in range(a+1, n_jbonds): 196 | k = bond_graph[j][b] 197 | a123 = get_a123(coords[i], coords[j], coords[k]) 198 | angles.append([i, j, k, a123]) 199 | return angles 200 | 201 | ## MAIN BLOCK ## 202 | 203 | # read in geometry, determine bonded topology 204 | xyz_file_name = get_inputs() 205 | geom = get_geom(xyz_file_name) 206 | bond_graph = get_bond_graph(geom) 207 | 208 | # calculate bond lengths and bond angles 209 | bonds = get_bonds(geom, bond_graph) 210 | angles = get_angles(geom, bond_graph) 211 | 212 | # print resulting values 213 | print_geom(geom, 'initial geometry') 214 | print_bonds(geom, bonds) 215 | print_angles(geom, angles) 216 | 217 | # end of program 218 | -------------------------------------------------------------------------------- /scripts/geometry_analysis/bonds.py: -------------------------------------------------------------------------------- 1 | import sys, math 2 | 3 | ## CONSTANTS ## 4 | 5 | # threshold beyond average of covalent radiii to determine bond cutoff 6 | bond_thresh = 1.2 7 | 8 | # covalent (or ionic) radii by atomic element (Angstroms) from 9 | # "Inorganic Chemistry" 3rd ed, Housecroft, Appendix 6, pgs 1013-1014 10 | cov_rads = { 'H' : 0.37, 'C' : 0.77, 'O' : 0.73, 'N' : 0.75, 'F' : 0.71, 11 | 'P' : 1.10, 'S' : 1.03, 'Cl': 0.99, 'Br': 1.14, 'I' : 1.33, 'He': 0.30, 12 | 'Ne': 0.84, 'Ar': 1.00, 'Li': 1.02, 'Be': 0.27, 'B' : 0.88, 'Na': 1.02, 13 | 'Mg': 0.72, 'Al': 1.30, 'Si': 1.18, 'K' : 1.38, 'Ca': 1.00, 'Sc': 0.75, 14 | 'Ti': 0.86, 'V' : 0.79, 'Cr': 0.73, 'Mn': 0.67, 'Fe': 0.61, 'Co': 0.64, 15 | 'Ni': 0.55, 'Cu': 0.46, 'Zn': 0.60, 'Ga': 1.22, 'Ge': 1.22, 'As': 1.22, 16 | 'Se': 1.17, 'Kr': 1.03, 'X' : 0.00} 17 | 18 | ## IO FUNCTIONS ## 19 | 20 | # read file data into a 2-d array 21 | def get_file_string_array(file_name): 22 | try: 23 | file = open(file_name, "r") 24 | except IOError: 25 | print('Error: file (%s) not found!\n' % (file_name)) 26 | sys.exit() 27 | lines = file.readlines() 28 | file.close() 29 | array = [] 30 | for line in lines: 31 | array.append(line.split()) 32 | return array 33 | 34 | # read in geometry from xyz file 35 | def get_geom(xyz_file_name): 36 | xyz_array = get_file_string_array(xyz_file_name) 37 | n_atoms = int(xyz_array[0][0]) 38 | at_types = ['' for i in range(n_atoms)] 39 | coords = [[0.0 for j in range(3)] for i in range(n_atoms)] 40 | for i in range(n_atoms): 41 | at_types[i] = xyz_array[i+2][0] 42 | for j in range(3): 43 | coords[i][j] = float(xyz_array[i+2][j+1]) 44 | geom = [at_types, coords] 45 | return geom 46 | 47 | # input syntax and usage warnings 48 | def get_inputs(): 49 | if (not len(sys.argv) == 2): 50 | print('Usage: %s XYZ_FILE\n' % (sys.argv[0])) 51 | print(' XYZ_FILE: coordinates of target molecule\n') 52 | sys.exit() 53 | else: 54 | xyz_file_name = sys.argv[1] 55 | return xyz_file_name 56 | 57 | # print geometry to screen 58 | def print_geom(geom, comment): 59 | at_types, coords = geom[0:2] 60 | n_atoms = len(at_types) 61 | print('%i\n%s\n' % (n_atoms, comment), end='') 62 | for i in range(n_atoms): 63 | print('%-2s' % (at_types[i]), end='') 64 | for j in range(3): 65 | print(' %12.6f' % (coords[i][j]), end='') 66 | print('\n', end='') 67 | print('\n', end='') 68 | 69 | # print bond graph to screen 70 | def print_bond_graph(geom, bond_graph, comment): 71 | at_types = geom[0] 72 | n_atoms = len(at_types) 73 | print('%s\n' % (comment), end='') 74 | for i in range(n_atoms): 75 | print(' %4i %-2s -' % (i+1, at_types[i]), end='') 76 | for j in range(len(bond_graph[i])): 77 | print(' %i' % (bond_graph[i][j] + 1), end='') 78 | print('\n', end='') 79 | print('\n', end='') 80 | 81 | # print list of bond lengths to screen 82 | def print_bonds(geom, bonds): 83 | at_types = geom[0] 84 | n_bonds = len(bonds) 85 | print('%i bond(s) found (Angstrom)' % (n_bonds)) 86 | for q in range(n_bonds): 87 | n1, n2 = bonds[q][0:2] 88 | r12 = bonds[q][2] 89 | nstr = '%i-%i' % (n1+1, n2+1) 90 | tstr = '(%s-%s) ' % (at_types[n1], at_types[n2]) 91 | print(' %-15s %-13s %6.4f\n' % (nstr, tstr, r12), end='') 92 | print('\n', end='') 93 | 94 | ## MATH FUNCTIONS ## 95 | 96 | # calculate distance between two 3-d cartesian coordinates 97 | def get_r12(coords1, coords2): 98 | r2 = 0.0 99 | for p in range(3): 100 | r2 += (coords2[p] - coords1[p])**2 101 | r = math.sqrt(r2) 102 | return r 103 | 104 | ## TOPOLOGY FUNCTIONS ## 105 | 106 | # build graph of which atoms are covalently bonded 107 | def get_bond_graph(geom): 108 | at_types, coords = geom[0:2] 109 | n_atoms = len(at_types) 110 | bond_graph = [[] for i in range(n_atoms)] 111 | for i in range(n_atoms): 112 | covrad1 = cov_rads[at_types[i]] 113 | for j in range(i+1, n_atoms): 114 | covrad2 = cov_rads[at_types[j]] 115 | thresh = bond_thresh * (covrad1 + covrad2) 116 | r12 = get_r12(coords[i], coords[j]) 117 | if (r12 < thresh): 118 | bond_graph[i].append(j) 119 | bond_graph[j].append(i) 120 | return bond_graph 121 | 122 | # determine atoms which are covalently bonded from bond graph 123 | def get_bonds(geom, bond_graph): 124 | at_types, coords = geom[0:2] 125 | n_atoms = len(at_types) 126 | bonds = [] 127 | for i in range(n_atoms): 128 | for a in range(len(bond_graph[i])): 129 | j = bond_graph[i][a] 130 | if (i < j): 131 | r12 = get_r12(coords[i], coords[j]) 132 | bonds.append([i, j, r12]) 133 | return bonds 134 | 135 | ## MAIN BLOCK ## 136 | 137 | # read in geometry, determine bonded topology 138 | xyz_file_name = get_inputs() 139 | geom = get_geom(xyz_file_name) 140 | bond_graph = get_bond_graph(geom) 141 | 142 | # calculate bond lengths 143 | bonds = get_bonds(geom, bond_graph) 144 | 145 | # print resulting values 146 | print_geom(geom, 'initial geometry') 147 | print_bond_graph(geom, bond_graph, 'bond graph') 148 | print_bonds(geom, bonds) 149 | 150 | # end of program 151 | -------------------------------------------------------------------------------- /scripts/geometry_analysis/torsions.py: -------------------------------------------------------------------------------- 1 | import sys, math 2 | 3 | ## CONSTANTS ## 4 | 5 | # threshold beyond average of covalent radiii to determine bond cutoff 6 | bond_thresh = 1.2 7 | 8 | # conversion from radians to degrees and vice versa 9 | rad2deg = 180.0 / math.pi 10 | deg2rad = 1.0 / rad2deg 11 | 12 | # covalent (or ionic) radii by atomic element (Angstroms) from 13 | # "Inorganic Chemistry" 3rd ed, Housecroft, Appendix 6, pgs 1013-1014 14 | cov_rads = { 'H' : 0.37, 'C' : 0.77, 'O' : 0.73, 'N' : 0.75, 'F' : 0.71, 15 | 'P' : 1.10, 'S' : 1.03, 'Cl': 0.99, 'Br': 1.14, 'I' : 1.33, 'He': 0.30, 16 | 'Ne': 0.84, 'Ar': 1.00, 'Li': 1.02, 'Be': 0.27, 'B' : 0.88, 'Na': 1.02, 17 | 'Mg': 0.72, 'Al': 1.30, 'Si': 1.18, 'K' : 1.38, 'Ca': 1.00, 'Sc': 0.75, 18 | 'Ti': 0.86, 'V' : 0.79, 'Cr': 0.73, 'Mn': 0.67, 'Fe': 0.61, 'Co': 0.64, 19 | 'Ni': 0.55, 'Cu': 0.46, 'Zn': 0.60, 'Ga': 1.22, 'Ge': 1.22, 'As': 1.22, 20 | 'Se': 1.17, 'Kr': 1.03, 'X' : 0.00} 21 | 22 | ## IO FUNCTIONS ## 23 | 24 | # read file data into a 2-d array 25 | def get_file_string_array(file_name): 26 | try: 27 | file = open(file_name, "r") 28 | except IOError: 29 | print('Error: file (%s) not found!\n' % (file_name)) 30 | sys.exit() 31 | lines = file.readlines() 32 | file.close() 33 | array = [] 34 | for line in lines: 35 | array.append(line.split()) 36 | return array 37 | 38 | # read in geometry from xyz file 39 | def get_geom(xyz_file_name): 40 | xyz_array = get_file_string_array(xyz_file_name) 41 | n_atoms = int(xyz_array[0][0]) 42 | at_types = ['' for i in range(n_atoms)] 43 | coords = [[0.0 for j in range(3)] for i in range(n_atoms)] 44 | for i in range(n_atoms): 45 | at_types[i] = xyz_array[i+2][0] 46 | for j in range(3): 47 | coords[i][j] = float(xyz_array[i+2][j+1]) 48 | geom = [at_types, coords] 49 | return geom 50 | 51 | # input syntax and usage warnings 52 | def get_inputs(): 53 | if (not len(sys.argv) == 2): 54 | print('Usage: torsions.py XYZ_FILE\n') 55 | print(' XYZ_FILE: coordinates of target molecule\n') 56 | sys.exit() 57 | else: 58 | xyz_file_name = sys.argv[1] 59 | return xyz_file_name 60 | 61 | # print geometry to screen 62 | def print_geom(geom, comment): 63 | at_types, coords = geom[0:2] 64 | n_atoms = len(at_types) 65 | print('%i\n%s\n' % (n_atoms, comment), end='') 66 | for i in range(n_atoms): 67 | print('%-2s' % (at_types[i]), end='') 68 | for j in range(3): 69 | print(' %12.6f' % (coords[i][j]), end='') 70 | print('\n', end='') 71 | print('\n', end='') 72 | 73 | # print bond graph to screen 74 | def print_bond_graph(geom, bond_graph, comment): 75 | at_types = geom[0] 76 | n_atoms = len(at_types) 77 | print('%s\n' % (comment), end='') 78 | for i in range(n_atoms): 79 | print(' %4i %-2s -' % (i+1, at_types[i]), end='') 80 | for j in range(len(bond_graph[i])): 81 | print(' %i' % (bond_graph[i][j] + 1), end='') 82 | print('\n', end='') 83 | print('\n', end='') 84 | 85 | # print list of bond lengths to screen 86 | def print_bonds(geom, bonds): 87 | at_types = geom[0] 88 | n_bonds = len(bonds) 89 | print('%i bond(s) found (Angstrom)' % (n_bonds)) 90 | for q in range(n_bonds): 91 | n1, n2 = bonds[q][0:2] 92 | r12 = bonds[q][2] 93 | nstr = '%i-%i' % (n1+1, n2+1) 94 | tstr = '(%s-%s) ' % (at_types[n1], at_types[n2]) 95 | print(' %-15s %-13s %6.4f\n' % (nstr, tstr, r12), end='') 96 | print('\n', end='') 97 | 98 | # print list of bond angles to screen 99 | def print_angles(geom, angles): 100 | at_types = geom[0] 101 | n_angles = len(angles) 102 | print('%i angle(s) found (degrees)' % (n_angles)) 103 | for q in range(n_angles): 104 | n1, n2, n3 = angles[q][0:3] 105 | a123 = angles[q][3] 106 | nstr = '%i-%i-%i' % (n1+1, n2+1, n3+1) 107 | tstr = '(%s-%s-%s) ' % (at_types[n1], at_types[n2], at_types[n3]) 108 | print(' %-15s %-13s %7.3f\n' % (nstr, tstr, a123), end='') 109 | print('\n', end='') 110 | 111 | # print list of torsion angles to screen 112 | def print_torsions(geom, torsions): 113 | at_types = geom[0] 114 | n_torsions = len(torsions) 115 | print('%i torsion(s) found (degrees)' % (n_torsions)) 116 | for q in range(n_torsions): 117 | n1, n2, n3, n4 = torsions[q][0:4] 118 | t1234 = torsions[q][4] 119 | nstr = '%i-%i-%i-%i' % (n1+1, n2+1, n3+1, n4+1) 120 | tstr = '(%s-%s-%s-%s) ' % (at_types[n1], at_types[n2], at_types[n3], at_types[n4]) 121 | print(' %-15s %-13s %8.3f\n' % (nstr, tstr, t1234), end='') 122 | print('\n', end='') 123 | 124 | ## MATH FUNCTIONS ## 125 | 126 | # calculate distance between two 3-d cartesian coordinates 127 | def get_r12(coords1, coords2): 128 | r2 = 0.0 129 | for p in range(3): 130 | r2 += (coords2[p] - coords1[p])**2 131 | r = math.sqrt(r2) 132 | return r 133 | 134 | # calculate unit vector between to 3-d cartesian coordinates 135 | def get_u12(coords1, coords2): 136 | r12 = get_r12(coords1, coords2) 137 | u12 = [0.0 for p in range(3)] 138 | for p in range(3): 139 | u12[p] = (coords2[p] - coords1[p]) / r12 140 | return u12 141 | 142 | # calculate dot product between two unit vectors 143 | def get_udp(uvec1, uvec2): 144 | udp = 0.0 145 | for p in range(3): 146 | udp += uvec1[p] * uvec2[p] 147 | udp = max(min(udp, 1.0), -1.0) 148 | return udp 149 | 150 | # calculate unit cross product between two unit vectors 151 | def get_ucp(uvec1, uvec2): 152 | ucp = [0.0 for p in range(3)] 153 | cos_12 = get_udp(uvec1, uvec2) 154 | sin_12 = math.sqrt(1 - cos_12**2) 155 | ucp[0] = (uvec1[1]*uvec2[2] - uvec1[2]*uvec2[1]) / sin_12 156 | ucp[1] = (uvec1[2]*uvec2[0] - uvec1[0]*uvec2[2]) / sin_12 157 | ucp[2] = (uvec1[0]*uvec2[1] - uvec1[1]*uvec2[0]) / sin_12 158 | return ucp 159 | 160 | # calculate angle between three 3-d cartesian coordinates 161 | def get_a123(coords1, coords2, coords3): 162 | u21 = get_u12(coords2, coords1) 163 | u23 = get_u12(coords2, coords3) 164 | dp2123 = get_udp(u21, u23) 165 | a123 = rad2deg * math.acos(dp2123) 166 | return a123 167 | 168 | # calculate torsion angle between four 3-d cartesian coordinates 169 | def get_t1234(coords1, coords2, coords3, coords4): 170 | u21 = get_u12(coords2, coords1) 171 | u23 = get_u12(coords2, coords3) 172 | u32 = get_u12(coords3, coords2) 173 | u34 = get_u12(coords3, coords4) 174 | u21c23 = get_ucp(u21, u23) 175 | u32c34 = get_ucp(u32, u34) 176 | dp = get_udp(u21c23, u32c34) 177 | sign = 2 * float(get_udp(u21c23, u34) < 0) - 1 178 | t1234 = rad2deg * sign * math.acos(dp) 179 | return t1234 180 | 181 | ## TOPOLOGY FUNCTIONS ## 182 | 183 | # build graph of which atoms are covalently bonded 184 | def get_bond_graph(geom): 185 | at_types, coords = geom[0:2] 186 | n_atoms = len(at_types) 187 | bond_graph = [[] for i in range(n_atoms)] 188 | for i in range(n_atoms): 189 | covrad1 = cov_rads[at_types[i]] 190 | for j in range(i+1, n_atoms): 191 | covrad2 = cov_rads[at_types[j]] 192 | thresh = bond_thresh * (covrad1 + covrad2) 193 | r12 = get_r12(coords[i], coords[j]) 194 | if (r12 < thresh): 195 | bond_graph[i].append(j) 196 | bond_graph[j].append(i) 197 | return bond_graph 198 | 199 | # determine atoms which are covalently bonded from bond graph 200 | def get_bonds(geom, bond_graph): 201 | at_types, coords = geom[0:2] 202 | n_atoms = len(at_types) 203 | bonds = [] 204 | for i in range(n_atoms): 205 | for a in range(len(bond_graph[i])): 206 | j = bond_graph[i][a] 207 | if (i < j): 208 | r12 = get_r12(coords[i], coords[j]) 209 | bonds.append([i, j, r12]) 210 | return bonds 211 | 212 | # determine atoms which form a bond angle from bond graph 213 | def get_angles(geom, bond_graph): 214 | at_types, coords = geom[0:2] 215 | n_atoms = len(at_types) 216 | angles = [] 217 | for j in range(n_atoms): 218 | n_jbonds = len(bond_graph[j]) 219 | for a in range(n_jbonds): 220 | i = bond_graph[j][a] 221 | for b in range(a+1, n_jbonds): 222 | k = bond_graph[j][b] 223 | a123 = get_a123(coords[i], coords[j], coords[k]) 224 | angles.append([i, j, k, a123]) 225 | return angles 226 | 227 | # determine atoms which form torsion angles from bond graph 228 | def get_torsions(geom, bond_graph): 229 | at_types, coords = geom[0:2] 230 | n_atoms = len(at_types) 231 | torsions = [] 232 | for j in range(n_atoms): 233 | n_jbonds = len(bond_graph[j]) 234 | for a in range(n_jbonds): 235 | k = bond_graph[j][a] 236 | if (k < j): 237 | continue 238 | n_kbonds = len(bond_graph[k]) 239 | for b in range(n_jbonds): 240 | i = bond_graph[j][b] 241 | if (i == k): 242 | continue 243 | for c in range(n_kbonds): 244 | l = bond_graph[k][c] 245 | if (l == j or l == i): 246 | continue 247 | t1234 = get_t1234(coords[i], coords[j], coords[k], coords[l]) 248 | torsions.append([i, j, k, l, t1234]) 249 | return torsions 250 | 251 | ## MAIN BLOCK ## 252 | 253 | # read in geometry, determine bonded topology 254 | xyz_file_name = get_inputs() 255 | geom = get_geom(xyz_file_name) 256 | bond_graph = get_bond_graph(geom) 257 | 258 | # calculate bond lengths, angles, and torsions 259 | bonds = get_bonds(geom, bond_graph) 260 | angles = get_angles(geom, bond_graph) 261 | torsions = get_torsions(geom, bond_graph) 262 | 263 | # print resulting values 264 | print_geom(geom, 'initial geometry') 265 | print_bonds(geom, bonds) 266 | print_angles(geom, angles) 267 | print_torsions(geom, torsions) 268 | 269 | # end of program 270 | -------------------------------------------------------------------------------- /scripts/geometry_analysis/zmat2xyz.py: -------------------------------------------------------------------------------- 1 | import sys, math 2 | import numpy as np 3 | import numpy.linalg as la 4 | 5 | ## CONSTANTS ## 6 | 7 | # conversion from radians to degrees and vice versa 8 | rad2deg = 180.0 / math.pi 9 | deg2rad = math.pi / 180.0 10 | 11 | # cartesian indices 12 | xyz = {0: 'X', 1: 'Y', 2: 'Z', 'X': 0, 'Y': 1, 'Z': 2} 13 | 14 | # relative atomic masses of elements (in atomic mass units [amu]) from 15 | # "CRC Handbook" 84th ed, ed Lide, pgs 1-12 - 1-14 16 | at_masses = { 'H' : 1.00794, 'C' : 12.0107, 'O' : 15.9994, 'N' : 14.0067, 17 | 'F' : 18.9984, 'P' : 30.9738, 'S' : 32.0650, 'Cl': 35.4530, 'Br': 79.9040, 18 | 'I' : 126.904, 'He': 4.00260, 'Ne': 20.1797, 'Ar': 39.9480, 'Li': 6.94100, 19 | 'Be': 9.01218, 'B' : 10.8110, 'Na': 22.9898, 'Mg': 24.3050, 'Al': 26.9815, 20 | 'Si': 28.0855, 'K' : 39.0983, 'Ca': 40.0780, 'Sc': 44.9559, 'Ti': 47.8670, 21 | 'V' : 50.9415, 'Cr': 51.9961, 'Mn': 54.9380, 'Fe': 55.8450, 'Co': 58.9332, 22 | 'Ni': 58.6934, 'Cu': 63.5460, 'Zn': 65.4090, 'Ga': 69.7230, 'Ge': 72.6400, 23 | 'As': 74.9216, 'Se': 78.9600, 'Kr': 83.7980, 'X' : 0.0000} 24 | 25 | ## IO FUNCTIONS ## 26 | 27 | # read file data into a 2-d array 28 | def get_file_string_array(file_name): 29 | try: 30 | file = open(file_name, "r") 31 | except IOError: 32 | print('Error: file (%s) not found!\n' % (file_name)) 33 | sys.exit() 34 | lines = file.readlines() 35 | file.close() 36 | array = [] 37 | for line in lines: 38 | array.append(line.split()) 39 | return array 40 | 41 | # input syntax and usage warnings 42 | def get_input(): 43 | if (not len(sys.argv) == 2): 44 | print('\nUsage: zmat2xyz.py ZMAT_FILE\n') 45 | print(' ZMAT_FILE: z-matrix file of target molecule\n') 46 | sys.exit() 47 | else: 48 | zmat_file_name = sys.argv[1] 49 | return zmat_file_name 50 | 51 | ## MATH FUNCTIONS ## 52 | 53 | # calculate distance between two 3-d cartesian coordinates 54 | def get_r12(coords1, coords2): 55 | r2 = 0.0 56 | for p in range(3): 57 | r2 += (coords2[p] - coords1[p])**2 58 | r = math.sqrt(r2) 59 | return r 60 | 61 | # calculate unit vector between to 3-d cartesian coordinates 62 | def get_u12(coords1, coords2): 63 | r12 = get_r12(coords1, coords2) 64 | u12 = [0.0 for p in range(3)] 65 | for p in range(3): 66 | u12[p] = (coords2[p] - coords1[p]) / r12 67 | return u12 68 | 69 | # calculate dot product between two unit vectors 70 | def get_udp(uvec1, uvec2): 71 | udp = 0.0 72 | for p in range(3): 73 | udp += uvec1[p] * uvec2[p] 74 | udp = max(min(udp, 1.0), -1.0) 75 | return udp 76 | 77 | # calculate unit cross product between two unit vectors 78 | def get_ucp(uvec1, uvec2): 79 | ucp = [0.0 for p in range(3)] 80 | cos_12 = get_udp(uvec1, uvec2) 81 | sin_12 = math.sqrt(1 - cos_12**2) 82 | ucp[0] = (uvec1[1]*uvec2[2] - uvec1[2]*uvec2[1]) / sin_12 83 | ucp[1] = (uvec1[2]*uvec2[0] - uvec1[0]*uvec2[2]) / sin_12 84 | ucp[2] = (uvec1[0]*uvec2[1] - uvec1[1]*uvec2[0]) / sin_12 85 | return ucp 86 | 87 | # get local axis system from 3 coordinates 88 | def get_local_axes(coords1, coords2, coords3): 89 | u21 = get_u12(coords1, coords2) 90 | u23 = get_u12(coords2, coords3) 91 | if (abs(get_udp(u21, u23)) >= 1.0): 92 | print('\nError: Co-linear atoms in an internal coordinate definition') 93 | sys.exit() 94 | u23c21 = get_ucp(u23, u21) 95 | u21c23c21 = get_ucp(u21, u23c21) 96 | z = u21 97 | y = u21c23c21 98 | x = get_ucp(y, z) 99 | local_axes = [x, y, z] 100 | return local_axes 101 | 102 | # calculate vector of bond in local axes of internal coordinates 103 | def get_bond_vector(r, a, t): 104 | x = r * math.sin(a) * math.sin(t) 105 | y = r * math.sin(a) * math.cos(t) 106 | z = r * math.cos(a) 107 | bond_vector = [x, y, z] 108 | return bond_vector 109 | 110 | ## CLASSES ## 111 | 112 | # atom class for atomic data 113 | class atom: 114 | # constructor 115 | def __init__(self, at_type, rnum, anum, tnum, rval, aval, tval): 116 | self.attype = at_type 117 | self.rnum = rnum 118 | self.anum = anum 119 | self.tnum = tnum 120 | self.rval = rval 121 | self.aval = aval 122 | self.tval = tval 123 | self.coords = [None for j in range(3)] 124 | self.mass = at_masses[self.attype] 125 | 126 | # molecule class for molecular data 127 | class molecule: 128 | # constructor 129 | def __init__(self, zmat_file_name): 130 | self.zmat_file = zmat_file_name 131 | self.name = self.zmat_file.split('/')[-1].split('.')[0] 132 | self.get_zmat(self.zmat_file) 133 | 134 | # read in z-matrix from zmat file 135 | def get_zmat(self, zmat_file_name): 136 | zmat_array = get_file_string_array(zmat_file_name) 137 | self.n_atoms = int(zmat_array[0][0]) 138 | self.comment = ' '.join(zmat_array[1]) 139 | self.atoms = [] 140 | for i in range(self.n_atoms): 141 | at_type = zmat_array[i+2][0] 142 | if (i >= 1): 143 | rnum = int(zmat_array[i+2][1]) - 1 144 | rval = float(zmat_array[i+2][2]) 145 | else: 146 | rnum, rval = None, None 147 | if (i >= 2): 148 | anum = int(zmat_array[i+2][3]) - 1 149 | aval = deg2rad * float(zmat_array[i+2][4]) 150 | else: 151 | anum, aval = None, None 152 | if (i >= 3): 153 | tnum = int(zmat_array[i+2][5]) - 1 154 | tval = deg2rad * float(zmat_array[i+2][6]) 155 | else: 156 | tnum, tval = None, None 157 | self.atoms.append(atom(at_type, rnum, anum, tnum, rval, aval, tval)) 158 | 159 | # print z-matrix to screen 160 | def print_zmat(self, comment): 161 | print('%i\n%s\n' % (self.n_atoms, comment), end='') 162 | for i in range(self.n_atoms): 163 | print('%-2s' % (self.atoms[i].attype), end='') 164 | if (i >= 1): 165 | print(' %3i' % (self.atoms[i].rnum+1), end='') 166 | print('%8.4f' % (self.atoms[i].rval), end='') 167 | if (i >= 2): 168 | print(' %3i' % (self.atoms[i].anum+1), end='') 169 | print('%8.3f' % (rad2deg * self.atoms[i].aval), end='') 170 | if (i >= 3): 171 | print(' %3i' % (self.atoms[i].tnum+1), end='') 172 | print('%8.3f' % (rad2deg * self.atoms[i].tval), end='') 173 | print('\n', end='') 174 | 175 | # print xyz coordinates to screen 176 | def print_coords(self, comment): 177 | print('%i\n%s\n' % (self.n_atoms, comment), end='') 178 | for i in range(self.n_atoms): 179 | print('%-2s' % (self.atoms[i].attype), end='') 180 | for j in range(3): 181 | print(' %12.6f' % (self.atoms[i].coords[j]), end='') 182 | print('\n', end='') 183 | 184 | # obtain cartesian xyz-coordinates from z-matrix values 185 | def zmat2xyz(self): 186 | if (self.n_atoms >= 1): 187 | self.atoms[0].coords = [0.0, 0.0, 0.0] 188 | if (self.n_atoms >= 2): 189 | self.atoms[1].coords = [0.0, 0.0, self.atoms[1].rval] 190 | if (self.n_atoms >= 3): 191 | r1, r2 = self.atoms[1].rval, self.atoms[2].rval 192 | rn1, rn2 = self.atoms[1].rnum, self.atoms[2].rnum 193 | a1 = self.atoms[2].aval 194 | y = r2*math.sin(a1) 195 | z = self.atoms[rn2].coords[2] + (1-2*float(rn2==1))*r2*math.cos(a1) 196 | self.atoms[2].coords = [0.0, y, z] 197 | for i in range(3, self.n_atoms): 198 | atom = self.atoms[i] 199 | coords1 = self.atoms[atom.rnum].coords 200 | coords2 = self.atoms[atom.anum].coords 201 | coords3 = self.atoms[atom.tnum].coords 202 | self.atoms[i].local_axes = get_local_axes(coords1, coords2, coords3) 203 | bond_vector = get_bond_vector(atom.rval, atom.aval, atom.tval) 204 | disp_vector = np.array(np.dot(bond_vector, self.atoms[i].local_axes)) 205 | for p in range(3): 206 | atom.coords[p] = self.atoms[atom.rnum].coords[p] + disp_vector[p] 207 | 208 | ## MAIN BLOCK ## 209 | 210 | # get input arguments 211 | zmat_file = get_input() 212 | 213 | # read in z-matrix 214 | mol = molecule(zmat_file) 215 | 216 | # convert to xyz-coordinates 217 | mol.zmat2xyz() 218 | 219 | # print results 220 | mol.print_coords(mol.comment) 221 | 222 | # end of program 223 | 224 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/ana.py: -------------------------------------------------------------------------------- 1 | """Main file for analyzing and plotting molecular dynamics simulation data. 2 | 3 | This program reads in a set of molecular geometry and energy data output by a 4 | molecular simulation and computes and plots resulting ensemble data. 5 | 6 | No guarantees are made that the results of this program are correct and the 7 | author assumes no liability for their reliability. 8 | """ 9 | 10 | import sys 11 | 12 | from mmlib import analyze 13 | from mmlib import fileio 14 | 15 | __author__ = 'Trent M. Parker' 16 | __email__ = 'tmpchemistry@gmail.com' 17 | __status__ = 'Prototype' 18 | __date__ = '2017-02-22' 19 | 20 | if __name__ == '__main__': 21 | # Check input syntax. 22 | input_file_name = fileio.ValidateInput(__file__, sys.argv) 23 | 24 | # Read in ensemble geometry and energy analysis data. 25 | analysis = analyze.Analysis(input_file_name) 26 | 27 | # Compute and plot ensemble properties. 28 | analysis.RunAnalysis() 29 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mc.py: -------------------------------------------------------------------------------- 1 | """Main file for executing Monte Carlo molecular simulations. 2 | 3 | This program reads in a set of molecular coordinates and parameters, infers 4 | bonded topology (if unspecified), calculates AMBER94 molecular mechanics energy 5 | comopnents, and performs Metropolis Monte Carlo configuration propogation for a 6 | specified duration. 7 | 8 | No guarantees are made that the results of this program are correct and the 9 | author assumes no liability for their reliability. 10 | """ 11 | 12 | import sys 13 | 14 | from mmlib import fileio 15 | from mmlib import simulate 16 | 17 | __author__ = 'Trent M. Parker' 18 | __email__ = 'tmpchemistry@gmail.com' 19 | __status__ = 'Prototype' 20 | __date__ = '2017-02-08' 21 | 22 | if __name__ == '__main__': 23 | # Check input syntax. 24 | input_file_name = fileio.ValidateInput(__file__, sys.argv) 25 | 26 | # Read in molecular and simulation data. 27 | simulation = simulate.MonteCarlo(input_file_name) 28 | 29 | # Run molecular dynamics simulation. 30 | simulation.Run() 31 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/md.py: -------------------------------------------------------------------------------- 1 | """Main file for executing molecular dynamics simulations. 2 | 3 | This program reads in a set of molecular coordinates and parameters, infers 4 | bonded topology (if unspecified), calculates AMBER94 molecular mechanics energy 5 | components and gradients, and performs molecular dynamics configuration 6 | propogation for a specified duration. 7 | 8 | No guarantees are made the the results of this program are correct and the 9 | author assumes no liability for their reliability. 10 | """ 11 | 12 | import sys 13 | 14 | from mmlib import fileio 15 | from mmlib import simulate 16 | 17 | __author__ = 'Trent M. Parker' 18 | __email__ = 'tmpchemistry@gmail.com' 19 | __status__ = 'Prototype' 20 | __date__ = '2016-05-31' 21 | 22 | if __name__ == '__main__': 23 | # Check input syntax 24 | infile_name = fileio.ValidateInput(__file__, sys.argv) 25 | 26 | # Read in molecular and simulation data 27 | simulation = simulate.MolecularDynamics(infile_name) 28 | 29 | # Run molecular dynamics simulation. 30 | simulation.Run() 31 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mm.py: -------------------------------------------------------------------------------- 1 | """Main file for computing AMBER94 molecular mechanics energies. 2 | 3 | This program takes in a set of molecular coordinates and parameters, infers 4 | bonded topology (if unspecified), computes AMBER94 molecular mechanics energy 5 | components, and outputs the resulting values to screen. 6 | 7 | No guarantees are made that the results of this program are correct and the 8 | author assumes no liability for their reliability. 9 | """ 10 | 11 | import sys 12 | 13 | from mmlib import fileio 14 | from mmlib import molecule 15 | 16 | __author__ = 'Trent M. Parker' 17 | __email__ = 'tmpchemistry@gmail.com' 18 | __status__ = 'Prototype' 19 | __date__ = '2016-02-15' 20 | 21 | if __name__ == '__main__': 22 | # Check input syntax. 23 | input_file_name = fileio.ValidateInput(__file__, sys.argv) 24 | 25 | # Read in molecular geometry and topology. 26 | molecule = molecule.Molecule(input_file_name) 27 | 28 | # Calculate potential energy. 29 | molecule.GetEnergy('nokinetic') 30 | 31 | # Print results to screen. 32 | molecule.PrintData() 33 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mmlib/__init__.py: -------------------------------------------------------------------------------- 1 | """Sub-modules in the mmlib module for molecular mechanics simulations. 2 | 3 | Includes modules with classes and functions for interpreting, testing, 4 | manipulating, propogating, and outputting molecular mechanics data. 5 | """ 6 | 7 | from mmlib import analyze 8 | from mmlib import constants 9 | from mmlib import energy 10 | from mmlib import energy_test 11 | from mmlib import fileio 12 | from mmlib import fileio_test 13 | from mmlib import geomcalc 14 | from mmlib import geomcalc_test 15 | from mmlib import gradient 16 | from mmlib import molecule 17 | from mmlib import optimize 18 | from mmlib import param 19 | from mmlib import param_test 20 | from mmlib import simulate 21 | from mmlib import test 22 | from mmlib import topology 23 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mmlib/analyze_test.py: -------------------------------------------------------------------------------- 1 | """Classes and functions for unit tetsing the mmlib molecule module.""" 2 | 3 | import unittest 4 | 5 | class Test(unittest.TestCase): 6 | """Unit tests for mmlib. method.""" 7 | 8 | 9 | def suite(): 10 | """Builds a test suite of all unit test in _test module.""" 11 | test_classes = ( 12 | Test) 13 | 14 | suite = unittest.TestSuite() 15 | for test_class in test_classes: 16 | tests = unittest.TestLoader().loadTestsFromTestCase(test_class) 17 | suite.addTests(tests) 18 | return suite 19 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mmlib/constants.py: -------------------------------------------------------------------------------- 1 | """Constant values for use in other modules within mmlib. 2 | 3 | Contains physical constants, arbitrary values, and dictionary mappings for 4 | plotting (listed in alphabetical order). 5 | """ 6 | 7 | import math 8 | 9 | # Conversion of acceleration from [kcal/(A*g) to [A/(ps^2)]. 10 | ACCCONV = 418.400000 11 | 12 | # Threshold beyond covalent radii sum to determine bond cutoff. 13 | BONDTHRESHOLD = 1.2 14 | 15 | # Conversion of electrostatic energy from [ceu] to [kcal/mol]. 16 | CEU2KCAL = 332.06375 17 | 18 | # Conversion from degrees to radians 19 | DEG2RAD = math.pi / 180.0 20 | 21 | # Boltzmann constant [kcal/(mol*K)]. 22 | KB = 0.001987204 23 | 24 | # Conversion from [kcal*A^3/mol] to [Pa] for pressure. 25 | KCALAMOL2PA = 69476.95 26 | 27 | # Conversion of kinetic energy from [amu*A^2/ps^2] to [kcal/mol]. 28 | KIN2KCAL = 0.00239005736 29 | 30 | # Number of Cartesian dimensions 31 | NUMDIM = 3 32 | 33 | # Displacement distance [Angstrom] for numerical gradient. 34 | NUMDISP = 1.0E-6 35 | 36 | # Number of step iterations to take in optimization binary line search. 37 | NUMLINESEARCHSTEPS = 7 38 | 39 | # Default optimization criteria keyword dictionary. 40 | # [delta_e, grad_rms, grad_max, disp_rms, disp_max] 41 | OPTCRITERIAREFS = { 42 | 'loose': [1.0E-4, 1.0E-3, 2.0E-3, 1.0E-2, 2.0E-2], 43 | 'default': [1.0E-6, 1.0E-4, 2.0E-4, 1.0E-3, 2.0E-3], 44 | 'tight': [1.0E-8, 1.0E-5, 2.0E-5, 1.0E-4, 2.0E-4], 45 | 'verytight': [1.0E-10, 1.0E-6, 2.0E-6, 1.0E-5, 2.0E-5]} 46 | 47 | # Factor by which to adjust the initial line search step size between steps. 48 | OPTSTEPADJUSTOR = math.sqrt(2) 49 | 50 | # Fraction of image width which is covered by the plot field. 51 | PERCENTIMAGEPLOT = 0.75 52 | 53 | # Unit conversion between points and inches 54 | POINTSPERINCH = 72 55 | 56 | # Legend labels, line colors, and plotting priority for properties. 57 | # [energy_term, print_priority, line_color, index] 58 | PROPERTYDICTIONARY = { 59 | 'e_total': ['Total', 12, '#000000', 1], 60 | 'e_kin': ['Kinetic', 11, '#007D34', 2], 61 | 'e_pot': ['Potential', 1, '#C10020', 3], 62 | 'e_nonbond': ['Non-bonded', 7, '#0000FF', 4], 63 | 'e_bonded': ['Bonded', 2, '#FF6800', 5], 64 | 'e_boundary': ['Boundary', 10, '#551A8B', 6], 65 | 'e_vdw': ['Vdw', 9, '#00BFFF', 7], 66 | 'e_elst': ['Elst', 8, '#EEC900', 8], 67 | 'e_bond': ['Bonds', 3, '#F08080', 9], 68 | 'e_angle': ['Angles', 4, '#90EE90', 10], 69 | 'e_tors': ['Torsions', 6, '#FF83FA', 11], 70 | 'e_oop': ['Outofplanes', 5, '#A9A9A9', 12]} 71 | 72 | # Physical property keys for output file data labels. 73 | PROPERTYKEYS = [ 74 | 'e_total', 'e_kin', 'e_pot', 'e_nonbond', 'e_bonded', 'e_boundary', 75 | 'e_vdw', 'e_elst', 'e_bond', 'e_angle', 'e_tors', 'e_oop', 'temperature', 76 | 'pressure'] 77 | 78 | # Conversion from radians to degrees. 79 | RAD2DEG = 180.0 / math.pi 80 | 81 | # Gas constant in units of [amu*A^2/(ps^2*K)]. 82 | RGAS = 0.83144598 83 | 84 | # Dictionary of order-of-magnitude axis tick labels. 85 | TICCHARS = {0: '', 1: 'k', 2: 'M', 3: 'B', 4: 'T', 5: 'P'} 86 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mmlib/energy_test.py: -------------------------------------------------------------------------------- 1 | """Classes and functions for unit testing the mmlib energy module.""" 2 | 3 | import unittest 4 | 5 | from mmlib import energy 6 | 7 | class TestGetEBond(unittest.TestCase): 8 | """Unit tests for mmlib.energy.GetEBond method.""" 9 | 10 | def testNoBondSpring(self): 11 | """Asserts no bond energy for zero spring constant.""" 12 | params = r_ij, r_eq, k_b = 2.0, 1.0, 0.0 13 | self.assertAlmostEqual(energy.GetEBond(*params), 0.0) 14 | 15 | def testEquilibriumBond(self): 16 | """Asserts no bond energy for equilibrium length bond.""" 17 | params = r_ij, r_eq, k_b = 2.0, 2.0, 1.0 18 | self.assertAlmostEqual(energy.GetEBond(*params), 0.0) 19 | 20 | def testLongBond(self): 21 | """Asserts exact value for greater than equilibrium bond length.""" 22 | params = r_ij, r_eq, k_b = 2.5, 2.0, 5.0 23 | self.assertAlmostEqual(energy.GetEBond(*params), 1.25) 24 | 25 | def testShortBond(self): 26 | """Asserts exact value for smaller than equilibrium bond length.""" 27 | params = r_ij, r_eq, k_b = 1.5, 2.0, 5.0 28 | self.assertAlmostEqual(energy.GetEBond(*params), 1.25) 29 | 30 | def testInfiniteBond(self): 31 | """Asserts infinite energy for infinite bond length.""" 32 | params = r_ij, r_eq, k_b = float('inf'), 2.0, 1.0 33 | self.assertAlmostEqual(energy.GetEBond(*params), float('inf')) 34 | 35 | 36 | class TestGetEAngle(unittest.TestCase): 37 | """Unit tests for mmlib.energy.GetEAngle method.""" 38 | 39 | def testNoAngleSpring(self): 40 | """Asserts no angle energy for zero spring constant.""" 41 | params = a_ijk, a_eq, k_a = 180.0, 90.0, 0.0 42 | self.assertAlmostEqual(energy.GetEAngle(*params), 0.0) 43 | 44 | def testEquilibriumAngle(self): 45 | """Asserts no angle energy for equilibrium bond angle.""" 46 | params = a_ijk, a_eq, k_a = 146.6, 146.6, 1.0 47 | self.assertAlmostEqual(energy.GetEAngle(*params), 0.0) 48 | 49 | def testLargeAngle(self): 50 | """Asserts correct value for greater than equilibrium bond angle.""" 51 | params = a_ijk, a_eq, k_a = 138.5, 93.5, 4.6 52 | self.assertAlmostEqual(energy.GetEAngle(*params), 2.8375113) 53 | 54 | def testSmallAngle(self): 55 | """Asserts correct value for smaller than equilibrium bond angle.""" 56 | params = a_ijk, a_eq, k_a = 48.5, 93.5, 4.6 57 | self.assertAlmostEqual(energy.GetEAngle(*params), 2.8375113) 58 | 59 | 60 | class TestGetETorsion(unittest.TestCase): 61 | """Unit tests for mmlib.energy.GetETorsion method.""" 62 | 63 | def testNoTorsionBarrier(self): 64 | """Asserts no torsion energy for zero rotation barrier.""" 65 | params = t_ijkl, v_n, gamma, nfold, paths = 93.5, 0.0, 4.7, 1, 1 66 | self.assertAlmostEqual(energy.GetETorsion(*params), 0.0) 67 | 68 | def testMinTorsionBarrier(self): 69 | """Asserts no torsion energy at maximum angle.""" 70 | params = t_ijkl, v_n, gamma, nfold, paths = 180.0, 1.0, 0.0, 1, 1 71 | self.assertAlmostEqual(energy.GetETorsion(*params), 0.0) 72 | 73 | def testMaxTorsionBarrier(self): 74 | """Asserts maximum torsion energy at minimum angle.""" 75 | params = t_ijkl, v_n, gamma, nfold, paths = 0.0, 1.0, 0.0, 1, 1 76 | self.assertAlmostEqual(energy.GetETorsion(*params), 2.0) 77 | 78 | def testPositiveGamma(self): 79 | """Asserts maximum torsion energy at positive barrier offset angle.""" 80 | params = t_ijkl, v_n, gamma, nfold, paths = 15.0, 1.0, 15.0, 1, 1 81 | self.assertAlmostEqual(energy.GetETorsion(*params), 2.0) 82 | 83 | def testNegativeGamma(self): 84 | """Asserts maximum torsion energy at negative barrier offset angle.""" 85 | params = t_ijkl, v_n, gamma, nfold, paths = -165.0, 1.0, -165.0, 1, 1 86 | self.assertAlmostEqual(energy.GetETorsion(*params), 2.0) 87 | 88 | def testThreefold(self): 89 | """Asserts maximum torsion energy at maximum of threefold barrier angle.""" 90 | params = t_ijkl, v_n, gamma, nfold, paths = 120.0, 1.0, 0.0, 3, 1 91 | self.assertAlmostEqual(energy.GetETorsion(*params), 2.0) 92 | 93 | def testFivePaths(self): 94 | """Asserts one fifth of regular torsion energy with five paths.""" 95 | params = t_ijkl, v_n, gamma, nfold, paths = 0.0, 1.0, 0.0, 1, 5 96 | self.assertAlmostEqual(energy.GetETorsion(*params), 0.4) 97 | 98 | def testAllTorsionParams(self): 99 | """Asserts correct value for an arbitrary combination of parameters.""" 100 | params = t_ijkl, v_n, gamma, nfold, paths = 136.7, 1.8, -14.4, 3, 9 101 | self.assertAlmostEqual(energy.GetETorsion(*params), 0.2861022) 102 | 103 | 104 | class TestGetEOutofplane(unittest.TestCase): 105 | """Unit tests for mmlib.energy.GetEOutofplane method.""" 106 | 107 | def testNoOutofplaneBarrier(self): 108 | """Asserts no outofplane energy for zero barrier.""" 109 | params = o_ijkl, v_n = 45.0, 0.0 110 | self.assertAlmostEqual(energy.GetEOutofplane(*params), 0.0) 111 | 112 | def testInPlaneAngle(self): 113 | """Asserts no outofplane energy for in-plane angle.""" 114 | params = o_ijkl, v_n = 0.0, 1.0 115 | self.assertAlmostEqual(energy.GetEOutofplane(*params), 0.0) 116 | 117 | def testMaxOutofplaneAngle(self): 118 | """Asserts maximum outofplane energy for ninety degree angle.""" 119 | params = o_ijkl, v_n = 90.0, 1.0 120 | self.assertAlmostEqual(energy.GetEOutofplane(*params), 2.0) 121 | 122 | def testMinOutofplaneAngle(self): 123 | """Asserts maximum outofplane energy for negative ninety degree angle.""" 124 | params = o_ijkl, v_n = -90.0, 1.0 125 | self.assertAlmostEqual(energy.GetEOutofplane(*params), 2.0) 126 | 127 | def testAllOutofplaneParams(self): 128 | """Asserts correct value for an arbitrary combination of parameters.""" 129 | params = o_ijkl, v_n = 16.7, 1.3 130 | self.assertAlmostEqual(energy.GetEOutofplane(*params), 0.2146978) 131 | 132 | 133 | class TestGetEVdwIJ(unittest.TestCase): 134 | """Unit tests for mmlib.energy.GetEVdwIJ method.""" 135 | 136 | def testNoEpsilon(self): 137 | """Asserts no vdw energy for zero epsilon.""" 138 | params = r_ij, eps_ij, ro_ij = 2.5, 0.0, 2.0 139 | self.assertAlmostEqual(energy.GetEVdwIJ(*params), 0.0) 140 | 141 | def testEquilibriumDistance(self): 142 | """Asserts negative epsilon energy for equilibrium separation.""" 143 | params = r_ij, eps_ij, ro_ij = 2.5, 2.0, 2.5 144 | self.assertAlmostEqual(energy.GetEVdwIJ(*params), -2.0) 145 | 146 | def testLargeDistance(self): 147 | """Asserts correct value for greater than equilibrium separation.""" 148 | params = r_ij, eps_ij, ro_ij = 4.0, 3.0, 2.0 149 | self.assertAlmostEqual(energy.GetEVdwIJ(*params), -0.0930176) 150 | 151 | def testSmallDistance(self): 152 | """Asserts correct value for smaller than equilibrium separation.""" 153 | params = r_ij, eps_ij, ro_ij = 1.6, 3.0, 2.0 154 | self.assertAlmostEqual(energy.GetEVdwIJ(*params), 20.7675621) 155 | 156 | def testInfiniteDistance(self): 157 | """Asserts zero energy for infinite separation.""" 158 | params = r_ij, eps_ij, ro_ij = float('inf'), 1.0, 1.0 159 | self.assertAlmostEqual(energy.GetEVdwIJ(*params), 0.0) 160 | 161 | 162 | class TestGetEElstIJ(unittest.TestCase): 163 | """Unit tests for mmlib.energy.GetEElstIJ method.""" 164 | 165 | def testNoCharge1(self): 166 | """Asserts no elst energy when first charge is zero.""" 167 | params = r_ij, q_i, q_j, epsilon = 1.0, 0.0, 1.0, 1.0 168 | self.assertAlmostEqual(energy.GetEElstIJ(*params), 0.0) 169 | 170 | def testNoCharge2(self): 171 | """Asserts no elst energy when second charge is zero.""" 172 | params = r_ij, q_i, q_j, epsilon = 1.0, 1.0, 0.0, 1.0 173 | self.assertAlmostEqual(energy.GetEElstIJ(*params), 0.0) 174 | 175 | def testUnitValues(self): 176 | """Asserts correct value for unit charges and separation.""" 177 | params = r_ij, q_i, q_j, epsilon = 1.0, 1.0, 1.0, 1.0 178 | self.assertAlmostEqual(energy.GetEElstIJ(*params), 332.0637500) 179 | 180 | def testLargeDielectric(self): 181 | """Asserts correct value for non-unit dielectric constant.""" 182 | params = r_ij, q_i, q_j, epsilon = 1.0, 1.0, 1.0, 10.0 183 | self.assertAlmostEqual(energy.GetEElstIJ(*params), 33.2063750) 184 | 185 | def testInfiniteDistance(self): 186 | """Asserts zero elst energy when separation is infinite.""" 187 | params = r_ij, q_i, q_j, epsilon = float('inf'), 1.0, 1.0, 1.0 188 | self.assertAlmostEqual(energy.GetEElstIJ(*params), 0.0) 189 | 190 | def testAllElstParams(self): 191 | """Asserts correct value for arbitrary combination of parameters.""" 192 | params = r_ij, q_i, q_j, epsilon = 1.5, 0.2, -0.4, 2.0 193 | self.assertAlmostEqual(energy.GetEElstIJ(*params), -8.8550333) 194 | 195 | 196 | def suite(): 197 | """Builds a test suite of all unit tests in energy_test module.""" 198 | test_classes = ( 199 | TestGetEBond, 200 | TestGetEAngle, 201 | TestGetETorsion, 202 | TestGetEOutofplane, 203 | TestGetEVdwIJ, 204 | TestGetEElstIJ) 205 | 206 | suite = unittest.TestSuite() 207 | for test_class in test_classes: 208 | tests = unittest.TestLoader().loadTestsFromTestCase(test_class) 209 | suite.addTests(tests) 210 | return suite 211 | 212 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mmlib/geomcalc.py: -------------------------------------------------------------------------------- 1 | """Functions for computing molecular geometry data. 2 | 3 | Includes unit conversions, unit vectors, dot products, cross products, bond 4 | distances, bond angles, torsion angles, outofplane angles, and system volume. 5 | """ 6 | 7 | import numpy 8 | import math 9 | 10 | from mmlib import constants as const 11 | 12 | def GetR2ij(coords_i, coords_j): 13 | """Calculate square of distance between two 3d cartesian points. 14 | 15 | Args: 16 | coords_i (float*): 3 cartesian coordinates [Angstrom] of point i. 17 | coords_j (float*): 3 cartesian coordinates [Angstrom] of point j. 18 | 19 | Returns: 20 | r2_ij (float): Square distance [Angstrom] between points i and j. 21 | """ 22 | return ((coords_j[0] - coords_i[0])**2 + 23 | (coords_j[1] - coords_i[1])**2 + 24 | (coords_j[2] - coords_i[2])**2) 25 | 26 | 27 | def GetRij(coords_i, coords_j): 28 | """Calculate distance between two 3d cartesian points. 29 | 30 | Args: 31 | coords_i (float*): 3 cartesian coordinates [Angstrom] of point i. 32 | coords_j (float*): 3 cartesian coordinates [Angstrom] of point j. 33 | 34 | Returns: 35 | r_ij (float): Distance [Angstrom] between points i and j. 36 | """ 37 | return math.sqrt((coords_j[0] - coords_i[0])**2 + 38 | (coords_j[1] - coords_i[1])**2 + 39 | (coords_j[2] - coords_i[2])**2) 40 | 41 | 42 | def GetUij(coords_i, coords_j, r_ij=None): 43 | """Calculate 3d unit vector from cartesian points i to j. 44 | 45 | Gives zero vector if i and j are the same point. 46 | 47 | Args: 48 | coords_i (float*): 3 cartesian coordinates [Angstrom] of point i. 49 | coords_j (float*): 3 cartesian coordinates [Angstrom] of point j. 50 | r_ij (float): Distance from i to j [Angstrom], if provided. 51 | 52 | Returns: 53 | u_ij (float*): 3 unit vector components from point i to j. 54 | """ 55 | if not r_ij: 56 | r_ij = GetRij(coords_i, coords_j) 57 | if not r_ij: 58 | return numpy.zeros(3) 59 | return (coords_j - coords_i) / r_ij 60 | 61 | 62 | def GetUdp(uvec_i, uvec_j): 63 | """Calculate dot product between two 3d cartesian unit vectors. 64 | 65 | WARNING: This function does *NOT* normalize the vectors. It assumes inputs 66 | are unit vectors. A maximum absolute value of 1.0 is returned, primarily for 67 | safety when passing the result into the arccosine function in the GetAijk 68 | function. 69 | 70 | Args: 71 | coords_i (float*): 3 cartesian components of unit vector i. 72 | coords_j (float*): 3 cartesian components of unit vector j. 73 | 74 | Returns: 75 | udp (float): Dot product between unit vectors i and j. 76 | """ 77 | udp = uvec_i[0] * uvec_j[0] 78 | udp += uvec_i[1] * uvec_j[1] 79 | udp += uvec_i[2] * uvec_j[2] 80 | return max(-1.0, min(1.0, udp)) 81 | 82 | 83 | def GetUcp(uvec_i, uvec_j): 84 | """Calculate unit cross product between two 3d cartesian unit vectors. 85 | 86 | WARNING: This function does *NOT* normalize the vectors. It assumes inputs 87 | are unit vectors. Normalization only occurs with respect to vector-vector 88 | angle, not vector magnitude. Normalization is needed for correct use in 89 | GetTijkl function. 90 | 91 | Args: 92 | coords_i (float*): 3 cartesian components of unit vector i. 93 | coords_j (float*): 3 cartesian components of unit vector j. 94 | 95 | Returns: 96 | ucp (float*): Normalized cross product between unit vectors i and j. 97 | """ 98 | ucp = numpy.zeros(3) 99 | cos_ijk = GetUdp(uvec_i, uvec_j) 100 | sin_ijk = math.sqrt(1.0 - cos_ijk**2) 101 | if sin_ijk: 102 | ucp[0] = (uvec_i[1]*uvec_j[2] - uvec_i[2]*uvec_j[1]) / sin_ijk 103 | ucp[1] = (uvec_i[2]*uvec_j[0] - uvec_i[0]*uvec_j[2]) / sin_ijk 104 | ucp[2] = (uvec_i[0]*uvec_j[1] - uvec_i[1]*uvec_j[0]) / sin_ijk 105 | return ucp 106 | 107 | 108 | def GetCp(uvec_i, uvec_j): 109 | """Calculate cross product between two 3d Cartesian vectors. 110 | 111 | Args: 112 | coords_i (float*): 3 cartesian components of vector i. 113 | coords_j (float*): 3 cartesian components of vector j. 114 | 115 | Returns: 116 | cp (float*): Cross product between vectors i and j. 117 | """ 118 | cp = numpy.zeros(3) 119 | cp[0] = (uvec_i[1]*uvec_j[2] - uvec_i[2]*uvec_j[1]) 120 | cp[1] = (uvec_i[2]*uvec_j[0] - uvec_i[0]*uvec_j[2]) 121 | cp[2] = (uvec_i[0]*uvec_j[1] - uvec_i[1]*uvec_j[0]) 122 | return cp 123 | 124 | 125 | def GetAijk(coords_i, coords_j, coords_k, r_ij=None, r_jk=None): 126 | """Calculate angle between 3 3d cartesian points. 127 | 128 | Args: 129 | coords_i (float*): 3 cartesian components of point i. 130 | coords_j (float*): 3 cartesian components of point j. 131 | coords_k (float*): 3 cartesian components of point k. 132 | r_ij (float): Distance between i and j (default None). 133 | r_jk (float): Distance between j and k (default None). 134 | 135 | Returns: 136 | a_ijk (float): Angle [degrees] between unit vectors ji and jk. 137 | """ 138 | u_ji = GetUij(coords_j, coords_i, r_ij) 139 | u_jk = GetUij(coords_j, coords_k, r_jk) 140 | dp_jijk = GetUdp(u_ji, u_jk) 141 | return const.RAD2DEG * math.acos(dp_jijk) 142 | 143 | 144 | def GetTijkl(coords_i, coords_j, coords_k, coords_l, r_ij=None, r_jk=None, 145 | r_kl=None): 146 | """Calculate torsion angle between 4 3d cartesian points. 147 | 148 | Args: 149 | coords_i (float*): 3 cartesian components of point i. 150 | coords_j (float*): 3 cartesian components of point j. 151 | coords_k (float*): 3 cartesian components of point k. 152 | coords_l (float*): 3 cartesian components of point l. 153 | r_ij (float): Distance between i and j (default None). 154 | r_jk (float): Distance between j and k (default None). 155 | r_kl (float): Distance between k and l (default None). 156 | 157 | Returns: 158 | t_ijkl (float): Signed angle [degrees] between planes ijk and jkl. 159 | """ 160 | u_ji = GetUij(coords_j, coords_i, r_ij) 161 | u_jk = GetUij(coords_j, coords_k, r_jk) 162 | u_kl = GetUij(coords_k, coords_l, r_kl) 163 | u_jijk = GetUcp(u_ji, u_jk) 164 | u_kjkl = -GetUcp(u_jk, u_kl) 165 | dp_jijk_kjkl = GetUdp(u_jijk, u_kjkl) 166 | sign = 1.0 if GetUdp(u_jijk, u_kl) <= 0.0 else -1.0 167 | return const.RAD2DEG * sign * math.acos(dp_jijk_kjkl) 168 | 169 | 170 | def GetOijkl(coords_i, coords_j, coords_k, coords_l, r_ki=None, r_kj=None, 171 | r_kl=None): 172 | """Calculate outofplane angle between 4 3d cartesian points. 173 | 174 | Args: 175 | coords_i (float*): 3 cartesian components of point i. 176 | coords_j (float*): 3 cartesian components of point j. 177 | coords_k (float*): 3 cartesian components of point k. 178 | coords_l (float*): 3 cartesian components of point l. 179 | r_ki (float): Distance between k and i (default None). 180 | r_kj (float): Distance between k and j (default None). 181 | r_kl (float): Distance between k and l (default None). 182 | 183 | Returns: 184 | o_ijkl (float): Signed angle between plane ijk and vector kl. 185 | """ 186 | u_ki = GetUij(coords_k, coords_i, r_ki) 187 | u_kj = GetUij(coords_k, coords_j, r_kj) 188 | u_kl = GetUij(coords_k, coords_l, r_kl) 189 | u_kikj = GetUcp(u_ki, u_kj) 190 | dp_kikj_kl = GetUdp(u_kikj, u_kl) 191 | return const.RAD2DEG * math.asin(dp_kikj_kl) 192 | 193 | 194 | def GetVolume(boundary, boundary_type): 195 | """Calculate volume of molecular system based on boundary type 196 | 197 | Boundary may be 'cube' (V=l**3) or 'sphere' (V=4/3pi*l**3). Units 198 | assumed to be [Angstrom]. 199 | 200 | Args: 201 | boundary (float): Maximum extent of system away from origin. 202 | boundary_type (str): Type of boundary shape. 203 | 204 | Returns: 205 | volume (float): Accessible volume of system. 206 | 207 | Raises: 208 | ValueError: If boundary_type is not 'cube' or 'sphere'. 209 | """ 210 | if boundary_type == 'cube': 211 | return 8.0 * boundary**3 212 | elif boundary_type == 'sphere': 213 | return 4.0/3.0 * math.pi * boundary**3 214 | else: 215 | raise ValueError('Unexpected boundary type: %s\n.' 216 | "Use 'cube' or 'sphere'\n" % boundary_type) 217 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mmlib/gradient_test.py: -------------------------------------------------------------------------------- 1 | """Classes and functions for unit tetsing the mmlib molecule module.""" 2 | 3 | import unittest 4 | 5 | class Test(unittest.TestCase): 6 | """Unit tests for mmlib. method.""" 7 | 8 | 9 | def suite(): 10 | """Builds a test suite of all unit test in _test module.""" 11 | test_classes = ( 12 | Test) 13 | 14 | suite = unittest.TestSuite() 15 | for test_class in test_classes: 16 | tests = unittest.TestLoader().loadTestsFromTestCase(test_class) 17 | suite.addTests(tests) 18 | return suite 19 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mmlib/molecule_test.py: -------------------------------------------------------------------------------- 1 | """Classes and functions for unit tetsing the mmlib molecule module.""" 2 | 3 | import unittest 4 | 5 | class Test(unittest.TestCase): 6 | """Unit tests for mmlib. method.""" 7 | 8 | 9 | def suite(): 10 | """Builds a test suite of all unit test in _test module.""" 11 | test_classes = ( 12 | Test) 13 | 14 | suite = unittest.TestSuite() 15 | for test_class in test_classes: 16 | tests = unittest.TestLoader().loadTestsFromTestCase(test_class) 17 | suite.addTests(tests) 18 | return suite 19 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mmlib/optimize_test.py: -------------------------------------------------------------------------------- 1 | """Classes and functions for unit tetsing the mmlib molecule module.""" 2 | 3 | import unittest 4 | 5 | class Test(unittest.TestCase): 6 | """Unit tests for mmlib. method.""" 7 | 8 | 9 | def suite(): 10 | """Builds a test suite of all unit test in _test module.""" 11 | test_classes = ( 12 | Test) 13 | 14 | suite = unittest.TestSuite() 15 | for test_class in test_classes: 16 | tests = unittest.TestLoader().loadTestsFromTestCase(test_class) 17 | suite.addTests(tests) 18 | return suite 19 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mmlib/param_test.py: -------------------------------------------------------------------------------- 1 | """Classes and functions for unit testing the mmlib geomcalc module.""" 2 | 3 | import unittest 4 | 5 | from mmlib import param 6 | 7 | # Long parameter array for outofplane tests. 8 | _CT_CT_N_C_TORSION_PARAMS = [ 9 | (0.00, 0.0, 2, 6), 10 | (0.50, 180.0, -4, 1), 11 | (0.15, 180.0, -3, 1), 12 | (0.00, 180.0, -2, 1), 13 | (0.53, 0.0, 1, 1)] 14 | 15 | class TestGetMass(unittest.TestCase): 16 | """Unit tests for mmlib.param.GetMass method.""" 17 | 18 | def testEmptyInput(self): 19 | """Asserts raise of ValueError for empty string input.""" 20 | with self.assertRaises(ValueError) as e: 21 | param.GetMass('') 22 | 23 | self.assertEqual(str(e.exception), 'No atomic mass found for element: ') 24 | 25 | def testBadInput(self): 26 | """Asserts raise of ValueError for missing string input.""" 27 | with self.assertRaises(ValueError) as e: 28 | param.GetMass('AA') 29 | 30 | self.assertEqual(str(e.exception), 'No atomic mass found for element: AA') 31 | 32 | def testDummyInput(self): 33 | """Asserts zero mass for dummy atom input.""" 34 | self.assertEqual(param.GetMass('X'), 0.0) 35 | 36 | def testHydrogen(self): 37 | """Asserts correct mass for hydrogen atom.""" 38 | self.assertEqual(param.GetMass('H'), 1.00794) 39 | 40 | def testHeaviestAtom(self): 41 | """Asserts correct mass for heaviest present atom.""" 42 | self.assertEqual(param.GetMass('Kr'), 83.7980) 43 | 44 | 45 | class TestGetCovRad(unittest.TestCase): 46 | """Unit tests for mmlib.param.GetCovRad method.""" 47 | 48 | def testEmptyInput(self): 49 | """Asserts raise of ValueError for empty string input.""" 50 | with self.assertRaises(ValueError) as e: 51 | param.GetCovRad('') 52 | 53 | self.assertEqual(str(e.exception), 54 | 'No covalent radius found for element: ') 55 | 56 | def testBadInput(self): 57 | """Asserts raise of ValueError for missing element input.""" 58 | with self.assertRaises(ValueError) as e: 59 | param.GetCovRad('AA') 60 | 61 | self.assertEqual(str(e.exception), 62 | 'No covalent radius found for element: AA') 63 | 64 | def testDummyInput(self): 65 | """Asserts zero radius for dummy atom input.""" 66 | self.assertEqual(param.GetCovRad('X'), 0.0) 67 | 68 | def testHydrogen(self): 69 | """Asserts correct radius for hydrogen atom.""" 70 | self.assertEqual(param.GetCovRad('H'), 0.37) 71 | 72 | def testHeaviestAtom(self): 73 | """Asserts correct radius for heaviest present atom.""" 74 | self.assertEqual(param.GetCovRad('Kr'), 1.03) 75 | 76 | 77 | class TestGetVdwParam(unittest.TestCase): 78 | """Unit tests for mmlib.param.GetVdwParam method.""" 79 | 80 | def testEmptyInput(self): 81 | """Asserts raise of ValueError for empty string input.""" 82 | with self.assertRaises(ValueError) as e: 83 | param.GetVdwParam('') 84 | 85 | self.assertEqual(str(e.exception), 'No vdw param found for atom type: ') 86 | 87 | def testBadInput(self): 88 | """Asserts raise of ValueError for missing atom type input.""" 89 | with self.assertRaises(ValueError) as e: 90 | param.GetVdwParam('AA') 91 | 92 | self.assertEqual(str(e.exception), 'No vdw param found for atom type: AA') 93 | 94 | def testDummyInput(self): 95 | """Asserts zero parameters for dummy atom type.""" 96 | self.assertEqual(param.GetVdwParam('X'), (0.0001, 0.00000)) 97 | 98 | def testAromaticCarbon(self): 99 | """Asserts correct parameters for carbon atom type.""" 100 | self.assertEqual(param.GetVdwParam('CA'), (1.9080, 0.0860)) 101 | 102 | def testWaterOxygen(self): 103 | """Asserts correct parameters for water oxygen atom type.""" 104 | self.assertEqual(param.GetVdwParam('OW'), (1.7683, 0.1520)) 105 | 106 | 107 | class TestGetBondParam(unittest.TestCase): 108 | """Unit tests for mmlib.param.GetBondParam method.""" 109 | 110 | def testEmptyInput(self): 111 | """Asserts raise of ValueError for empty string input.""" 112 | with self.assertRaises(ValueError) as e: 113 | param.GetBondParam('', '') 114 | 115 | self.assertEqual(str(e.exception), 116 | 'No bond parameters found for atom type pair: , ') 117 | 118 | def testBadInput(self): 119 | """Asserts raise of ValueError for missing atom types input.""" 120 | with self.assertRaises(ValueError) as e: 121 | param.GetBondParam('AA', 'BB') 122 | 123 | self.assertEqual(str(e.exception), 124 | 'No bond parameters found for atom type pair: AA, BB') 125 | 126 | def testOxygenHydrogenBond(self): 127 | """Asserts correct parameters for water hydrogen-oxygen bond.""" 128 | self.assertEqual(param.GetBondParam('OW', 'HW'), (553.0, 0.9572)) 129 | 130 | def testCarbonHydrogenReversedBond(self): 131 | """Asserts correct parameters for aromatic reversed carbon-hydrogen bond.""" 132 | self.assertEqual(param.GetBondParam('HA', 'CA'), (367.0, 1.080)) 133 | 134 | 135 | class TestGetAngleParam(unittest.TestCase): 136 | """Unit tests for mmlib.param.GetAngleParam method.""" 137 | pass 138 | 139 | def testEmptyInput(self): 140 | """Asserts raise of ValueError for empty string input.""" 141 | with self.assertRaises(ValueError) as e: 142 | param.GetAngleParam('', '', '') 143 | 144 | self.assertEqual(str(e.exception), 145 | 'No angle parameters found for atom type triplet: , , ') 146 | 147 | def testBadInput(self): 148 | """Asserts raise of ValueError for missing string input.""" 149 | with self.assertRaises(ValueError) as e: 150 | param.GetAngleParam('AA', 'BB', 'CC') 151 | 152 | self.assertEqual( 153 | str(e.exception), 154 | 'No angle parameters found for atom type triplet: AA, BB, CC') 155 | 156 | def testHOHWater(self): 157 | """Asserts correct mass for hydrogen atom.""" 158 | self.assertEqual(param.GetAngleParam('HW', 'OW', 'HW'), (100.0, 104.52)) 159 | 160 | def testCCHBenzene(self): 161 | """Asserts correct mass for heaviest present atom.""" 162 | self.assertEqual(param.GetAngleParam('HA', 'CA', 'CA'), (35.0, 120.0)) 163 | 164 | 165 | class TestGetTorsionParam(unittest.TestCase): 166 | """Unit tests for mmlib.param.GetTorsionParam method.""" 167 | 168 | def testEmptyInput(self): 169 | """Asserts raise of ValueError for empty string input.""" 170 | with self.assertRaises(ValueError) as e: 171 | param.GetTorsionParam('', '', '', '') 172 | 173 | self.assertEqual(str(e.exception), 174 | 'No torsion parameters found for central atom pair: , ') 175 | 176 | def testBadInput(self): 177 | """Asserts raise of ValueError for missing string input.""" 178 | with self.assertRaises(ValueError) as e: 179 | param.GetTorsionParam('AA', 'BB', 'CC', 'DD') 180 | 181 | self.assertEqual( 182 | str(e.exception), 183 | 'No torsion parameters found for central atom pair: BB, CC') 184 | 185 | def testCentral(self): 186 | """Asserts correct parameters for given central atom pair.""" 187 | self.assertEqual(param.GetTorsionParam('X', 'C', 'CA', 'X'), 188 | [(14.50, 180.0, 2, 4)]) 189 | 190 | def testCentralReversed(self): 191 | """Asserts correct parameters for given reversed central atom pair.""" 192 | self.assertEqual(param.GetTorsionParam('X', 'CA', 'C', 'X'), 193 | [(14.50, 180.0, 2, 4)]) 194 | 195 | def testFourAtom(self): 196 | """Asserts correct parameters for given atom quartet.""" 197 | self.assertEqual(param.GetTorsionParam('CT', 'CT', 'N', 'C'), 198 | _CT_CT_N_C_TORSION_PARAMS) 199 | 200 | def testFourAtomReversed(self): 201 | """Asserts correct parameters for given reversed atom quartet.""" 202 | self.assertEqual(param.GetTorsionParam('C', 'N', 'CT', 'CT'), 203 | _CT_CT_N_C_TORSION_PARAMS) 204 | 205 | 206 | class TestGetOutofplaneParam(unittest.TestCase): 207 | """Unit tests for mmlib.param.GetOutofplaneParam method.""" 208 | 209 | def testEmptyInput(self): 210 | """Asserts zero value for empty string input.""" 211 | self.assertEqual(param.GetOutofplaneParam('', '', '', ''), 0.0) 212 | 213 | def test34(self): 214 | """Asserts correct parameter for ending atom pair.""" 215 | self.assertEqual(param.GetOutofplaneParam('', '', 'C', 'O'), 10.5) 216 | 217 | def test234(self): 218 | """Asserts correct parameter for ending atom triplet.""" 219 | self.assertEqual(param.GetOutofplaneParam('', 'CT', 'N', 'CT'), 1.0) 220 | 221 | def test1234(self): 222 | """Asserts correct paramter for complete atom quartet.""" 223 | self.assertEqual(param.GetOutofplaneParam('CA', 'CA', 'C', 'OH'), 1.1) 224 | 225 | 226 | def suite(): 227 | """Builds a test suite of all unit tests in param_test module.""" 228 | test_classes = ( 229 | TestGetVdwParam, 230 | TestGetMass, 231 | TestGetCovRad, 232 | TestGetBondParam, 233 | TestGetAngleParam, 234 | TestGetTorsionParam, 235 | TestGetOutofplaneParam) 236 | 237 | suite = unittest.TestSuite() 238 | for test_class in test_classes: 239 | tests = unittest.TestLoader().loadTestsFromTestCase(test_class) 240 | suite.addTests(tests) 241 | return suite 242 | 243 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mmlib/simulate_test.py: -------------------------------------------------------------------------------- 1 | """Classes and functions for unit tetsing the mmlib molecule module.""" 2 | 3 | import unittest 4 | 5 | class Test(unittest.TestCase): 6 | """Unit tests for mmlib. method.""" 7 | 8 | 9 | def suite(): 10 | """Builds a test suite of all unit test in _test module.""" 11 | test_classes = ( 12 | Test) 13 | 14 | suite = unittest.TestSuite() 15 | for test_class in test_classes: 16 | tests = unittest.TestLoader().loadTestsFromTestCase(test_class) 17 | suite.addTests(tests) 18 | return suite 19 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mmlib/test.py: -------------------------------------------------------------------------------- 1 | """Classes for testing proper function of all modules within mmlib. 2 | 3 | WARNING: Incomplete. Work in progress. Subject to change at any time. 4 | """ 5 | 6 | import numpy 7 | import unittest 8 | 9 | from mmlib import energy_test 10 | from mmlib import fileio_test 11 | from mmlib import geomcalc_test 12 | from mmlib import param_test 13 | 14 | # Message to print at conclusion of test suite. 15 | _SUCCESS_MESSAGE = '\nAll tests succeeded. mmlib is ready for use.' 16 | _FAILURE_MESSAGE = '\nSome tests failed. Results may not be reliable.' 17 | 18 | def RunTests(): 19 | """Executes test suites for all mmlib modules.""" 20 | test_suites = [ 21 | fileio_test.suite(), 22 | geomcalc_test.suite(), 23 | energy_test.suite(), 24 | param_test.suite()] 25 | 26 | combo_suite = unittest.TestSuite(test_suites) 27 | result = unittest.TextTestRunner().run(combo_suite) 28 | 29 | if (result.wasSuccessful()): 30 | print(_SUCCESS_MESSAGE) 31 | else: 32 | print(_FAILURE_MESSAGE) 33 | 34 | 35 | def assertListAlmostEqual(test_case, test_vector, reference_vector): 36 | """Supplemental function for near equality comparison of float vectors. 37 | 38 | Args: 39 | test_case (unittest.TestCase): Unit test class instance. 40 | test_vector (type*): Array of numeric floating-point values to test. 41 | reference_vector (type*): Reference to assert equality of test_vector. 42 | """ 43 | test_case.assertEqual(len(test_vector), len(reference_vector)) 44 | 45 | for test_value, reference_value in zip(test_vector, reference_vector): 46 | if hasattr(test_value, '__len__'): 47 | assertListAlmostEqual(test_case, test_value, reference_value) 48 | else: 49 | test_case.assertAlmostEqual(test_value, reference_value, places=6) 50 | 51 | def assertObjectEqual(test_case, test_object, reference_object): 52 | """Supplemental function for equality of all object attributes. 53 | 54 | Args: 55 | test_case (unittest.TestCase): Unit test class instance. 56 | test_object (type): Object of type with attributes to test. 57 | reference_object (type): Reference to assert equality of test_object. 58 | """ 59 | test_case.assertEqual(test_object.__dict__.keys(), 60 | reference_object.__dict__.keys()) 61 | 62 | for attribute in test_object.__dict__: 63 | test_value = getattr(test_object, attribute) 64 | reference_value = getattr(reference_object, attribute) 65 | 66 | if isinstance(test_value, numpy.ndarray): 67 | assertListAlmostEqual(test_case, test_value, reference_value) 68 | else: 69 | test_case.assertAlmostEqual(test_value, reference_value) 70 | 71 | def assertObjectArrayEqual(test_case, test_array, reference_array): 72 | """Supplemental function for equality of all objects in an array. 73 | 74 | Args: 75 | test_case (unittest.TestCase): Unit test class instance. 76 | test_array (type*): Array of objects of type with attributes to test. 77 | reference_array (type*): Reference to assert equality of test_array. 78 | """ 79 | test_case.assertEqual(len(test_array), len(reference_array)) 80 | 81 | for test_object, reference_object in zip(test_array, reference_array): 82 | assertObjectEqual(test_case, test_object, reference_object) 83 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mmlib/test_test.py: -------------------------------------------------------------------------------- 1 | """Classes and functions for unit tetsing the mmlib molecule module.""" 2 | 3 | import unittest 4 | 5 | class Test(unittest.TestCase): 6 | """Unit tests for mmlib. method.""" 7 | 8 | 9 | def suite(): 10 | """Builds a test suite of all unit test in _test module.""" 11 | test_classes = ( 12 | Test) 13 | 14 | suite = unittest.TestSuite() 15 | for test_class in test_classes: 16 | tests = unittest.TestLoader().loadTestsFromTestCase(test_class) 17 | suite.addTests(tests) 18 | return suite 19 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/mmlib/topology_test.py: -------------------------------------------------------------------------------- 1 | """Classes and functions for unit tetsing the mmlib molecule module.""" 2 | 3 | import unittest 4 | 5 | class Test(unittest.TestCase): 6 | """Unit tests for mmlib. method.""" 7 | 8 | 9 | def suite(): 10 | """Builds a test suite of all unit test in _test module.""" 11 | test_classes = ( 12 | Test) 13 | 14 | suite = unittest.TestSuite() 15 | for test_class in test_classes: 16 | tests = unittest.TestLoader().loadTestsFromTestCase(test_class) 17 | suite.addTests(tests) 18 | return suite 19 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/opt.py: -------------------------------------------------------------------------------- 1 | """Main file for executing molecular mechanics energy minimization. 2 | 3 | This program reads in a set of molecular coordinates and parameters, infers 4 | bonded topology (if unspecified), calculates AMBER94 molecular mechanics energy 5 | components and gradients, and performs an energy minimization algorithm to 6 | achieve a minimum energy coordinate configuration. 7 | 8 | No guarantees are made that the results of this program are correct and the 9 | author assumes no liability for their reliability. 10 | """ 11 | 12 | import sys 13 | 14 | from mmlib import fileio 15 | from mmlib import optimize 16 | 17 | __author__ = 'Trent M. Parker' 18 | __email__ = 'tmpchemistry@gmail.com' 19 | __status__ = 'Prototype' 20 | __date__ = '2017-02-16' 21 | 22 | if __name__ == '__main__': 23 | # Check input syntax 24 | input_file_name = fileio.ValidateInput(__file__, sys.argv) 25 | 26 | # Read in molecular and optimization data 27 | optimization = optimize.Optimization(input_file_name) 28 | 29 | # Run energy minimization. 30 | optimization.Optimize() 31 | -------------------------------------------------------------------------------- /scripts/molecular_mechanics/run_tests.py: -------------------------------------------------------------------------------- 1 | """Main file for executing the test suite of mmlib directory modules. 2 | 3 | This program imports all test classes / functions from each unit test module 4 | in the mmlib directory and executes them as a test suite to verify proper 5 | functionality and the absence of regression erros in the working copy of this 6 | directory. 7 | 8 | WARNING: The test suite is incomplete and subject to change at any time as test 9 | coverage is updated. 10 | 11 | No guarantees are made that the results of this program are correct and the 12 | author assumes no liability for their reliability. 13 | """ 14 | 15 | from mmlib import test 16 | 17 | __author__ = 'Trent M. Parker' 18 | __email__ = 'tmpchemistry@gmail.com' 19 | __status__ = 'Development' 20 | __date__ = '2018-05-20' 21 | 22 | if __name__ == '__main__': 23 | # Run all unit tests. 24 | test.RunTests() 25 | --------------------------------------------------------------------------------