[Q-e-developers] Saving complex data for restarts

Ilya Ryabinkin igryabinkin at gmail.com
Wed Sep 21 18:14:47 CEST 2016


Dear Paolo:
I meant "How to restart from incomplete calculations". Here is the
scheme: my piece of code takes the converged KS orbitals to perform
some manipulations with them. Also it uses oldwfc from a previous run
(I've managed to save it by analogy with the 'interpolate_wfc()'
routine), but also I use several intermediate arrays that hold some
old data from a previous md step, like tau_old, for example. I need
them to resume calculations if they were interrupted, again, just like
tau_old (or velocities) are needed to restart verlet().

I saw from the code that tau_old and similar quantities were currently
stored in $prefix.md and I though it could be a good idea to replicate
this structure. However, my intermediates are inherently complex (they
are complex coefficients of a time-dependent electronic WF along with
the corresponding Hamiltonian). AFAIK, Fortran has some issues with
writing/reading complex data (tell me if I'm wrong!).

--
Ilya

On Wed, Sep 21, 2016 at 11:56 AM, Paolo Giannozzi <p.giannozzi at gmail.com> wrote:
> You mean: "restarting from an incomplete calculation", or "saving data at
> the end of a completed calculation?" In the first case: it depends a lot
> upon what you need to save and how and when it is computed. The current
> logic of restart in pw.x is described in sect. 6.2, "Restart", of the
> developer guide. Unfortunately loops on nuclear positions still follow a
> slightly different logic, but they also write a file holding restart
> information (a different one per algorithm!). You may consider adding your
> data to one (or more than one) of the mentioned files. Use formatted
> read/write with free format unless you have a large amount of data to write.
>
> Paolo
>
> On Wed, Sep 21, 2016 at 1:11 PM, Ilya Ryabinkin <igryabinkin at gmail.com>
> wrote:
>>
>> Colleagues:
>> I'd like to save a few complex matrices, or to be precise, two complex
>> vectors and a square complex matrix (of the same dimension) in an
>> auxiliary file in order to implement restarting capabilities in my
>> piece of code. The dimension is tiny (2-3, rarely less than 10).
>>
>> What is the "QE"-way for that? I know about diropn/davcio and
>> seqopn/READ. I don't want to mess up with formatting though---the
>> simplest solution is preferable.
>>
>>
>> Thanks in advance,
>> I.
>>
>> --
>> *******************************************************
>>                     Ilya Ryabinkin
>>                  Postdoctoral Scholar
>>           Physical and Environmental Sciences
>>            University of Toronto Scarborough
>>   http://www.utsc.utoronto.ca/~aizmaylov/Members.html
>> *******************************************************
>> _______________________________________________
>> Q-e-developers mailing list
>> Q-e-developers at qe-forge.org
>> http://qe-forge.org/mailman/listinfo/q-e-developers
>
>
>
>
> --
> Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
> Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
> Phone +39-0432-558216, fax +39-0432-558222
>
>
> _______________________________________________
> Q-e-developers mailing list
> Q-e-developers at qe-forge.org
> http://qe-forge.org/mailman/listinfo/q-e-developers
>



-- 
*******************************************************
                    Ilya Ryabinkin
                 Postdoctoral Scholar
          Physical and Environmental Sciences
           University of Toronto Scarborough
  http://www.utsc.utoronto.ca/~aizmaylov/Members.html
*******************************************************



More information about the developers mailing list