Dear pw.x users,<br><br>In a DFT+U calculation, one can use the &#39;mixing_fixed_ns&#39; parameter to force the system to converge using the initial ns configuration. For example, for a given atom, one can have this:<br><br>
<i>mixing_fixed_ns =100</i> (any large number fits).<br><br>Initial setup:<br><br clear="all"><i>atom  2  spin  2<br>eigenvalues:  0.2000000 0.2000000 0.2000000 0.2000000 0.2000000<br></i><br>(at interaction 31, the calculation converges, and the system prints:)<br>
<br><i>atom  2  spin  2<br>eigenvalues:  0.2000000 0.2000000 0.2000000 0.2000000 0.2000000</i><br><br>Ok, so the ns eigenvalues remained fixed during the entire calculation, as it should be.<br><br>Now I&#39;d like to have this same behavior with an user given set of eigenvalues. For example, I can set:<br>
<br> <i>               starting_ns_eigenvalue(1,2,1) = 0.0<br>                starting_ns_eigenvalue(2,2,1) = 0.0476060<br>                starting_ns_eigenvalue(3,2,1) = 0.0476060<br>                starting_ns_eigenvalue(4,2,1) = 0.9654373<br>
                starting_ns_eigenvalue(5,2,1) = 0.9954307</i><br><br>Now the same atom would yield this output:<br><br>Calculation starts:<br><br> <i>         atom  2  spin  2<br>          eigenvalues:  0.2000000 0.2000000 0.2000000 0.2000000 0.2000000<br>
</i> <br>iteration #  1 (modifies the default setup with scf):<br><br> <i>         atom  2  spin  2<br>          eigenvalues:  0.0000004 0.0000074 0.0287535 0.2107956 0.2107956</i><br><br>Modify starting ns matrices according to input values <br>
 enter write_ns  (now the system will change the eigenvalues according to the starting_ns_eigenvalue)<br><br><i>          atom  2  spin  2<br>          eigenvalues: -0.0000000 0.0476060 0.0476060 0.9654373 0.9954307 </i> (This is the state I&#39;d like to have fixed!)<br>
<br>Calculation continues. At every interaction:<br><br>  <i>        RESET ns to initial values (iter &lt;= mixing_fixed_ns)</i><br><br>So that, on the end, I get this set of eigenvalues:<br><br>  <i>        atom  2  spin  2<br>
          eigenvalues:  0.2000000 0.2000000 0.2000000 0.2000000 0.2000000</i><br><br>So the &#39;mixing_fixed_ns&#39; appears to be fixing the eigenvalues not at the initial state one gives the program using &#39;starting_ns_eigenvalue&#39;; instead, it&#39;s fixing it to the initial default configuration.<br>
<br>Is it possible to configure pw.x to keep fixed an user set of eigenvalues, instead of the initial setup? In this example, I&#39;d like the set of eigenvalues 0.0000000 0.0476060 0.0476060 0.9654373 0.9954307 to be fixed during the entire calculation.<br>
<br>Should it be useful, I&#39;m attaching an example input file and it&#39;s complete output, showing what I described above.<br><br>What I really need here is to be able to force the the system to converge to a given state, even if this state is not the one with minimum energy. That&#39;s why I&#39;m trying to impose specific eigenvalues. Perhaps there&#39;s a better way of doing this?<br>
<br>Thank you very much!<br><br>-- <br>Giovani<br>