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

Constrained DFT #58

Open
3 of 6 tasks
joshkamm opened this issue Apr 19, 2024 · 0 comments · May be fixed by #61
Open
3 of 6 tasks

Constrained DFT #58

joshkamm opened this issue Apr 19, 2024 · 0 comments · May be fixed by #61
Assignees

Comments

@joshkamm
Copy link
Member

joshkamm commented Apr 19, 2024

Currently, the MECP search in pyGSM uses spin multiplicity and adiabatic index to name the folders where it runs electronic structure calculations. When running constrained DFT (CDFT), this is a problem because both states can have the same spin multiplicity and adiabatic index but are still distinct because of the DFT constraints. It should work to add an optional label to the states such that they can still be differentiated.

  • generate a small CDFT test example

4/19/24: I tried modifying PenaltyPES so that it allows the individual PESs to keep their original level of theory objects. This allows us to specify different IDs for the different states so that they each get their own scratch folder. I'm unsure however whether this will have unintended side effects.

When doing MECP search with CDFT, does it make sense to have one state constrained and the other unconstrained or do they both need to be constrained in order for the optimization to work / for the desired chemical meaning?

4/26/24: we merged the issue above which adds an automated test and then tried a smaller set system that should help to validate that the penalty PES is working. When we finished that slurm job was running.

5/3/24: we tried running an MECP optimization on two PES surfaces that are both CDFT states to avoid the potential problem that the "ground" state can become like the SET state when the geometry lowers the energy of the SET state to being close to the ground state energy. We also cleaned up the MECP_opt.py script removing variables and imports that weren't being used anymore.

5/10/24: we tried to change the parameters of the penalty PES to enforce tighter convergence to a state crossing. We also updated MECP_Opt.py in how it specifies frozen atoms to work with the current version of pyGSM.

5/22/24: we looked at new results with both states using constrained DFT. It seems like this gives better convergence to a crossing (closer difference energy).

  • investigate whether the MECP search is trying to optimize to a conical intersection topology (see do_coupling, get_coupling) -> MECI does so we used an unconstrained optimization on a penalty PES as the MECP optimizer
  • add optional label to potential energy surface states
  • clean up MECP_Opt.py script
  • have example output from MECP_Opt.py script in repo
@joshkamm joshkamm self-assigned this Apr 19, 2024
joshkamm added a commit that referenced this issue Apr 19, 2024
also uncommented a couple of utility functions in nifty.py
@joshkamm joshkamm linked a pull request Apr 26, 2024 that will close this issue
3 tasks
joshkamm added a commit that referenced this issue Apr 27, 2024
joshkamm added a commit that referenced this issue May 3, 2024
joshkamm added a commit that referenced this issue May 3, 2024
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

Successfully merging a pull request may close this issue.

1 participant