Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Query Regarding Conversion of Gaussian Log File to Molden Format for LVC Model Parameterization #147

Open
lukhman9020 opened this issue Sep 3, 2024 · 13 comments

Comments

@lukhman9020
Copy link

Dear Sir,

I hope this email finds you well. I have successfully completed an optimization and frequency calculation at the DFT level using Gaussian. However, I have a doubt regarding the next steps. Specifically, I would like to know if it is possible to convert the Gaussian log file into Molden format in order to produce the V0.text file needed to parametrize the LVC model.

Please help me.
Best regards,
LUKHMANUL HAKEEM K

@maisebastian
Copy link
Collaborator

This is actually described in the tutorial. You can open the Gaussian output with molden/gmolden and save in Molden format. This can then be read with wigner.py -l

Best,
Sebastian

@lukhman9020
Copy link
Author

This is actually described in the tutorial. You can open the Gaussian output with molden/gmolden and save in Molden format. This can then be read with wigner.py -l

Best, Sebastian

Dear Sir,
Thank you for your reply.

Best regards,
LUKHMANUL HAKEEM K

@lukhman9020
Copy link
Author

This is actually described in the tutorial. You can open the Gaussian output with molden/gmolden and save in Molden format. This can then be read with wigner.py -l
Best, Sebastian

Dear Sir, Thank you for your reply.

Best regards, LUKHMANUL HAKEEM K

Dear Sir,
I hope this email finds you well. I am currently facing an issue while trying to generate a V0text file from a Molden file. The Molden file was generated by converting a Gaussian output file into Molden format using the Molden software. However, when I run the $SHARC/wigner.py -l script, I encounter the following error message:
"
Starting normal mode format determination...
The normal mode analysis was unable to diagonalize the normal modes.
Input is therefore neither in cartesian, gaussian-type, Columbus-type, or mass weighted coordinates.

"
I have tried several solutions but have been unable to resolve the issue and successfully generate the V0text file.

Could you please help me to solve this issue?
Please help me.

Best regards,
LUKHMANUL HAKEEM K

@maisebastian
Copy link
Collaborator

In order to do something about this potential problem, I would need the Molden file (and maybe the Gaussian log).

@lukhman9020
Copy link
Author

In order to do something about this potential problem, I would need the Molden file (and maybe the Gaussian log).

Dear Sir,
Thank you so much for your reply. I would like to confirm if it is appropriate for me to share this information via email. Kindly let me know.

Best regards,
LUKHMANUL HAKEEM K

@maisebastian
Copy link
Collaborator

Sure, please go ahead via email.

@lukhman9020
Copy link
Author

Sure, please go ahead via email.

Dear Sir,
I hope this email finds you well. I wanted to inform you that the problem I was facing has now been resolved. I realized that the issue arose because I was performing the optimization first and then doing the frequency calculation separately. Afterward, I used the output of the frequency calculation for my subsequent steps. However, yesterday, I tried running both the optimization and frequency calculation together and used this output for the proceeding calculation, and I did not encounter any errors.

Thank you for your guidance and support.

Best regards,
LUKHMANUL HAKEEM K

@lukhman9020
Copy link
Author

Sure, please go ahead via email.

Dear Sir, I hope this email finds you well. I wanted to inform you that the problem I was facing has now been resolved. I realized that the issue arose because I was performing the optimization first and then doing the frequency calculation separately. Afterward, I used the output of the frequency calculation for my subsequent steps. However, yesterday, I tried running both the optimization and frequency calculation together and used this output for the proceeding calculation, and I did not encounter any errors.

Thank you for your guidance and support.

Best regards, LUKHMANUL HAKEEM K

Dear Sir,
I am currently facing the same issue with generating initial conditions for the PDI (perylene diimide) derivatives in SHARC. The process works smoothly for the parent PDI system, but when I attempt to generate the V0text file for the derivatives, I encounter the following error:
"
Initial condition generation started...
INPUT file = "molden"
OUTPUT file = "initconds"
Number of geometries = 3
Random number generator seed = 16661
Temperature = 0.000000


WARNING: Less than 3*N_atom normal modes, but no [N_FREQ] keyword!


