Multiwfn official website: http://sobereva.com/multiwfn. Multiwfn forum in Chinese: http://bbs.keinsci.com/wfn
You are not logged in.
Pages: 1
Thank you, professor Lu. I appreciate your offer for help. I'm grateful that your code already creates the checkpoint file for each step of the calculation, making this process much easier. I would like your insight on my logic as I try to understand how to use the energy from the stable wavefunction to extract the information necessary for EDA. Most importantly, the "final" file.
I see at the bottom of the sobEDA.sh script that the only energy values that depend on the final energy are the total (dE_tot), dispersion (dE_disp), Pauli repulsion energy (dE_rep), and orbital energy (dE_orb). For reference, these are the lines of code I am looking at in the sobEDA.sh script.
##### Show summary of interaction #####
dE_tot=$E_tot_final
dE_els=$E_els_promol
dE_x=$E_x_promol
dE_c=$E_c_promol
dE_disp=$E_disp_final
for ((i=1;i<=$nfrag;i=i+1))
do
dE_tot=`echo "$dE_tot-(${E_tot[$i]})" | bc -l`
dE_els=`echo "$dE_els-(${E_els[$i]})" | bc -l`
dE_x=`echo "$dE_x-(${E_x[$i]})" | bc -l`
dE_c=`echo "$dE_c-(${E_c[$i]})" | bc -l`
dE_disp=`echo "$dE_disp-(${E_disp[$i]})" | bc -l`
done
dE_orb=`echo "$E_tot_final-($E_tot_frz)" | bc -l`
dE_rep=`echo "$E_tot_frz-($E_tot_promol)" | bc -l`
The final total energy (E_tot_final) looks for the energy in the line that says "SCF Done" in final.out, dispersion energy (E_disp_final) looks for the energy in the line that says "Dispersion energy" in final.out, frozen energy (E_tot_frz) looks for the energy shown in the first cycle in final.out (which final.gjf reads from the promol.chk file), and E_tot_promol looks for the energy in the line that says "SCF Done" in promol.out.
After running a single point calculation (let's call this new single point calculation "final2") using the same route section as final.gjf, but reading the guess from the stable wavefunction, I receive an output that finishes after only 1 cycle (I guess because it is reading from an already optimized, stable wavefunction). With the knowledge of the way the parameters of EDA are calculated by the program, I compare between final and final2 the dispersion energy (it does not change, and therefore dE_disp would not change) and the final energy printed after "SCF Done" (it becomes more negative because of the stable wavefunction).
If I try to perform the EDA on final2.out, obviously I will get erroneous results because the frozen energy is the same as the final energy (it finishes in one cycle). So, my next thought is to modify the line in the original final.out that says "SCF Done" and replace it with the energy from that same line in final2.out. (i.e. change "SCF Done: E(UPBE1PBE) = XXX.XXX" to " SCF Done: E(UPBE1PBE) = YYY.YYY") That way the final energy represents the energy from the stable wavefunction. Although, this is assuming the frozen energy would remain the same.
Please let me know if my logic is correct and if it is reasonable to replace the energy value shown after "SCF Done" in final.out with the energy from final2.out.
I am using sobEDA on an actinide system and after it has completed, I run a stability check in Gaussian using the "final.chk" checkpoint file, which then shows that the calculation has an unstable wavefunction. What should I do in order to get the correct energy decomposition analysis with the stable wavefunction? Would I be able to run another second single point calculation using the stable wavefunction as a guess wavefunction and extract the EDA parameters from there?
Thank you! This solves my issue.
Thank you, professor Lu. I am curious if there is a way to write this in a bash script for Linux operating system. I would like to automate this process.
In the AdNDP analysis module, is it possible to take the composition of candidate orbitals and export them to a text file for further analysis of data?
For example, I start with an NBO.log file, go to the AdNDP module, and perform an exhaustive search for 1c and 2c orbitals. I pick out the first 3 candidate orbitals for the 2c orbitals and then evaluate them using option 15 "Evaluate and output composition of AdNDP orbitals". From there, the contribution from each atom and shell can be found. This is the information that I would like to save in a text file. I have a repetitive task where I obtain and pick out the atom contribution and shell contribution data manually and put it into a spreadsheet. I would like to make code to do this automatically, but I know of no way to output this data in a text file.
Ah, I see, I was using the noGUI version of Multiwfn. Thank you very much.
I am trying to automate the process of generating an image file for DOS plots by using batch scripting. Below are the two files I am using, DOS.sh and DOS.txt. When I run the script, the DOS_line.txt and DOS_curve.txt files are generated as expected, but the image file containing the graph is not. How should I modify the script to output the image file in the current working directory?
DOS.sh
////////////////////////////////////////////////
#!/bin/bash
for inf in *.fchk
do
Multiwfn ${inf} <DOS.txt> /dev/null
mv -f DOS_line.txt ${inf//fchk}_line.txt
mv -f DOS_curve.txt ${inf//fchk}_curve.txt
done
////////////////////////////////////////////////
DOS.txt
////////////////////////////////////////////////
10
8
0
3
2
0
-10
////////////////////////////////////////////////
Pages: 1