| [48d20d] | 1 | #
 | 
|---|
 | 2 | #    MoleCuilder - creates and alters molecular systems
 | 
|---|
 | 3 | #    Copyright (C) 2013 University of Bonn
 | 
|---|
| [5aaa43] | 4 | #    Copyright (C) 2013 Frederik Heber
 | 
|---|
| [48d20d] | 5 | #
 | 
|---|
 | 6 | #    This program is free software: you can redistribute it and/or modify
 | 
|---|
 | 7 | #    it under the terms of the GNU General Public License as published by
 | 
|---|
 | 8 | #    the Free Software Foundation, either version 3 of the License, or
 | 
|---|
 | 9 | #    (at your option) any later version.
 | 
|---|
 | 10 | #
 | 
|---|
 | 11 | #    This program is distributed in the hope that it will be useful,
 | 
|---|
 | 12 | #    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
|---|
 | 13 | #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
|---|
 | 14 | #    GNU General Public License for more details.
 | 
|---|
 | 15 | #
 | 
|---|
 | 16 | #    You should have received a copy of the GNU General Public License
 | 
|---|
 | 17 | #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
|---|
 | 18 | #
 | 
|---|
 | 19 | ### fit some potentials
 | 
|---|
 | 20 | 
 | 
|---|
 | 21 | AT_SETUP([Fragmentation - Fit morse potential to water])
 | 
|---|
| [d449a9] | 22 | AT_KEYWORDS([fragmentation parse-homologies fit-potential morse])
 | 
|---|
| [85dee9] | 23 | AT_SKIP_IF([../../molecuilder --help --actionname fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
 | 
|---|
| [48d20d] | 24 | 
 | 
|---|
 | 25 | file=length_homology.dat
 | 
|---|
 | 26 | AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/FitPotential/pre/$file $file], 0)
 | 
|---|
 | 27 | AT_CHECK([chmod u+w $file], 0, [ignore], [ignore])
 | 
|---|
| [4792ab] | 28 | AT_CHECK([../../molecuilder --parse-homologies $file --fit-potential --potential-type "morse" --potential-charges 8 1 --fragment-charges 1 8 1 --set-threshold 1e-6], 0, [stdout], [ignore])
 | 
|---|
| [48d20d] | 29 | # check that L_2 error is below 1e-6
 | 
|---|
 | 30 | AT_CHECK([grep "Best parameters with L2 error" stdout | awk '{if ($8 > 1e-6) exit 1}'], 0, [ignore], [ignore])
 | 
|---|
 | 31 | # check parameters to printed precision
 | 
|---|
| [baccf6] | 32 | AT_CHECK([grep "morse:.*particle_type1=8,.*particle_type2=1,.*spring_constant=1.27.*,.*equilibrium_distance=1.78.*,.*dissociation_energy=0.19.*;" stdout], 0, [ignore], [ignore])
 | 
|---|
| [48d20d] | 33 | 
 | 
|---|
 | 34 | AT_CLEANUP
 | 
|---|
 | 35 | 
 | 
|---|
| [6550cf] | 36 | AT_SETUP([Fragmentation - Fit harmonic potential to water])
 | 
|---|
 | 37 | AT_KEYWORDS([fragmentation parse-homologies fit-potential harmonic])
 | 
|---|
 | 38 | AT_SKIP_IF([../../molecuilder --help --actionname fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
 | 
|---|
 | 39 | 
 | 
|---|
 | 40 | file=harmonic_homology.dat
 | 
|---|
 | 41 | AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/FitPotential/pre/$file $file], 0)
 | 
|---|
 | 42 | AT_CHECK([chmod u+w $file], 0, [ignore], [ignore])
 | 
|---|
 | 43 | AT_CHECK([../../molecuilder --parse-homologies $file --fit-potential --potential-type "harmonic_bond" --potential-charges 8 1 --fragment-charges 1 8 1 --set-threshold 1e-6], 0, [stdout], [ignore])
 | 
|---|
 | 44 | # check that L_2 error is below 1e-6
 | 
|---|
 | 45 | AT_CHECK([grep "Best parameters with L2 error" stdout | awk '{if ($8 > 1e-6) exit 1}'], 0, [ignore], [ignore])
 | 
|---|
 | 46 | # check parameters to printed precision
 | 
|---|
 | 47 | AT_CHECK([grep "harmonic_bond:.*particle_type1=8,.*particle_type2=1,.*spring_constant=0.29.*,.*equilibrium_distance=1.8.*;" stdout], 0, [ignore], [ignore])
 | 
|---|
 | 48 | 
 | 
|---|
 | 49 | AT_CLEANUP
 | 
|---|
 | 50 | 
 | 
|---|
| [48d20d] | 51 | AT_SETUP([Fragmentation - Fit harmonic_angle potential to water])
 | 
|---|
| [d449a9] | 52 | AT_KEYWORDS([fragmentation parse-homologies fit-potential harmonic_angle])
 | 
|---|
| [85dee9] | 53 | AT_SKIP_IF([../../molecuilder --help --actionname fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
 | 
|---|
| [48d20d] | 54 | 
 | 
|---|
 | 55 | file=angle_homology.dat
 | 
|---|
 | 56 | AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/FitPotential/pre/$file $file], 0)
 | 
|---|
 | 57 | AT_CHECK([chmod u+w $file], 0, [ignore], [ignore])
 | 
|---|
| [4792ab] | 58 | AT_CHECK([../../molecuilder --parse-homologies $file --fit-potential --potential-type "harmonic_angle" --potential-charges 1 8 1 --fragment-charges 1 8 1 --set-threshold 1e-6], 0, [stdout], [ignore])
 | 
|---|
| [48d20d] | 59 | # check that L_2 error is below 1e-6
 | 