Starting normal mode format determination...
The normal mode analysis was unable to diagonalize the normal modes.
Input is therefore neither in cartesian, gaussian-type, Columbus-type, or mass weighted coordinates.
"
For both the parent PDI and its derivatives, I used the same Gaussian input for optimization and frequency calculations. I can successfully generate the V0text file for PDI, but not for its derivatives, even after trying multiple times. I'm unable to identify the root cause of this issue. can I share this information via email?

Could you please help me to solve this issue?
Please help me.

Best regards,
LUKHMANUL HAKEEM K

@maisebastian
Copy link
Collaborator

Yes, please go ahead in sharing via email. I would prefer to get the Molden file, but also the Gaussian output if it is not too big

@maisebastian
Copy link
Collaborator

Dear lukhman9020,
thanks for the files. I strongly suspect that the problem is due to the low precision of the normal mode vectors that Gaussian prints. If you check the log file, under "Harmonic frequencies (cm**-1), IR intensities (KM/Mole), Raman scattering" you can find the normal mode vectors listed, with only two digits after the decimal. I guess for the larger PDI, there are too many elements of the vectors that are not accurate enough, so that they are not properly orthogonal, which confuses wigner.py.

I saw that Gaussian has the option freq=hpmodes, which prints the vectors with four digits after the decimal. This seems to work, but instead of replacing the existing printout, the keyword adds another printout. Therefore, Molden does not pick up the higher-precision vectors, so ultimately the keyword does not help.

However, I have quickly written a new script that can read the output from Gaussian with the freq=hpmodes option. You can find it in the main branch, in the bin/ folder under the name GAUSSIAN_freq.py (https://github.com/sharc-md/sharc/blob/main/bin/GAUSSIAN_freq.py). Be aware that it can ONLY read Gaussian log files that have the freq=hpmodes option. You use it like the ORCA_freq.py, so basically python $SHARC/GAUSSIAN_freq.py <filename>.log will produce <filename>.log.molden.

So I recommend to run the frequency calculation again with freq=hpmodes, then use GAUSSIAN_freq.py (rather than Molden) to make a molden file, then use wigner.py -l as usual. Please let me know if it works.

Best,
Sebastian

@lukhman9020
Copy link
Author

Dear lukhman9020, thanks for the files. I strongly suspect that the problem is due to the low precision of the normal mode vectors that Gaussian prints. If you check the log file, under "Harmonic frequencies (cm**-1), IR intensities (KM/Mole), Raman scattering" you can find the normal mode vectors listed, with only two digits after the decimal. I guess for the larger PDI, there are too many elements of the vectors that are not accurate enough, so that they are not properly orthogonal, which confuses wigner.py.

I saw that Gaussian has the option freq=hpmodes, which prints the vectors with four digits after the decimal. This seems to work, but instead of replacing the existing printout, the keyword adds another printout. Therefore, Molden does not pick up the higher-precision vectors, so ultimately the keyword does not help.

However, I have quickly written a new script that can read the output from Gaussian with the freq=hpmodes option. You can find it in the main branch, in the bin/ folder under the name GAUSSIAN_freq.py (https://github.com/sharc-md/sharc/blob/main/bin/GAUSSIAN_freq.py). Be aware that it can ONLY read Gaussian log files that have the freq=hpmodes option. You use it like the ORCA_freq.py, so basically python $SHARC/GAUSSIAN_freq.py <filename>.log will produce <filename>.log.molden.

So I recommend to run the frequency calculation again with freq=hpmodes, then use GAUSSIAN_freq.py (rather than Molden) to make a molden file, then use wigner.py -l as usual. Please let me know if it works.

Best, Sebastian

Dear Sir,
Thank you for your reply, and sorry for the late response. I thought your reply would come through email, which is why I didn’t check this GitHub forum. I will let you know if this works or not.

Best regards,
LUKHMANUL HAKEEM K

@lukhman9020
Copy link
Author

$SHARC/GAUSSIAN_freq.py

Dear Sir,
Thank you for your support, I want to inform you that code made by you is working and I can successfully generate the V0text file.

Best regards,
LUKHMANUL HAKEEM K

@maisebastian
Copy link
Collaborator

Excellent! 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants