No2i

From Wiki
Jump to navigation Jump to search

go back to Scripts for NWChem


#! /usr/bin/awk -f
#################################################
#                                               #
# no2i: extracts geometries from each step in   #
# NWChem output, and pastes in output format.   #
#                                               #
# SMAD 31/1/2008                                #
#################################################

BEGIN {
  i = 1;e = 1;
}

/Geometry "geometry" -> "geometry"/ {natoms=0;++steps}

/^@/ {
  if  ( $2 ~ /[0-9]+/ ) {
    E[e++]=$3
  }
}

/Geometry "geometry" -> "geometry"/,/Atomic Mass/ {
  if ( $1 ~ /[0-9]+/ ) {
    ++natoms;
    S[i] = $2;
    X[i] = $4;
    Y[i] = $5;
    Z[i++] = $6
  }
}

END {
  i=1;k=1; j=natoms;
  do {
    if (j==natoms) {z++;printf("%i\n%22.8f\n",natoms,E[i++]);j=0};
    printf("%s %12.8f %12.8f %12.8f",S[k],X[k],Y[k],Z[k]);
    printf("\n");
    ++k;++j}
  while (k <= steps*natoms)
;
}