mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-10-10 01:43:06 +02:00
98 lines
3.4 KiB
Bash
98 lines
3.4 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
source $QP_ROOT/tests/bats/common.bats.sh
|
|
source $QP_ROOT/quantum_package.rc
|
|
|
|
zero () {
|
|
if [ -z "$1" ]; then echo 0.0; else echo $1; fi
|
|
}
|
|
|
|
function run() {
|
|
thresh1=1e-10
|
|
thresh2=1e-12
|
|
thresh3=1e-4
|
|
test_exe scf || skip
|
|
qp set_file $1
|
|
qp edit --check
|
|
qp reset -d
|
|
qp set_frozen_core
|
|
qp set localization localization_method boys
|
|
file="$(echo $1 | sed 's/.ezfio//g')"
|
|
energy="$(cat $1/hartree_fock/energy)"
|
|
fb_err1="$(qp run debug_gradient_loc | grep 'Max error' | tail -n 1 | awk '{print $3}')"
|
|
fb_err2="$(qp run debug_hessian_loc | grep 'Max error' | tail -n 1 | awk '{print $3}')"
|
|
qp run localization > $file.loc.out
|
|
fb_energy="$(qp run print_energy | grep -A 1 'Nuclear repulsion energy' | tail -n 1 )"
|
|
fb_c="$(cat $file.loc.out | grep 'Criterion:Core' | tail -n 1 | awk '{print $3}')i"
|
|
fb_i="$(cat $file.loc.out | grep 'Criterion:Inactive' | tail -n 1 | awk '{print $3}')"
|
|
fb_a="$(cat $file.loc.out | grep 'Criterion:Active' | tail -n 1 | awk '{print $3}')"
|
|
fb_v="$(cat $file.loc.out | grep 'Criterion:Virtual' | tail -n 1 | awk '{print $3}')"
|
|
qp reset -a
|
|
qp run scf
|
|
qp set_frozen_core
|
|
qp set localization localization_method pipek
|
|
pm_err1="$(qp run debug_gradient_loc | grep 'Max error' | tail -n 1 | awk '{print $3}')"
|
|
pm_err2="$(qp run debug_hessian_loc | grep 'Max error' | tail -n 1 | awk '{print $3}')"
|
|
qp run localization > $file.loc.out
|
|
pm_c="$(cat $file.loc.out | grep 'Criterion:Core' | tail -n 1 | awk '{print $3}')i"
|
|
pm_i="$(cat $file.loc.out | grep 'Criterion:Inactive' | tail -n 1 | awk '{print $3}')"
|
|
pm_a="$(cat $file.loc.out | grep 'Criterion:Active' | tail -n 1 | awk '{print $3}')"
|
|
pm_v="$(cat $file.loc.out | grep 'Criterion:Virtual' | tail -n 1 | awk '{print $3}')"
|
|
pm_energy="$(qp run print_energy | grep -A 1 'Nuclear repulsion energy' | tail -n 1 )"
|
|
qp set localization localization_method boys
|
|
qp reset -a
|
|
qp run scf
|
|
qp set_frozen_core
|
|
eq $energy $fb_energy $thresh1
|
|
eq $fb_err1 0.0 $thresh2
|
|
eq $fb_err2 0.0 $thresh2
|
|
eq $energy $pm_energy $thresh1
|
|
eq $pm_err1 0.0 $thresh2
|
|
eq $pm_err2 0.0 $thresh2
|
|
fb_c=$(zero $fb_c)
|
|
fb_i=$(zero $fb_i)
|
|
fb_a=$(zero $fb_a)
|
|
fb_v=$(zero $fb_v)
|
|
pm_c=$(zero $pm_c)
|
|
pm_i=$(zero $pm_i)
|
|
pm_a=$(zero $pm_a)
|
|
pm_v=$(zero $pm_v)
|
|
eq $fb_c $2 $thresh3
|
|
eq $fb_i $3 $thresh3
|
|
eq $fb_a $4 $thresh3
|
|
eq $fb_v $5 $thresh3
|
|
eq $pm_c $6 $thresh3
|
|
eq $pm_i $7 $thresh3
|
|
eq $pm_a $8 $thresh3
|
|
eq $pm_v $9 $thresh3
|
|
}
|
|
|
|
@test "b2_stretched" {
|
|
run b2_stretched.ezfio -32.1357551678876 -47.0041982094667 0.0 -223.470015856259 -1.99990778964451 -2.51376723927071 0.0 -12.8490602539275
|
|
}
|
|
|
|
@test "clo" {
|
|
run clo.ezfio -44.1624001765291 -32.4386660941387 0.0 -103.666309287187 -5.99985418946811 -5.46871580225222 0.0 -20.2480064922275
|
|
}
|
|
|
|
@test "clf" {
|
|
run clf.ezfio -47.5143398826967 -35.7206886315104 0.0 -107.043029033468 -5.99994222062230 -6.63916513458470 0.0 -19.7035159913484
|
|
}
|
|
|
|
@test "h2o2" {
|
|
run h2o2.ezfio -7.76848143170524 -30.9694344369829 0.0 -175.898343829453 -1.99990497554575 -5.62980322957485 0.0 -33.5699813186666
|
|
}
|
|
|
|
@test "h2o" {
|
|
run h2o.ezfio 0.0 -2.52317434969591 0.0 -45.3136377925359 0.0 -3.01248365356981 0.0 -22.4470831240924
|
|
}
|
|
|
|
@test "h3coh" {
|
|
run h3coh.ezfio -3.66763692804590 -24.0463089480870 0.0 -111.485948435075 -1.99714061342078 -4.89242181322988 0.0 -23.6405412057679
|
|
}
|
|
|
|
@test "n2h4" {
|
|
run n2h4.ezfio -7.46608163002070 -35.7632174051822 0.0 -305.913449004632 -1.99989326143356 -4.62496615892268 0.0 -51.5171904685553
|
|
}
|
|
|