mirror of
https://github.com/pfloos/quack
synced 2025-01-03 01:55:57 +01:00
correction of EA sign and added Fundamental Gap in the print
This commit is contained in:
parent
b82cbc5c87
commit
d1c24948dd
30
input/basis
30
input/basis
@ -1,9 +1,25 @@
|
|||||||
1 3
|
1 10
|
||||||
S 3
|
S 4
|
||||||
1 38.3600000 0.0238090
|
1 528.5000000 0.0009400
|
||||||
2 5.7700000 0.1548910
|
2 79.3100000 0.0072140
|
||||||
3 1.2400000 0.4699870
|
3 18.0500000 0.0359750
|
||||||
|
4 5.0850000 0.1277820
|
||||||
S 1
|
S 1
|
||||||
1 0.2976000 1.0000000
|
1 1.6090000 1.0000000
|
||||||
|
S 1
|
||||||
|
1 0.5363000 1.0000000
|
||||||
|
S 1
|
||||||
|
1 0.1833000 1.0000000
|
||||||
P 1
|
P 1
|
||||||
1 1.2750000 1.0000000
|
1 5.9940000 1.0000000
|
||||||
|
P 1
|
||||||
|
1 1.7450000 1.0000000
|
||||||
|
P 1
|
||||||
|
1 0.5600000 1.0000000
|
||||||
|
D 1
|
||||||
|
1 4.2990000 1.0000000
|
||||||
|
D 1
|
||||||
|
1 1.2230000 1.0000000
|
||||||
|
F 1
|
||||||
|
1 2.6800000 1.0000000
|
||||||
|
|
||||||
|
@ -19,9 +19,9 @@
|
|||||||
# Number of states in ensemble (nEns)
|
# Number of states in ensemble (nEns)
|
||||||
3
|
3
|
||||||
# Ensemble weights: wEns(1),...,wEns(nEns-1)
|
# Ensemble weights: wEns(1),...,wEns(nEns-1)
|
||||||
1 0.0
|
0.00 0.00
|
||||||
# Parameters for CC weight-dependent exchange functional
|
# Parameters for CC weight-dependent exchange functional
|
||||||
0.000000 0.0000000 0.000000
|
0.420243 0.0700561 -0.288301
|
||||||
0.000000 0.0000000 0.0000000
|
0.135068 -0.00774769 -0.0278205
|
||||||
# GOK-DFT: maxSCF thresh DIIS n_diis guess_type ortho_type
|
# GOK-DFT: maxSCF thresh DIIS n_diis guess_type ortho_type
|
||||||
32 0.00001 T 5 1 1
|
32 0.00001 T 5 1 1
|
||||||
|
30
input/weight
30
input/weight
@ -1,9 +1,25 @@
|
|||||||
1 3
|
1 10
|
||||||
S 3
|
S 4
|
||||||
1 38.3600000 0.0238090
|
1 528.5000000 0.0009400
|
||||||
2 5.7700000 0.1548910
|
2 79.3100000 0.0072140
|
||||||
3 1.2400000 0.4699870
|
3 18.0500000 0.0359750
|
||||||
|
4 5.0850000 0.1277820
|
||||||
S 1
|
S 1
|
||||||
1 0.2976000 1.0000000
|
1 1.6090000 1.0000000
|
||||||
|
S 1
|
||||||
|
1 0.5363000 1.0000000
|
||||||
|
S 1
|
||||||
|
1 0.1833000 1.0000000
|
||||||
P 1
|
P 1
|
||||||
1 1.2750000 1.0000000
|
1 5.9940000 1.0000000
|
||||||
|
P 1
|
||||||
|
1 1.7450000 1.0000000
|
||||||
|
P 1
|
||||||
|
1 0.5600000 1.0000000
|
||||||
|
D 1
|
||||||
|
1 4.2990000 1.0000000
|
||||||
|
D 1
|
||||||
|
1 1.2230000 1.0000000
|
||||||
|
F 1
|
||||||
|
1 2.6800000 1.0000000
|
||||||
|
|
||||||
|
@ -1,63 +0,0 @@
|
|||||||
#! /bin/bash
|
|
||||||
|
|
||||||
MOL=$1
|
|
||||||
BASIS=$2
|
|
||||||
|
|
||||||
w_start=0.0
|
|
||||||
w_end=1.0
|
|
||||||
dw=0.1
|
|
||||||
|
|
||||||
w2=0.0
|
|
||||||
|
|
||||||
XF=$3
|
|
||||||
CF=$4
|
|
||||||
|
|
||||||
aw1="0.000000 0.0000000 0.000000"
|
|
||||||
aw2="0.000000 0.0000000 0.0000000"
|
|
||||||
|
|
||||||
DATA=${MOL}_${BASIS}_${XF}_${CF}.dat
|
|
||||||
rm $DATA
|
|
||||||
touch $DATA
|
|
||||||
|
|
||||||
for w1 in $(seq $w_start $dw $w_end)
|
|
||||||
do
|
|
||||||
### w2=${w1}
|
|
||||||
echo "# Restricted or unrestricted KS calculation" > input/dft
|
|
||||||
echo " eDFT-UKS" >> input/dft
|
|
||||||
echo "# exchange rung:" >> input/dft
|
|
||||||
echo "# Hartree = 0" >> input/dft
|
|
||||||
echo "# LDA = 1: RS51,RMFL20" >> input/dft
|
|
||||||
echo "# GGA = 2: RB88" >> input/dft
|
|
||||||
echo "# Hybrid = 4" >> input/dft
|
|
||||||
echo "# Hartree-Fock = 666" >> input/dft
|
|
||||||
echo " 1 $XF " >> input/dft
|
|
||||||
echo "# correlation rung: " >> input/dft
|
|
||||||
echo "# Hartree = 0" >> input/dft
|
|
||||||
echo "# LDA = 1: RVWN5,RMFL20" >> input/dft
|
|
||||||
echo "# GGA = 2: " >> input/dft
|
|
||||||
echo "# Hybrid = 4: " >> input/dft
|
|
||||||
echo "# Hartree-Fock = 666" >> input/dft
|
|
||||||
echo " 0 $CF " >> input/dft
|
|
||||||
echo "# quadrature grid SG-n" >> input/dft
|
|
||||||
echo " 1" >> input/dft
|
|
||||||
echo "# Number of states in ensemble (nEns)" >> input/dft
|
|
||||||
echo " 3" >> input/dft
|
|
||||||
echo "# Ensemble weights: wEns(1),...,wEns(nEns-1)" >> input/dft
|
|
||||||
echo " ${w1} ${w2} " >> input/dft
|
|
||||||
echo "# Parameters for CC weight-dependent exchange functional" >> input/dft
|
|
||||||
echo ${aw1} >> input/dft
|
|
||||||
echo ${aw2} >> input/dft
|
|
||||||
echo "# GOK-DFT: maxSCF thresh DIIS n_diis guess_type ortho_type" >> input/dft
|
|
||||||
echo " 32 0.00001 T 5 1 1" >> input/dft
|
|
||||||
OUTPUT=${MOL}_${BASIS}_${XF}_${CF}_${w1}.out
|
|
||||||
./GoXC $MOL $BASIS > ${OUTPUT}
|
|
||||||
Ew=`grep "Ensemble energy:" ${OUTPUT} | cut -d":" -f 2 | sed 's/au//'`
|
|
||||||
E0=`grep "Individual energy state 1:" ${OUTPUT} | cut -d":" -f 2 | sed 's/au//'`
|
|
||||||
E1=`grep "Individual energy state 2:" ${OUTPUT} | cut -d":" -f 2 | sed 's/au//'`
|
|
||||||
E2=`grep "Individual energy state 3:" ${OUTPUT} | cut -d":" -f 2 | sed 's/au//'`
|
|
||||||
IP=`grep "Ionization Potential" ${OUTPUT} | grep " au" | tail -1 | cut -d":" -f 2 | sed 's/au//'`
|
|
||||||
EA=`grep "Electronic Affinity" ${OUTPUT} | grep " au" | tail -1 | cut -d":" -f 2 | sed 's/au//'`
|
|
||||||
echo $w1 $w2 $Ew $E0 $E1 $E2 $IP $EA
|
|
||||||
echo $w1 $w2 $Ew $E0 $E1 $E2 $IP $EA >> ${DATA}
|
|
||||||
done
|
|
||||||
|
|
@ -147,12 +147,19 @@ subroutine print_unrestricted_individual_energy(nEns,ENuc,Ew,ET,EV,EJ,Ex,Ec,Exc,
|
|||||||
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(2), ' au'
|
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(2), ' au'
|
||||||
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(2),' au'
|
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(2),' au'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
write(*,'(A43,F16.10,A4)') ' Electronic Affinity 1 -> 3:',Omaux(3)+OmxcDD(3),' au'
|
write(*,'(A43,F16.10,A4)') ' Electronic Affinity 1 -> 3:',-1.d0*(Omaux(3)+OmxcDD(3)),' au'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
write(*,'(A44, F16.10,A3)') ' auxiliary energy contribution : ',Omaux(3), ' au'
|
write(*,'(A44, F16.10,A3)') ' auxiliary energy contribution : ',-1.d0*Omaux(3), ' au'
|
||||||
write(*,'(A44, F16.10,A3)') ' x ensemble derivative : ',OmxDD(3), ' au'
|
write(*,'(A44, F16.10,A3)') ' x ensemble derivative : ',-1.d0*OmxDD(3), ' au'
|
||||||
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(3), ' au'
|
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',-1.d0*OmcDD(3), ' au'
|
||||||
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(3),' au'
|
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',-1.d0*OmxcDD(3),' au'
|
||||||
|
write(*,*)
|
||||||
|
write(*,'(A43,F16.10,A4)') ' Fundamental Gap :',Omaux(2)+OmxcDD(2)+(Omaux(3)+OmxcDD(3)),' au'
|
||||||
|
write(*,*)
|
||||||
|
write(*,'(A44, F16.10,A3)') ' auxiliary energy contribution : ',Omaux(2)+Omaux(3), ' au'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' x ensemble derivative : ',OmxDD(2)+OmxDD(3), ' au'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(2)+OmcDD(3), ' au'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(2)+OmxcDD(3),' au'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
write(*,'(A60)') '-------------------------------------------------'
|
write(*,'(A60)') '-------------------------------------------------'
|
||||||
@ -165,12 +172,19 @@ subroutine print_unrestricted_individual_energy(nEns,ENuc,Ew,ET,EV,EJ,Ex,Ec,Exc,
|
|||||||
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(2)*HaToeV, ' eV'
|
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(2)*HaToeV, ' eV'
|
||||||
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(2)*HaToeV,' eV'
|
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(2)*HaToeV,' eV'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
write(*,'(A40,F16.10,A3)') ' Electronic Affinity 1 -> 3:',(Omaux(3)+OmxcDD(3))*HaToeV,' eV'
|
write(*,'(A40,F16.10,A3)') ' Electronic Affinity 1 -> 3:',-1.d0*(Omaux(3)+OmxcDD(3))*HaToeV,' eV'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
write(*,'(A44, F16.10,A3)') ' auxiliary energy contribution : ',Omaux(3)*HaToeV, ' eV'
|
write(*,'(A44, F16.10,A3)') ' auxiliary energy contribution : ',-1.d0*Omaux(3)*HaToeV, ' eV'
|
||||||
write(*,'(A44, F16.10,A3)') ' x ensemble derivative : ',OmxDD(3)*HaToeV, ' eV'
|
write(*,'(A44, F16.10,A3)') ' x ensemble derivative : ',-1.d0*OmxDD(3)*HaToeV, ' eV'
|
||||||
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(3)*HaToeV, ' eV'
|
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',-1.d0*OmcDD(3)*HaToeV, ' eV'
|
||||||
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(3)*HaToeV,' eV'
|
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',-1.d0*OmxcDD(3)*HaToeV,' eV'
|
||||||
|
write(*,*)
|
||||||
|
write(*,'(A43,F16.10,A4)') ' Fundamental Gap :',(Omaux(2)+OmxcDD(2)+(Omaux(3)+OmxcDD(3)))*HaToeV,' eV'
|
||||||
|
write(*,*)
|
||||||
|
write(*,'(A44, F16.10,A3)') ' auxiliary energy contribution : ',(Omaux(2)+Omaux(3))*HaToeV, ' eV'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' x ensemble derivative : ',(OmxDD(2)+OmxDD(3))*HaToeV, ' eV'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',(OmcDD(2)+OmcDD(3))*HaToeV, ' eV'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',(OmxcDD(2)+OmxcDD(3))*HaToeV,' eV'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
write(*,'(A60)') '-------------------------------------------------'
|
write(*,'(A60)') '-------------------------------------------------'
|
||||||
@ -194,15 +208,25 @@ subroutine print_unrestricted_individual_energy(nEns,ENuc,Ew,ET,EV,EJ,Ex,Ec,Exc,
|
|||||||
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(2), ' au'
|
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(2), ' au'
|
||||||
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(2),' au'
|
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(2),' au'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
write(*,'(A43,F16.10,A4)') ' Electronic Affinity 1 -> 3:',Om(3), ' au'
|
write(*,'(A43,F16.10,A4)') ' Electronic Affinity 1 -> 3:',-1.d0*Om(3), ' au'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
write(*,'(A44, F16.10,A3)') ' x energy contribution : ',Omx(3), ' au'
|
write(*,'(A44, F16.10,A3)') ' x energy contribution : ',-1.d0*Omx(3), ' au'
|
||||||
write(*,'(A44, F16.10,A3)') ' c energy contribution : ',Omc(3), ' au'
|
write(*,'(A44, F16.10,A3)') ' c energy contribution : ',-1.d0*Omc(3), ' au'
|
||||||
write(*,'(A44, F16.10,A3)') ' xc energy contribution : ',Omxc(3), ' au'
|
write(*,'(A44, F16.10,A3)') ' xc energy contribution : ',-1.d0*Omxc(3), ' au'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
write(*,'(A44, F16.10,A3)') ' x ensemble derivative : ',OmxDD(3), ' au'
|
write(*,'(A44, F16.10,A3)') ' x ensemble derivative : ',-1.d0*OmxDD(3), ' au'
|
||||||
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(3), ' au'
|
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',-1.d0*OmcDD(3), ' au'
|
||||||
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(3),' au'
|
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',-1.d0*OmxcDD(3),' au'
|
||||||
|
write(*,*)
|
||||||
|
write(*,'(A43,F16.10,A4)') ' Fundamental Gap :',Om(2)+Om(3), ' au'
|
||||||
|
write(*,*)
|
||||||
|
write(*,'(A44, F16.10,A3)') ' x energy contribution : ',Omx(2)+Omx(3), ' au'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' c energy contribution : ',Omc(2)+Omc(3), ' au'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' xc energy contribution : ',Omxc(2)+Omxc(3), ' au'
|
||||||
|
write(*,*)
|
||||||
|
write(*,'(A44, F16.10,A3)') ' x ensemble derivative : ',OmxDD(2)+OmxDD(3), ' au'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(2)+OmcDD(3), ' au'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(2)+OmxcDD(3),' au'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
write(*,'(A60)') '-------------------------------------------------'
|
write(*,'(A60)') '-------------------------------------------------'
|
||||||
@ -217,16 +241,27 @@ subroutine print_unrestricted_individual_energy(nEns,ENuc,Ew,ET,EV,EJ,Ex,Ec,Exc,
|
|||||||
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(2)*HaToeV, ' eV'
|
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(2)*HaToeV, ' eV'
|
||||||
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(2)*HaToeV,' eV'
|
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(2)*HaToeV,' eV'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
write(*,'(A43,F16.10,A4)') ' Electronic Affinity 1 -> 3:',Om(3)*HaToeV, ' eV'
|
write(*,'(A43,F16.10,A4)') ' Electronic Affinity 1 -> 3:',-1.d0*Om(3)*HaToeV, ' eV'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
write(*,'(A44, F16.10,A3)') ' x energy contribution : ',Omx(3)*HaToeV, ' eV'
|
write(*,'(A44, F16.10,A3)') ' x energy contribution : ',-1.d0*Omx(3)*HaToeV, ' eV'
|
||||||
write(*,'(A44, F16.10,A3)') ' c energy contribution : ',Omc(3)*HaToeV, ' eV'
|
write(*,'(A44, F16.10,A3)') ' c energy contribution : ',-1.d0*Omc(3)*HaToeV, ' eV'
|
||||||
write(*,'(A44, F16.10,A3)') ' xc energy contribution : ',Omxc(3)*HaToeV, ' eV'
|
write(*,'(A44, F16.10,A3)') ' xc energy contribution : ',-1.d0*Omxc(3)*HaToeV, ' eV'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
write(*,'(A44, F16.10,A3)') ' x ensemble derivative : ',OmxDD(3)*HaToeV, ' eV'
|
write(*,'(A44, F16.10,A3)') ' x ensemble derivative : ',-1.d0*OmxDD(3)*HaToeV, ' eV'
|
||||||
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',OmcDD(3)*HaToeV, ' eV'
|
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',-1.d0*OmcDD(3)*HaToeV, ' eV'
|
||||||
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',OmxcDD(3)*HaToeV,' eV'
|
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',-1.d0*OmxcDD(3)*HaToeV,' eV'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
write(*,'(A43,F16.10,A4)') ' Fundamental Gap :',(Om(2)+Om(3))*HaToeV, ' eV'
|
||||||
|
write(*,*)
|
||||||
|
write(*,'(A44, F16.10,A3)') ' x energy contribution : ',(Omx(2)+Omx(3))*HaToeV, ' eV'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' c energy contribution : ',(Omc(2)+Omc(3))*HaToeV, ' eV'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' xc energy contribution : ',(Omxc(2)+Omxc(3))*HaToeV, ' eV'
|
||||||
|
write(*,*)
|
||||||
|
write(*,'(A44, F16.10,A3)') ' x ensemble derivative : ',(OmxDD(2)+OmxDD(3))*HaToeV, ' eV'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' c ensemble derivative : ',(OmcDD(2)+OmcDD(3))*HaToeV, ' eV'
|
||||||
|
write(*,'(A44, F16.10,A3)') ' xc ensemble derivative : ',(OmxcDD(2)+OmxcDD(3))*HaToeV,' eV'
|
||||||
|
write(*,*)
|
||||||
|
|
||||||
|
|
||||||
write(*,'(A60)') '-------------------------------------------------'
|
write(*,'(A60)') '-------------------------------------------------'
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user