Constraining spins to an atom

Dear Psi4-Community,
I would like to do a simulation with an initial spin population contrained to a certain site in my molecule. This would mean that I want a majority spin (up) on a site as an initial guess. Is there a way to do this in Psi4?

In the documentation I only found that the default behaviour is SAD which does a spin-averaged sum of atomic UHF computations.

Thank you in advance!

What’s your scientific background? Your post reads like you’re a physicist interested in spin systems rather than molecules, and I expect that the language gap is why I’m having trouble understanding your question. Does “site” represent an atom? When you say majority spin, majority of what?

Hey jmisiewicz,
yes I am and your assumptions are correct.
Suppose I have an open shell singlet and want to set one atom as a spin down, while another as spin up, or I have a doublet molecule where I want to influence where the spin up is located. Is that possible?

Not within Psi. @susilehtola knows the most about SCF initial guesses and may have heard of such a thing before. I have not.

Alright. The way I understood for example SAD to work is that is assumes all spins equally distributed over my system (molecule). I wanted to initially separate them for example on two ends of a graphene nano ribbon

In principle this can be done with SAD. However, like many other codes, Psi4 lacks the flexibility to specify atomic charges and spin states at the moment. Hopefully a future version with a more flexible atomic solver (I am hoping to finish one next year) will solve this issue.

psi4 has no capabilities to automatically flip the spin on an atom or automatically provide a broken-symmetry solution.

Possibly there is a manual way doing the spin-flipping yourself. First converge the high-spin UHF solution and then flip/swap the spin-density on the desired atom in some sensible fashion and try to converge the new state. Not overly familiar with the details on how other programs or the literature does it.

ORCA has some advanced features for it to handle multi-transition metal systems

Thanks for the idea! How would one manually change the spin density? I usually just have the .out and .cube files.

Alright, thanks a lot for the heads-up :smiley:

I am afraid it would be a whole project on it’s own to implement it and not 2-3 lines of code. (Molecular) Alpha/beta densities are available on the wfn object, which you can modify at the python level and feed back into an SCF.
Exact details are to be figured out or searched in the literature.

Ah so you mean the Da and Db densities that I can then flip the sign in certain regions for example?

psi4 has no capabilities to automatically flip the spin on an atom or automatically provide a broken-symmetry solution.

Thanks for the idea! How would one manually change the spin density?.