Script: http://paulbourke.net/dataformats/cube/
Í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 : : : : : : : : : : : : : : : : : :