Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Kolaru committed Jul 1, 2024
1 parent 4a88338 commit 1b18756
Show file tree
Hide file tree
Showing 6 changed files with 90 additions and 6 deletions.
2 changes: 2 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@ version = "0.1.0"

[deps]
Chain = "8be319e6-bccf-4806-a6f7-6fae938471bc"
DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
PeriodicTable = "7b2266bf-644c-5ea3-82d8-af4bbd25a884"
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
UnitfulAtomic = "a7773ee8-282e-5fa2-be4e-bd808c38a91a"
Expand Down
3 changes: 3 additions & 0 deletions example/iodopyridine/Z.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
6 1 6 1 6 1 6 7 6 1 53


33 changes: 33 additions & 0 deletions example/iodopyridine/hessian.dat
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
1.87135e-01 -7.82252e-16 1.74800e-15 -5.37976e-02 2.04357e-17 -2.48662e-15 -8.77494e-02 4.09964e-17 4.98869e-16 9.72003e-03 -5.23720e-17 2.91464e-17 8.10545e-03 -5.85639e-17 -2.35374e-16 5.77448e-03 1.70338e-17 -6.75848e-17 -9.82565e-03 -1.21470e-16 -1.57288e-16 3.28871e-02 -2.39673e-16 -5.08220e-20 -1.00797e-01 7.93907e-16 8.01361e-16 8.61045e-03 -1.94737e-16 3.74558e-17 -8.49046e-05 -2.10594e-18 3.74494e-17
-7.82252e-16 7.54208e-01 -4.07754e-02 -4.18962e-16 -8.41197e-02 1.07476e-02 -1.84721e-16 -3.19712e-01 3.14957e-02 -1.14688e-17 -7.45087e-02 3.32754e-03 -2.35950e-15 6.45934e-02 1.60541e-01 -1.42335e-16 1.66433e-02 -2.38206e-02 1.51923e-15 -9.83412e-02 1.61302e-03 -2.16104e-16 8.43505e-02 -1.29921e-01 -1.64745e-15 -2.70428e-01 5.58037e-02 -5.20400e-16 -6.80232e-02 -2.36690e-02 1.51150e-15 -1.19751e-03 -1.25134e-03
1.74800e-15 -4.07754e-02 8.82824e-01 2.70942e-15 9.95822e-03 -3.98435e-01 -5.18808e-16 1.45872e-01 -2.26634e-01 6.64751e-17 -1.38788e-02 1.68486e-02 3.22125e-15 3.05697e-02 -3.43192e-02 1.27690e-17 -3.95019e-03 4.88750e-03 -7.89592e-16 -1.88051e-03 -1.64881e-03 -4.85416e-15 -4.87138e-02 -3.71766e-02 9.31076e-16 -1.05586e-01 -2.39340e-01 3.37128e-16 2.54421e-02 2.28108e-02 -8.35874e-16 1.14998e-03 -1.13615e-03
-5.37976e-02 -4.18962e-16 2.70942e-15 3.34284e-02 1.09246e-16 -2.55384e-15 9.54060e-03 7.17971e-16 1.23582e-16 -4.95600e-03 -9.35971e-19 -5.99191e-17 5.75620e-03 0.00000e+00 0.00000e+00 1.72562e-05 0.00000e+00 0.00000e+00 -6.57609e-06 0.00000e+00 -1.19837e-16 6.20910e-03 0.00000e+00 0.00000e+00 8.74280e-03 -2.39676e-16 -4.79349e-16 -4.93553e-03 0.00000e+00 -5.99191e-17 9.19099e-06 0.00000e+00 0.00000e+00
2.04357e-17 -8.41197e-02 9.95822e-03 1.09246e-16 8.66665e-02 -2.26240e-02 2.22939e-17 -9.51446e-03 5.27603e-02 9.06325e-19 8.23556e-07 1.15802e-03 -1.56612e-16 6.03123e-04 -1.60586e-02 2.36322e-18 6.46833e-04 -1.04512e-03 9.79424e-17 -1.97501e-03 -6.34747e-04 1.69142e-17 6.38190e-04 1.01232e-03 7.85835e-17 6.50998e-03 -3.30636e-02 -1.63202e-17 -5.46737e-04 -8.71307e-04 8.85912e-17 -5.90700e-06 -7.62405e-06
-2.48662e-15 1.07476e-02 -3.98435e-01 -2.55384e-15 -2.26240e-02 4.85097e-01 -1.46554e-16 3.84823e-02 -5.50122e-02 9.91029e-19 -2.12216e-03 -9.00310e-04 1.49063e-16 1.91575e-03 2.45335e-02 1.98232e-18 -4.86900e-04 1.13479e-03 -1.02247e-16 -7.23809e-04 1.18198e-03 -4.00875e-16 -1.76360e-03 1.36753e-02 1.21189e-16 -2.39258e-02 -5.82303e-02 1.30155e-16 2.06562e-03 -2.15244e-04 -1.24752e-16 -2.94235e-05 -1.11782e-04
-8.77494e-02 -1.84721e-16 -5.18808e-16 9.54060e-03 2.22939e-17 -1.46554e-16 1.81677e-01 1.42410e-15 1.83867e-15 -5.49294e-02 -2.07191e-15 -1.45256e-15 -8.94488e-02 -5.69460e-17 -1.65680e-16 9.47571e-03 -2.89812e-16 -2.73750e-17 2.04798e-02 4.74338e-19 -1.08602e-16 -1.72284e-02 2.40610e-16 -3.59327e-20 1.84554e-02 6.17906e-16 5.89823e-16 5.67656e-03 -1.87237e-17 -5.05552e-17 4.03144e-03 -4.63433e-17 -1.31070e-16
4.09964e-17 -3.19712e-01 1.45872e-01 7.17971e-16 -9.51446e-03 3.84823e-02 1.42410e-15 8.68033e-01 1.98971e-02 2.61970e-15 -3.27201e-01 -1.41609e-01 3.97111e-15 -1.76171e-01 -7.77299e-02 6.21722e-17 -1.68260e-02 5.48312e-02 -1.95903e-15 6.29452e-02 -3.29984e-02 -2.84313e-15 -2.98013e-02 5.52053e-02 4.86688e-16 -9.26436e-02 -8.27464e-02 2.40049e-16 2.57120e-02 4.31996e-03 -1.94837e-15 1.66153e-03 1.42652e-04
4.98869e-16 3.14957e-02 -2.26634e-01 1.23582e-16 5.27603e-02 -5.50122e-02 1.83867e-15 1.98971e-02 8.06283e-01 1.46239e-15 -1.40398e-01 -1.68120e-01 2.51094e-15 8.15336e-02 -3.34253e-01 7.17098e-17 4.15776e-02 -4.84476e-02 -8.59281e-16 -1.66508e-01 -3.16704e-02 1.60787e-15 5.80242e-02 -9.70857e-02 -7.28635e-16 5.64085e-02 1.37152e-01 5.08220e-20 -2.31140e-02 -2.30486e-03 -1.10568e-15 4.72920e-03 1.87622e-02
9.72003e-03 -1.14688e-17 6.64751e-17 -4.95600e-03 9.06325e-19 9.91029e-19 -5.49294e-02 2.61970e-15 1.46239e-15 3.39151e-02 -2.40259e-15 -1.37653e-15 9.56137e-03 5.59381e-17 -1.17496e-16 -4.96367e-03 0.00000e+00 -5.94511e-17 5.82297e-03 -1.19834e-16 -1.19838e-16 -9.72852e-05 0.00000e+00 0.00000e+00 5.81154e-03 0.00000e+00 0.00000e+00 2.05456e-05 0.00000e+00 0.00000e+00 1.03241e-04 -7.48989e-18 0.00000e+00
-5.23720e-17 -7.45087e-02 -1.38788e-02 -9.35971e-19 8.23556e-07 -2.12216e-03 -2.07191e-15 -3.27201e-01 -1.40398e-01 -2.40259e-15 3.83723e-01 1.69309e-01 3.33274e-16 -7.09151e-03 -2.90555e-02 9.43595e-18 -1.23021e-03 1.43341e-03 -1.85358e-16 7.53222e-03 2.84604e-03 -3.88390e-16 -4.18168e-04 6.22874e-04 2.35154e-16 1.14940e-02 7.70610e-03 0.00000e+00 1.49843e-03 6.95336e-04 -1.92526e-16 5.00937e-04 5.95709e-04
2.91464e-17 3.32754e-03 1.68486e-02 -5.99191e-17 1.15802e-03 -9.00310e-04 -1.45256e-15 -1.41609e-01 -1.68120e-01 -1.37653e-15 1.69309e-01 1.92281e-01 1.76566e-16 -5.82921e-02 -5.09730e-02 1.73494e-17 -1.79523e-03 1.28648e-04 2.69462e-17 1.01640e-02 5.59932e-03 -7.39290e-17 1.29709e-03 -1.53142e-03 -3.89212e-18 1.96618e-03 2.75425e-03 0.00000e+00 -2.49199e-04 6.78442e-05 -9.59350e-17 1.37611e-03 2.66031e-03
8.10545e-03 -2.35950e-15 3.22125e-15 5.75620e-03 -1.56612e-16 1.49063e-16 -8.94488e-02 3.97111e-15 2.51094e-15 9.56137e-03 3.33274e-16 1.76566e-16 1.88991e-01 4.19912e-15 -5.21813e-15 -5.31424e-02 -2.49936e-15 1.45310e-15 -9.75260e-02 5.43917e-15 -4.10947e-15 3.55961e-02 -8.61070e-15 -5.40404e-15 -1.04984e-02 -7.37745e-16 6.95991e-15 -3.40789e-05 1.87247e-17 -9.36183e-18 2.61752e-03 -6.31887e-18 1.16094e-16
-5.85639e-17 6.45934e-02 3.05697e-02 0.00000e+00 6.03123e-04 1.91575e-03 -5.69460e-17 -1.76171e-01 8.15336e-02 5.59381e-17 -7.09151e-03 -5.82921e-02 4.19912e-15 8.27522e-01 -7.45002e-02 3.07778e-15 -3.11337e-01 1.37674e-01 -2.76539e-16 -2.68894e-01 -8.97046e-02 -9.44433e-16 -8.82176e-02 4.34019e-02 3.27790e-16 -2.69206e-02 -4.25423e-02 -1.19854e-16 -4.60206e-04 1.20936e-03 2.34035e-17 -1.10134e-03 -3.11483e-02
-2.35374e-16 1.60541e-01 -3.43192e-02 0.00000e+00 -1.60586e-02 2.45335e-02 -1.65680e-16 -7.77299e-02 -3.34253e-01 -1.17496e-16 -2.90555e-02 -5.09730e-02 -5.21813e-15 -7.45002e-02 8.05123e-01 -1.73506e-15 1.49469e-01 -1.81086e-01 1.09125e-15 2.95863e-02 -2.17433e-01 9.04693e-16 -4.69788e-02 1.40781e-01 1.75628e-16 -3.47938e-02 -7.55453e-02 1.39760e-19 -1.64721e-02 -4.43522e-03 1.60516e-15 -2.79996e-02 -6.02063e-02
5.77448e-03 -1.42335e-16 1.27690e-17 1.72562e-05 2.36322e-18 1.98232e-18 9.47571e-03 6.21722e-17 7.17098e-17 -4.96367e-03 9.43595e-18 1.73494e-17 -5.31424e-02 3.07778e-15 -1.73506e-15 3.31985e-02 -2.83803e-15 1.69244e-15 5.67511e-03 -3.59510e-16 -2.39676e-16 6.26072e-03 1.19838e-16 0.00000e+00 -4.37382e-06 0.00000e+00 -2.39674e-16 5.11373e-06 0.00000e+00 0.00000e+00 -2.28655e-03 -4.86843e-17 -2.99592e-17
1.70338e-17 1.66433e-02 -3.95019e-03 0.00000e+00 6.46833e-04 -4.86900e-04 -2.89812e-16 -1.68260e-02 4.15776e-02 0.00000e+00 -1.23021e-03 -1.79523e-03 -2.49936e-15 -3.11337e-01 1.49469e-01 -2.83803e-15 3.77999e-01 -1.83349e-01 -1.45717e-16 -6.80415e-02 1.06785e-02 1.71541e-16 9.74428e-03 -7.46545e-03 1.79147e-18 3.43285e-04 -1.05730e-03 -4.19281e-19 -4.54789e-05 7.70810e-06 -1.14218e-16 -6.36389e-05 2.25467e-03
-6.75848e-17 -2.38206e-02 4.88750e-03 0.00000e+00 -1.04512e-03 1.13479e-03 -2.73750e-17 5.48312e-02 -4.84476e-02 -5.94511e-17 1.43341e-03 1.28648e-04 1.45310e-15 1.37674e-01 -1.81086e-01 1.69244e-15 -1.83349e-01 1.90725e-01 2.68272e-16 2.04608e-03 1.67633e-02 5.68751e-17 -3.36508e-03 3.75331e-03 9.89546e-18 -8.16564e-04 -1.29621e-03 -4.30429e-20 2.69262e-05 -9.57834e-06 1.16443e-16 -5.53695e-04 -1.00228e-03
-9.82565e-03 1.51923e-15 -7.89592e-16 -6.57609e-06 9.79424e-17 -1.02247e-16 2.04798e-02 -1.95903e-15 -8.59281e-16 5.82297e-03 -1.85358e-16 2.69462e-17 -9.75260e-02 -2.76539e-16 1.09125e-15 5.67511e-03 -1.45717e-16 2.68272e-16 1.62007e-01 1.30004e-15 -2.80639e-16 -1.03055e-01 -1.19652e-15 -3.59006e-16 1.70285e-02 3.63250e-16 7.17132e-16 1.40010e-02 -3.74600e-18 1.21710e-16 -1.45047e-02 7.69953e-17 3.70729e-16
-1.21470e-16 -9.83412e-02 -1.88051e-03 0.00000e+00 -1.97501e-03 -7.23809e-04 4.74338e-19 6.29452e-02 -1.66508e-01 -1.19834e-16 7.53222e-03 1.01640e-02 5.43917e-15 -2.68894e-01 2.95863e-02 -3.59510e-16 -6.80415e-02 2.04608e-03 1.30004e-15 7.21346e-01 -3.01896e-02 7.05206e-16 -3.63916e-01 9.43782e-02 -1.17331e-16 4.39227e-02 8.54617e-02 -4.44692e-19 5.54379e-03 -2.81941e-03 2.39676e-16 -4.31907e-02 -1.78945e-02
-1.57288e-16 1.61302e-03 -1.64881e-03 -1.19837e-16 -6.34747e-04 1.18198e-03 -1.08602e-16 -3.29984e-02 -3.16704e-02 -1.19838e-16 2.84604e-03 5.59932e-03 -4.10947e-15 -8.97046e-02 -2.17433e-01 -2.39676e-16 1.06785e-02 1.67633e-02 -2.80639e-16 -3.01896e-02 5.80403e-01 -1.46977e-16 1.54325e-01 -2.38620e-01 -3.82571e-16 4.78291e-03 -1.27740e-02 -1.31100e-16 -1.89318e-03 1.07517e-03 0.00000e+00 -1.97183e-02 -1.01120e-01
3.28871e-02 -2.16104e-16 -4.85416e-15 6.20910e-03 1.69142e-17 -4.00875e-16 -1.72284e-02 -2.84313e-15 1.60787e-15 -9.72852e-05 -3.88390e-16 -7.39290e-17 3.55961e-02 -9.44433e-16 9.04693e-16 6.26072e-03 1.71541e-16 5.68751e-17 -1.03055e-01 7.05206e-16 -1.46977e-16 1.35598e-01 -4.76405e-16 1.19476e-15 -8.48596e-02 3.77112e-15 1.16654e-15 -9.92390e-03 6.62854e-16 -2.80876e-17 -1.49332e-03 1.15857e-16 3.25803e-16
-2.39673e-16 8.43505e-02 -4.87138e-02 0.00000e+00 6.38190e-04 -1.76360e-03 2.40610e-16 -2.98013e-02 5.80242e-02 0.00000e+00 -4.18168e-04 1.29709e-03 -8.61070e-15 -8.82176e-02 -4.69788e-02 1.19838e-16 9.74428e-03 -3.36508e-03 -1.19652e-15 -3.63916e-01 1.54325e-01 -4.76405e-16 5.22353e-01 -1.49901e-01 -4.78336e-16 -1.49471e-01 -1.84606e-02 -1.18898e-16 1.24886e-03 3.11490e-02 0.00000e+00 1.25564e-02 2.51963e-02
-5.08220e-20 -1.29921e-01 -3.71766e-02 0.00000e+00 1.01232e-03 1.36753e-02 -3.59327e-20 5.52053e-02 -9.70857e-02 0.00000e+00 6.22874e-04 -1.53142e-03 -5.40404e-15 4.34019e-02 1.40781e-01 0.00000e+00 -7.46545e-03 3.75331e-03 -3.59006e-16 9.43782e-02 -2.38620e-01 1.19476e-15 -1.49901e-01 6.75029e-01 1.43616e-15 6.61695e-02 -4.07483e-01 -1.69407e-19 3.63613e-03 -1.73815e-02 0.00000e+00 2.24081e-02 -3.17707e-02
-1.00797e-01 -1.64745e-15 9.31076e-16 8.74280e-03 7.85835e-17 1.21189e-16 1.84554e-02 4.86688e-16 -7.28635e-16 5.81154e-03 2.35154e-16 -3.89212e-18 -1.04984e-02 3.27790e-16 1.75628e-16 -4.37382e-06 1.79147e-18 9.89546e-18 1.70285e-02 -1.17331e-16 -3.82571e-16 -8.48596e-02 -4.78336e-16 1.43616e-15 1.91274e-01 1.09735e-15 -9.69954e-16 -4.89913e-02 2.21042e-16 -1.68526e-16 3.88003e-03 -1.47447e-17 5.24282e-17
7.93907e-16 -2.70428e-01 -1.05586e-01 -2.39676e-16 6.50998e-03 -2.39258e-02 6.17906e-16 -9.26436e-02 5.64085e-02 0.00000e+00 1.14940e-02 1.96618e-03 -7.37745e-16 -2.69206e-02 -3.47938e-02 0.00000e+00 3.43285e-04 -8.16564e-04 3.63250e-16 4.39227e-02 4.78291e-03 3.77112e-15 -1.49471e-01 6.61695e-02 1.09735e-15 8.41266e-01 -7.22040e-02 1.46367e-16 -3.63734e-01 1.13854e-01 2.39672e-16 3.13527e-04 2.52772e-03
8.01361e-16 5.58037e-02 -2.39340e-01 -4.79349e-16 -3.30636e-02 -5.82303e-02 5.89823e-16 -8.27464e-02 1.37152e-01 0.00000e+00 7.70610e-03 2.75425e-03 6.95991e-15 -4.25423e-02 -7.55453e-02 -2.39674e-16 -1.05730e-03 -1.29621e-03 7.17132e-16 8.54617e-02 -1.27740e-02 1.16654e-15 -1.84606e-02 -4.07483e-01 -9.69954e-16 -7.22040e-02 7.96011e-01 -1.92852e-16 1.01183e-01 -1.47176e-01 0.00000e+00 2.37287e-04 1.04078e-02
8.61045e-03 -5.20400e-16 3.37128e-16 -4.93553e-03 -1.63202e-17 1.30155e-16 5.67656e-03 2.40049e-16 5.08220e-20 2.05456e-05 0.00000e+00 0.00000e+00 -3.40789e-05 -1.19854e-16 1.39760e-19 5.11373e-06 -4.19281e-19 -4.30429e-20 1.40010e-02 -4.44692e-19 -1.31100e-16 -9.92390e-03 -1.18898e-16 -1.69407e-19 -4.89913e-02 1.46367e-16 -1.92852e-16 3.55700e-02 9.36480e-17 1.32950e-16 1.81020e-05 -3.27590e-18 1.12348e-17
-1.94737e-16 -6.80232e-02 2.54421e-02 0.00000e+00 -5.46737e-04 2.06562e-03 -1.87237e-17 2.57120e-02 -2.31140e-02 0.00000e+00 1.49843e-03 -2.49199e-04 1.87247e-17 -4.60206e-04 -1.64721e-02 0.00000e+00 -4.54789e-05 2.69262e-05 -3.74600e-18 5.54379e-03 -1.89318e-03 6.62854e-16 1.24886e-03 3.63613e-03 2.21042e-16 -3.63734e-01 1.01183e-01 9.36480e-17 3.99040e-01 -1.23867e-01 0.00000e+00 2.73926e-05 3.76829e-04
3.74558e-17 -2.36690e-02 2.28108e-02 -5.99191e-17 -8.71307e-04 -2.15244e-04 -5.05552e-17 4.31996e-03 -2.30486e-03 0.00000e+00 6.95336e-04 6.78442e-05 -9.36183e-18 1.20936e-03 -4.43522e-03 0.00000e+00 7.70810e-06 -9.57834e-06 1.21710e-16 -2.81941e-03 1.07517e-03 -2.80876e-17 3.11490e-02 -1.73815e-02 -1.68526e-16 1.13854e-01 -1.47176e-01 1.32950e-16 -1.23867e-01 1.42764e-01 0.00000e+00 1.73979e-05 -2.00172e-04
-8.49046e-05 1.51150e-15 -8.35874e-16 9.19099e-06 8.85912e-17 -1.24752e-16 4.03144e-03 -1.94837e-15 -1.10568e-15 1.03241e-04 -1.92526e-16 -9.59350e-17 2.61752e-03 2.34035e-17 1.60516e-15 -2.28655e-03 -1.14218e-16 1.16443e-16 -1.45047e-02 2.39676e-16 0.00000e+00 -1.49332e-03 0.00000e+00 0.00000e+00 3.88003e-03 2.39672e-16 0.00000e+00 1.81020e-05 0.00000e+00 0.00000e+00 7.69714e-03 6.55604e-18 1.79774e-16
-2.10594e-18 -1.19751e-03 1.14998e-03 0.00000e+00 -5.90700e-06 -2.94235e-05 -4.63433e-17 1.66153e-03 4.72920e-03 -7.48989e-18 5.00937e-04 1.37611e-03 -6.31887e-18 -1.10134e-03 -2.79996e-02 -4.86843e-17 -6.36389e-05 -5.53695e-04 7.69953e-17 -4.31907e-02 -1.97183e-02 1.15857e-16 1.25564e-02 2.24081e-02 -1.47447e-17 3.13527e-04 2.37287e-04 -3.27590e-18 2.73926e-05 1.73979e-05 6.55604e-18 3.00792e-02 1.83389e-02
3.74494e-17 -1.25134e-03 -1.13615e-03 0.00000e+00 -7.62405e-06 -1.11782e-04 -1.31070e-16 1.42652e-04 1.87622e-02 0.00000e+00 5.95709e-04 2.66031e-03 1.16094e-16 -3.11483e-02 -6.02063e-02 -2.99592e-17 2.25467e-03 -1.00228e-03 3.70729e-16 -1.78945e-02 -1.01120e-01 3.25803e-16 2.51963e-02 -3.17707e-02 5.24282e-17 2.52772e-03 1.04078e-02 1.12348e-17 3.76829e-04 -2.00172e-04 1.79774e-16 1.83389e-02 1.63676e-01
16 changes: 16 additions & 0 deletions example/iodopyridine/r.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
0.00000 -0.01156e-10 -3.32488e-10
0.00000 0.01768e-10 -4.39531e-10
0.00000 -1.22178e-10 -2.64898e-10
0.00000 -2.14530e-10 -3.18791e-10
0.00000 -1.21874e-10 -1.26326e-10
0.00000 -2.13726e-10 -0.71242e-10
0.00000 0.01176e-10 -0.61763e-10
0.00000 1.15641e-10 -1.25915e-10
0.00000 1.16330e-10 -2.58447e-10
0.00000 2.12442e-10 -3.05215e-10
0.00000 0.10407e-10 1.52275e-10





