<div dir="auto"><div>Maybe a toy example will help.</div><div dir="auto"><br></div><div dir="auto">Suppose you have a set of balls (atoms) each connected to a flat floor by a spring, and not connected to each other. To simplify they only move vertically. Your code gives you the gradient at any position, which is effectively what the mixer does. You get the gradient at the current position, move them all a little then get the gradient again. From the change in gradient you get all the second derivatives. From the first and second derivative you can find the minimum energy/equilibrium position.</div><div dir="auto"><br></div><div dir="auto">This takes three steps, <i>independent of how many balls there are</i>. There is only one eigenvalue/eigenvector.</div><div dir="auto"><br></div><div dir="auto">Now add more springs in pairs, i.e. atom 1&2, 3&4, 5&6 etc. This now gives you many 2x2 matrices for the second derivatives, so you need 4 steps, again independent of the number of balls.</div><div dir="auto"><br></div><div dir="auto">Extrapolate. The number of steps scales with the complexity of the connecting springs and their response to movement, i.e. phonon modes.</div><div><br></div><div data-smartmail="gmail_signature">___<br>Emeritus Professor Laurence Marks (Laurie)<br>Department of Materials Science and Engineering, Northwestern University<br><a href="http://www.numis.northwestern.edu">www.numis.northwestern.edu</a><br>"Research is to see what everybody else has seen, and to think what nobody else has thought" Albert Szent-Györgyi</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, May 7, 2025, 04:10 Laurence Marks <<a href="mailto:laurence.marks@gmail.com">laurence.marks@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>Addendum: why fixing atoms does not do what you might think.</div><div dir="auto"><br></div><div dir="auto">Some people think that if they fix some atoms then the calculations will converge faster. This is incorrect, and is based upon a misunderstanding of minimization.</div><div dir="auto"><br></div><div dir="auto">In general the speed of minimization does not depend upon the number of variable atom positions. For just atoms it depends upon the phonon spectrum, and in MSR1a it depends upon the joint atom-electron dielectric spectrum, specifically the number of eigenvalue bands and their widths. (Rigorously it depends upon the number and width of the eigenvalues of the true Jacobian, and also of the current approximation of the Jacobian.) Insulators converge faster because their spectra are simpler. </div><div dir="auto"><br></div><div dir="auto">When you fix some atoms it does not follow that you simplify the spectra, in fact you may be creating anomalous dielectric bands. You are also now doing a constrained optimization, and these are almost always slower and less well conditioned.</div><div dir="auto"><br></div><div dir="auto">Plus fixing one surface may create a dipole, electronic defect states in the gap and other non-physical mess.</div><div><br></div><div data-smartmail="gmail_signature">___<br>Emeritus Professor Laurence Marks (Laurie)<br>Department of Materials Science and Engineering, Northwestern University<br><a href="http://www.numis.northwestern.edu" target="_blank" rel="noreferrer">www.numis.northwestern.edu</a><br>"Research is to see what everybody else has seen, and to think what nobody else has thought" Albert Szent-Györgyi</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 7, 2025, 03:49 Laurence Marks <<a href="mailto:laurence.marks@gmail.com" target="_blank" rel="noreferrer">laurence.marks@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>Depending upon which version is used the center of mass fixing may be inactive when atoms are fixed, which is why I asked about that. Plus the other questions, as some of the procedure used does not seem right.</div><div><br></div><div data-smartmail="gmail_signature">___<br>Emeritus Professor Laurence Marks (Laurie)<br>Department of Materials Science and Engineering, Northwestern University<br><a href="http://www.numis.northwestern.edu" rel="noreferrer noreferrer" target="_blank">www.numis.northwestern.edu</a><br>"Research is to see what everybody else has seen, and to think what nobody else has thought" Albert Szent-Györgyi</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 7, 2025, 03:36 Peter Blaha <<a href="mailto:peter.blaha@tuwien.ac.at" rel="noreferrer noreferrer" target="_blank">peter.blaha@tuwien.ac.at</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">mixer tries to keep the center of mass constant (to avoid that all atoms <br>
move in some direction, although their distances are in equilibrium).<br>
<br>
At the moment, you cannot switch this off, although it would make sense <br>
if an atom is constrained in a certain direction (Laurie: I know, you <br>
don't like these constraint positions, but it might be a valuable <br>
modification to use the center of mass in a certain direction only if no <br>
positions are constrained).<br>
<br>
In general I would NOT recommend to fix only one side of the slab, at <br>
least not if you have mirror symmetry along z. You have then a <br>
calculation with a relaxed and an unrelaxed surface !<br>
<br>
What makes sense, is to fix the middle layers of a slab....<br>
<br>
Am 07.05.2025 um 10:21 schrieb Hadjer MEZIANI via Wien:<br>
> Dear wien2k users,<br>
> I am performing geometry minimization (MSR1a) of the TiO₂ surface to <br>
> relax the top layer while keeping the bottom layers fixed, using <br>
> WIEN2k_24.1. I followed these steps:<br>
> 1-Generate struct<br>
> 2- init-lapw<br>
> 3-mini.positions(w2web) and i edit case.inM after that i run pairhase; <br>
> copy .minpair to .minrestart and delete .min_hess.<br>
> 4- run scf with activate optimize positions(MSR1a) with -fc 20.<br>
> I constrained the atoms in the bottom layers by setting `delta=0`, but <br>
> these atoms are still displaced during the minimization.<br>
> <br>
> .inM file in the following way:<br>
> PORT 2.00 0.35 2.00 # PORT/NEWT; tolf, Initial Trust Radius, tolfa<br>
> 0.0 0.0 0.0 1.0 #Atom 1 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 2 Generated by pairhess<br>
> 1.0 1.0 1.0 1.0 #Atom 3 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 4 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 5 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 6 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 7 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 8 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 9 Generated by pairhess<br>
> 1.0 1.0 1.0 1.0 #Atom 10 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 11 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 12 Generated by pairhess<br>
> 1.0 1.0 1.0 1.0 #Atom 13 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 14 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 15 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 16 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 17 Generated by pairhess<br>
> 1.0 1.0 1.0 1.0 #Atom 18 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 19 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 20 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 21 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 22 Generated by pairhess<br>
> 1.0 1.0 1.0 1.0 #Atom 23 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 24 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 25 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 26 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 27 Generated by pairhess<br>
> 1.0 1.0 1.0 1.0 #Atom 28 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 29 Generated by pairhess<br>
> 0.0 0.0 0.0 1.0 #Atom 30 Generated by pairhess<br>
> For example, atom 1 has changed position even though it was fixed in <br>
> `.inM`. See output:<br>
> --- atom dependend parameter POS -----------<br>
> in 1 files:<br>
> :POS001: ATOM -1 X,Y,Z = 0.50000 0.00000 0.04398 MULT= 1 ZZ= 22.000 Ti<br>
> :POS001: ATOM -1 X,Y,Z = 0.50000 1.00000 0.04397 MULT= 1 ZZ= 22.000 Ti<br>
> :POS001: ATOM -1 X,Y,Z = 0.50000 1.00000 0.04396 MULT= 1 ZZ= 22.000 Ti<br>
> :POS001: ATOM -1 X,Y,Z = 0.50000 1.00000 0.04389 MULT= 1 ZZ= 22.000 Ti<br>
> :POS001: ATOM -1 X,Y,Z = 0.50000 0.00000 0.04382 MULT= 1 ZZ= 22.000 Ti<br>
> :POS001: ATOM -1 X,Y,Z = 0.50000-0.00000 0.04337 MULT= 1 ZZ= 22.000 Ti<br>
> ......<br>
> My question is: how can i keep positions of these atoms unchanged during <br>
> structure minimzation!<br>
> Any suggesting are highly welcome<br>
> Thank you in advence<br>
> M. Hadjer<br>
> <br>
> <br>
> <br>
> <br>
> _______________________________________________<br>
> Wien mailing list<br>
> <a href="mailto:Wien@zeus.theochem.tuwien.ac.at" rel="noreferrer noreferrer noreferrer" target="_blank">Wien@zeus.theochem.tuwien.ac.at</a><br>
> <a href="http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien</a><br>
> SEARCH the MAILING-LIST at: <a href="http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html</a><br>
<br>
-- <br>
-----------------------------------------------------------------------<br>
Peter Blaha, Inst. f. Materials Chemistry, TU Vienna, A-1060 Vienna<br>
Phone: +43-158801165300<br>
Email: <a href="mailto:peter.blaha@tuwien.ac.at" rel="noreferrer noreferrer noreferrer" target="_blank">peter.blaha@tuwien.ac.at</a><br>
WWW: <a href="http://www.imc.tuwien.ac.at" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">http://www.imc.tuwien.ac.at</a> WIEN2k: <a href="http://www.wien2k.at" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">http://www.wien2k.at</a><br>
-------------------------------------------------------------------------<br>
<br>
_______________________________________________<br>
Wien mailing list<br>
<a href="mailto:Wien@zeus.theochem.tuwien.ac.at" rel="noreferrer noreferrer noreferrer" target="_blank">Wien@zeus.theochem.tuwien.ac.at</a><br>
<a href="http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien</a><br>
SEARCH the MAILING-LIST at: <a href="http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html</a><br>
</blockquote></div>
</blockquote></div>
</blockquote></div>