File: getOV.awk

package info (click to toggle)
xcrysden 1.6.2-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,040 kB
  • sloc: ansic: 36,624; tcl: 33,824; fortran: 6,744; sh: 2,219; makefile: 759; f90: 429; awk: 382; pascal: 30
file content (28 lines) | stat: -rw-r--r-- 623 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
BEGIN {
  Bohr2Angs = 0.529177;
}

/0ENDPOINTS/ {
  getline; getline;
  o[0] = $1 * Bohr2Angs;
  o[1] = $2 * Bohr2Angs;
  o[2] = $3 * Bohr2Angs;
  
  getline;
  for(j=0; j<2; j++) {
    for(i=0; i<3; i++)
      v[j,i] = $(i+1) * Bohr2Angs - o[i];
    getline;
  }
}

END {
#
# WARNING: WIEN is writing grid as (den(i,j),j=1,ny),i=1,nx, BUT
#          XCrySDen is reading it as (den(i,j),i=1,nx),j=1,ny
#  FIXING: interchange vec-X with vec-Y and interchange nx with ny
# 
  printf "%f %f %f\n", o[0], o[1], o[2];
  printf "%f %f %f\n", v[1,0], v[1,1], v[1,2];       
  printf "%f %f %f\n", v[0,0], v[0,1], v[0,2];       
}