[QE-users] Fwd: [Pw_forum] how to collect dvscf files?

Noé Mascello mnoe at student.ethz.ch
Thu Nov 8 19:41:14 CET 2018


This was meant as a reply to this thread: 
https://www.mail-archive.com/users@lists.quantum-espresso.org/msg33771.html
Sorry about that.
_<https://www.mail-archive.com/search?l=users@lists.quantum-espresso.org&q=from:%22Lorenzo+Paulatto%22>_ 

____________________________________________________________________________________________________

Am 08.11.2018 um 18:29 schrieb Noé Mascello:
> Hello
>
> I had the same problem i.e. combining the dvscf files of calculations 
> that were split into calculations of irreducible representations. 
> Since there was no conclusion, I just wanted to say that the solution 
> as suggested by Lorenzo Paulatto works. I have attached a small script 
> below that can be used as inspiration if confroted with the same 
> problem. It should work for any general case. I have checked the 
> integrity of the combined dvscf files by running EPW calculations with 
> them and comparing the results to a case where the phonon calculations 
> have not been split into calculations of irreducible representations. 
> This yielded the same results. The dvscf files are however different 
> to the dvscf files obtained when the calculation is not split into 
> calculation of irreducible q-points or not split at all. I don't quite 
> understand that and one should probably check it oneself.
>
> Cheers,
>
> Noé Mascello
>
> ETH Zurich
>
>
> _____________________________________________________________________________________ 
>
> #!/bin/bash
> #You need to run the script in the directory where the '_ph0' 
> directory of the collected phonon calculations is located.
> #Furthermore the directories of the separate phonon calculations are 
> named 'q${q}_r${r}' where ${q} is the number of the irreducible 
> q-point and ${r} is the number of a corresponding representation.
>
> pf="prefix"
>
> #get the number of irreducible q-points and representations
> irr_qs=$(grep q-points ph_start.out | tail -n1 | grep -o [0-9]*)
> for ((i=0; i < irr_qs; i++))
> do
>     q=$((i+1))
>     irreps_el=$(grep -A1 "<NUMBER_IRR_REP" 
> _ph0/${pf}.phsave/patterns.${q}.xml | tail -n1)
>     irreps[$i]=$irreps_el
> done
>
> #combine the dvscf1 files bytewise for every q-point
> for ((q=1; q <= irr_qs; q++))
> do
> i=$((q-1))
> size_new=0
> size_old=0
> touch dvscf1_old
>
> for ((r=1; r <= irreps[i]; r++))
> do
> if ((q==1))
> then
> size_new=$(ls -l q1_r${r}/_ph0/${pf}.dvscf1 | awk '{print $5}')
> _count=$((size_new - size_old))
> _skip=$((size_new - _count))
> size_old=$size_new
> dd if=q1_r${r}/_ph0/${pf}.dvscf1 of=dvscf1_temp skip=$_skip 
> count=$_count iflag=skip_bytes,count_bytes
> cat dvscf1_old dvscf1_temp > dvscf1_new
> mv dvscf1_new dvscf1_old
>
> else
> size_new=$(ls -l q${q}_r${r}/_ph0/${pf}.q_${q}/${pf}.dvscf1 | awk 
> '{print $5}')
> _count=$((size_new - size_old))
> _skip=$((size_new - _count))
> size_old=$size_new
> dd if=q${q}_r${r}/_ph0/{pf}.q_${q}/${pf}.dvscf1 of=dvscf1_temp 
> skip=$_skip count=$_count iflag=skip_bytes,count_bytes
> cat dvscf1_old dvscf1_temp > dvscf1_new
> mv dvscf1_new dvscf1_old
> fi
> done
>
> #move the combined dvscf files to the right location
> if ((q==1))
> then
> mv dvscf1_old _ph0/${pf}.dvscf1
> else
> if [ ! -d _ph0/{pf}.q_${q} ]
> then
> mkdir _ph0/${pf}.q_${q}
> fi
> mv dvscf1_old _ph0/${pf}.q_${q}/{pf}.dvscf1
> fi
> done
>
> _______________________________________________
> users mailing list
> users at lists.quantum-espresso.org
> https://lists.quantum-espresso.org/mailman/listinfo/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20181108/36df9dfc/attachment.html>


More information about the users mailing list