8 changes: 5 additions & 3 deletions src/NormalModes.jl
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ using UnitfulAtomic
export NormalDecomposition
export project_geometries, project_momenta, project_per_atom
export normal_modes, normal_mode, frequencies, wave_number, reduced_masses
export omegas
export spatial_variances, momentum_variances, atom_spatial_variances
export sample

Expand Down Expand Up @@ -161,6 +162,8 @@ function reduced_masses(nm::NormalDecomposition)
end
end

omegas(nm::NormalDecomposition) = nm.ωs * aunit(u"1/s")

function frequencies(nm::NormalDecomposition)
@chain nm.ωs begin
_ ./ 2π
Expand Down Expand Up @@ -194,12 +197,11 @@ Return the deviation from the average geometry and the deviation from zero
momentum.
"""
function StatsBase.sample(rng::AbstractRNG, nm::NormalDecomposition, n_samples)
X = nm.M * nm.U
Δx_dist = MvNormal(Diagonal(spatial_variances(nm)))
Δp_dist = MvNormal(Diagonal(momentum_variances(nm)))

Δx = X * rand(rng, Δx_dist, n_samples)
Δp = inv(nm.M)^2 * X * rand(rng, Δp_dist, n_samples)
Δx = nm.M * nm.U * rand(rng, Δx_dist, n_samples)
Δp = inv(nm.M) * nm.U * rand(rng, Δp_dist, n_samples)

return Δx * aunit(u"m"), Δp * aunit(u"kg*m/s")
end
Expand Down
Loading

0 comments on commit 1b18756

Please sign in to comment.