mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-09-01 16:53:50 +02:00
86 lines
2.8 KiB
Bash
86 lines
2.8 KiB
Bash
![]() |
#!/bin/bash
|
||
|
|
||
|
source ~/qp2/quantum_package.rc
|
||
|
|
||
|
## Define the system/basis/charge/mult and genric keywords
|
||
|
system=H2O
|
||
|
xyz=${system}.xyz
|
||
|
basis=6-31g
|
||
|
mult=1
|
||
|
charge=0
|
||
|
j2e_type="Boys_Handy"
|
||
|
thresh_tcscf=1e-10
|
||
|
io_tc_integ="Write"
|
||
|
nstates=4
|
||
|
|
||
|
|
||
|
|
||
|
##################### Function to create the EZFIO
|
||
|
function create_ezfio (){
|
||
|
qp create_ezfio -b $basis -m $mult -c $charge $xyz -o $ezfio
|
||
|
qp run scf | tee ${EZFIO_FILE}.scf.out
|
||
|
}
|
||
|
|
||
|
##################### Function to set parameters for BH9 jastrow
|
||
|
function BH_9 (){
|
||
|
j2e_type="Boys_Handy" # type of correlation factor: Boys Handy type
|
||
|
env_type="None" # Boys Handy J does not use our envelopes
|
||
|
j1e_type="None" # Boys Handy J does not use our J1body
|
||
|
tc_integ_type="numeric" # Boys Handy requires numerical integrals
|
||
|
jBH_size=9 # Number of parameters for the BH
|
||
|
|
||
|
######## All parameters for the H2O and Boys Handy Jastrow
|
||
|
jBH_c=[[0.50000,-0.57070,0.49861,-0.78663,0.01990,0.13386,-0.60446,-1.67160,1.36590],[0.0,0.0,0.0,0.0,0.12063,-0.18527,0.12324,-0.11187,-0.06558],[0.0,0.0,0.0,0.0,0.12063,-0.18527,0.12324,-0.11187,-0.06558]]
|
||
|
jBH_m=[[0,0,0,0,2,3,4,2,2],[0,0,0,0,2,3,4,2,2],[0,0,0,0,2,3,4,2,2]]
|
||
|
jBH_n=[[0,0,0,0,0,0,0,2,0],[0,0,0,0,0,0,0,2,0],[0,0,0,0,0,0,0,2,0]]
|
||
|
jBH_o=[[1,2,3,4,0,0,0,0,2],[1,2,3,4,0,0,0,0,2],[1,2,3,4,0,0,0,0,2]]
|
||
|
jBH_ee=[1.0,1.0,1.0]
|
||
|
jBH_en=[1.0,1.0,1.0]
|
||
|
|
||
|
set_BH_J_keywords
|
||
|
}
|
||
|
|
||
|
|
||
|
function set_BH_J_keywords (){
|
||
|
qp set jastrow j2e_type $j2e_type # set the jastrow two-e type
|
||
|
qp set jastrow env_type $env_type
|
||
|
qp set jastrow j1e_type $j1e_type
|
||
|
qp set jastrow jBH_size $jBH_size # set the number of parameters in Boys-Handy jastrow
|
||
|
qp set jastrow jBH_c "$jBH_c" # set the parameters which are lists for Boys-Handy
|
||
|
qp set jastrow jBH_m "$jBH_m" #
|
||
|
qp set jastrow jBH_n "$jBH_n" #
|
||
|
qp set jastrow jBH_o "$jBH_o" #
|
||
|
qp set jastrow jBH_ee $jBH_ee #
|
||
|
qp set jastrow jBH_en $jBH_en #
|
||
|
qp set tc_keywords tc_integ_type $tc_integ_type # set the analytical or numerical integrals
|
||
|
qp set tc_keywords thresh_tcscf $thresh_tcscf
|
||
|
qp set tc_keywords io_tc_integ $io_tc_integ # set the io
|
||
|
rm ${EZFIO_FILE}/tc_bi_ortho/psi_*
|
||
|
}
|
||
|
|
||
|
function run_ground_state (){
|
||
|
qp set tc_keywords minimize_lr_angles True
|
||
|
qp run tc_scf | tee ${EZFIO_FILE}.tc_scf.out
|
||
|
qp set_frozen_core
|
||
|
qp set determinants n_det_max 1e6
|
||
|
qp run fci_tc_bi_ortho | tee ${EZFIO_FILE}.fci_tc_bi.out
|
||
|
}
|
||
|
|
||
|
function run_excited_state (){
|
||
|
qp set determinants n_states $nstates
|
||
|
qp run cis | tee ${EZFIO_FILE}.cis.out
|
||
|
rm ${EZFIO_FILE}/tc_bi_ortho/psi_*
|
||
|
qp run tc_bi_ortho | tee ${EZFIO_FILE}.tc_cis_nst_${nstates}.out
|
||
|
qp set determinants read_wf True
|
||
|
qp run fci_tc_bi_ortho | tee ${EZFIO_FILE}.fci_tc_bi_nst_${nstates}.out
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
## BH9 calculations
|
||
|
ezfio=${system}_${charge}_${basis}_${j2e_type}
|
||
|
create_ezfio
|
||
|
BH_9
|
||
|
run_ground_state
|
||
|
run_excited_state
|