|---|
 | 60 | AT_CHECK([grep "||e||_2:" stdout | awk '{if ($7 > 1e-6) exit 1}'], 0, [ignore], [ignore])
 | 
|---|
 | 61 | # check parameters to printed precision
 | 
|---|
| [baccf6] | 62 | AT_CHECK([grep "harmonic_angle:.*particle_type1=1,.*particle_type2=8,.*particle_type3=1,.*spring_constant=0.10.*,.*equilibrium_distance=-0.27.*;" stdout], 0, [ignore], [ignore])
 | 
|---|
| [48d20d] | 63 | 
 | 
|---|
 | 64 | AT_CLEANUP
 | 
|---|
| [1413f4] | 65 | 
 | 
|---|
| [e2037e] | 66 | AT_SETUP([Fragmentation - Fit torsion potential to butane])
 | 
|---|
 | 67 | AT_KEYWORDS([fragmentation parse-homologies fit-potential torsion])
 | 
|---|
 | 68 | AT_SKIP_IF([../../molecuilder --help --actionname fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
 | 
|---|
 | 69 | 
 | 
|---|
 | 70 | file=torsion_homology.dat
 | 
|---|
 | 71 | AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/FitPotential/pre/$file $file], 0)
 | 
|---|
 | 72 | AT_CHECK([chmod u+w $file], 0, [ignore], [ignore])
 | 
|---|
 | 73 | AT_CHECK([../../molecuilder --parse-homologies $file --fit-potential --potential-type "torsion" --potential-charges 6 6 6 6 --fragment-charges 6 6 6 6 1 1 1 1 1 1 1 1 1 1 --set-threshold 9e-12], 0, [stdout], [ignore])
 | 
|---|
 | 74 | # check that L_2 error is below 9e-12
 | 
|---|
 | 75 | AT_CHECK([grep "Best parameters with L2 error" stdout | awk '{if ($8 > 9e-12) exit 1}'], 0, [ignore], [ignore])
 | 
|---|
 | 76 | AT_CHECK([grep "torsion:.*particle_type1=6,.*particle_type2=6,.*particle_type3=6,.*particle_type4=6,.*spring_constant=0.001.*,.*equilibrium_distance=0.99.*;" stdout], 0, [ignore], [ignore])
 | 
|---|
 | 77 | 
 | 
|---|
 | 78 | AT_CLEANUP
 | 
|---|
 | 79 | 
 | 
|---|
| [791a12] | 80 | AT_SETUP([Fragmentation - Fit improper potential to ammonia])
 | 
|---|
 | 81 | AT_KEYWORDS([fragmentation parse-homologies fit-potential improper])
 | 
|---|
 | 82 | AT_XFAIL_IF([/bin/true])
 | 
|---|
 | 83 | AT_SKIP_IF([../../molecuilder --help --actionname fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
 | 
|---|
 | 84 | 
 | 
|---|
 | 85 | file=improper_homology.dat
 | 
|---|
 | 86 | AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/FitPotential/pre/$file $file], 0)
 | 
|---|
 | 87 | AT_CHECK([chmod u+w $file], 0, [ignore], [ignore])
 | 
|---|
 | 88 | AT_CHECK([../../molecuilder --parse-homologies $file --fit-potential --potential-type "improper" --potential-charges 1 7 1 1 --fragment-charges 7 1 1 1 --set-threshold 3e-4], 0, [stdout], [ignore])
 | 
|---|
 | 89 | # check that L_2 error is below 3e-4
 | 
|---|
 | 90 | AT_CHECK([grep "Best parameters with L2 error" stdout | awk '{if ($8 > 3e-4) exit 1}'], 0, [ignore], [ignore])
 | 
|---|
 | 91 | # check parameters to printed precision
 | 
|---|
 | 92 | AT_CHECK([grep "improper:.*particle_type1=1,.*particle_type2=1,.*particle_type3=7,.*particle_type4=1,.*spring_constant=1.02.*,.*equilibrium_distance=0.85.*;" stdout], 0, [ignore], [ignore])
 | 
|---|
 | 93 | 
 | 
|---|
 | 94 | AT_CLEANUP
 | 
|---|
 | 95 | 
 | 
|---|
| [1413f4] | 96 | AT_SETUP([Fragmentation - Fit LJ potential to argon])
 | 
|---|
 | 97 | AT_KEYWORDS([fragmentation parse-homologies fit-potential lennardjones])
 | 
|---|
 | 98 | AT_SKIP_IF([../../molecuilder --help --actionname fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
 | 
|---|
 | 99 | 
 | 
|---|
 | 100 | file=lj_homology.dat
 | 
|---|
 | 101 | AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Fragmentation/FitPotential/pre/$file $file], 0)
 | 
|---|
 | 102 | AT_CHECK([chmod u+w $file], 0, [ignore], [ignore])
 | 
|---|
 | 103 | AT_CHECK([../../molecuilder --parse-homologies $file --fit-potential --potential-type "lennardjones" --potential-charges 18 18 --fragment-charges 18 18 --set-threshold 7e-11], 0, [stdout], [ignore])
 | 
|---|
 | 104 | # check that L_2 error is below 7e-11
 | 
|---|
 | 105 | AT_CHECK([grep "Best parameters with L2 error" stdout | awk '{if ($8 > 7e-11) exit 1}'], 0, [ignore], [ignore])
 | 
|---|
 | 106 | # check parameters to printed precision
 | 
|---|
 | 107 | AT_CHECK([grep "lennardjones:.*particle_type1=18,.*particle_type2=18,.*epsilon=1.*e-05,.*sigma=8.2.*;" stdout], 0, [ignore], [ignore])
 | 
|---|
 | 108 | 
 | 
|---|
 | 109 | AT_CLEANUP
 | 
|---|