Gauss Cube Files

June 3, 2016

Írta Paul Bourke
December 2003

Bevezetés

A kocka fájl leírja térfogati adatokat, valamint atom pozíciókat, származzon a Gauss szoftvercsomag. A fájl tartalmaz egy fejléc, amely magában foglalja az atom információt, és a méretét, valamint tájolását térfogati adatokat. Ezt követi a térfogati adatokhoz, egy skaláris per voxel elem. Minden szempontból a fájl szöveges (ember által olvasható), amely eredetileg a számszerű értékek 5 széles az egész kezdődött minden fejléc sort (az első) és lebegőpontos értékeket formázott 12,6, azaz 12 karakter széles, 6 tizedesjegy pontossággal.

Fejléc

Az első két sor a fejléc megjegyzések, ezeket általában figyelmen kívül hagyja elemzési csomagokat, vagy használt két alapértelmezett címkéket.

A harmadik sort az atomok száma a fájl tartalmazza majd a helyzete az eredete a térfogati adatokat.

A következő három vonalai a számát voxelek mindegyik tengely mentén (x, y, z), majd a tengelyt vektor. Megjegyzés ez azt jelenti, a kötet nem kell hangolni a koordináta tengely, sőt azt is jelenti, hogy lehet felvágni, bár a legtöbb térfogati csomagok nem támogatja ezt. A hossza az egyes vektor a hossza az oldalán a voxel így lehetővé téve a nem köbös kötetek. Ha a jel számának voxel egy dimenzió pozitív, akkor az egységek Bohr, ha negatív, akkor angström.

Az utolsó rész a fejlécben az egyik sor minden egyes atom álló 5 szám, az első az az atom szám, a második (?), Az utolsó három az x, y, z koordinátáit atom központ.

Térfogati adatok

A térfogati adatok egyszerű, egy lebegőpontos szám az egyes térfogati elem. Az eredeti Gauss formátumban elrendezett értékek ebben a formában látható az alábbi Például a legtöbb elemzés programok olvasni fehér szóközzel elválasztott formátumban. Hagyományosan a rács van elrendezve, az x tengely, mint a külső hurok és a z-tengely, mint a belső hurok, például a írták

for (ix=0;ix<NX;ix++) {
      for (iy=0;iy<NY;iy++) {
         for (iz=0;iz<NZ;iz++) {
            printf("%g ",data[ix][iy][iz]);
            if (iz % 6 == 5)
               printf("\n");
         }
         printf("\n");
      }
   }

Példa
A következő példában a volumetrikus adatok egy 40 40 40 rács, minden egyes voxel jelentése 0,283459 egység széles, és a térfogatot egy vonalba kerül a koordináta tengellyel. Vannak három atom.

 CPMD CUBE FILE.
 OUTER LOOP: X, MIDDLE LOOP: Y, INNER LOOP: Z
    3    0.000000    0.000000    0.000000
   40    0.283459    0.000000    0.000000
   40    0.000000    0.283459    0.000000
   40    0.000000    0.000000    0.283459
    8    0.000000    5.570575    5.669178    5.593517
    1    0.000000    5.562867    5.669178    7.428055
    1    0.000000    7.340606    5.669178    5.111259
 -0.25568E-04  0.59213E-05  0.81068E-05  0.10868E-04  0.11313E-04  0.35999E-05
      :             :             :           :            :            :
      :             :             :           :            :            :
      :             :             :           :            :            :
        In this case there will be 40 x 40 x 40 floating point values
      :             :             :           :            :            :
      :             :             :           :            :            :
      :             :             :           :            :            :