[Pw_forum] Increasing the FFT grid spacing/ using wavefunction to provide initial charge density

Lorenzo Paulatto lorenzo.paulatto at impmc.upmc.fr
Thu Sep 29 16:36:09 CEST 2016


You can set starting_pot="file" in input to restart from an existing charge
density file.

Potential or charge density, it does not matter as the former can be
derived form the latter with minimal effort and the other way round. In
fact, when you set starting_pot="file" it is the charge density, not the
potential which is read from file!


The problem is that the code expects to read a file of a certain size,
while the file it finds is smaller. This is not a huge problem in
principle, as all the missing bit correspond to higher energy plane waves,
and you should just put them to zero.

However, this kind of mechanism is not currently implemented in the code,
not there is any project to implement it in a near future (as far as I
know). Also, the input/output system is a bit complicated.


If you want to have a try at implementing this rouself you have to start
from./Modules/xml_io_base.f90, subroutine read_rho_xml (line 668 in the
current development version), in the subroutine you'll find a line
         IF ( nr1 /= nr(1) .OR. nr2 /= nr(2) .OR. nr3 /= nr(3) ) &
            CALL errore( 'read_rho_xml', 'dimensions do not match', 1 )

You should change the code in order to have it read even in the case where
the dimensions do not match, as long as nr(1)>nr1, ..., but read in a
temporary buffer, take it to G space (with the old FFT grid, this is the
hard part), pad it with zeros to the new grid size and take back to real
space with the fine grid.

Not impossible, but does require some effort and some testing.

Or you could write an external tool that interpolates the charge density,
honestly I do not know what is more sensible.

hth


On 29 September 2016 at 12:48, Muhich Christopher <cmuhich at ethz.ch> wrote:

> Hi everyone,
>
>
>
> I want to run a calculation at a low fft grid spacing and then use the
> resulting wavefunction to start a second calculation at a higher fft
> spacing. Is there any way to do this?
>
>
>
> I’ve tried reading in the old charge density but this obviously doesn’t
> work because the fft grids don’t match.
>
>
>
> I’ve tried reading in the old wavefunction as the starting wavefucntion,
> but this just collapse because atomic charge density is used as a starting
> point.
>
>
>
> Thanks
>
> Chris
>
>
>
> Christopher Muhich, PhD
>
> ETH Zurich
>
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://pwscf.org/mailman/listinfo/pw_forum
>



-- 
Dr. Lorenzo Paulatto
IdR @ IMPMC -- CNRS & Université Paris 6
phone: +33 (0)1 44275 084 / skype: paulatz
www:   http://www-int.impmc.upmc.fr/~paulatto/
mail:  23-24/4é16 Boîte courrier 115, 4 place Jussieu 75252 Paris Cédex 05
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20160929/ddc6c129/attachment.html>


More information about the users mailing list