Friday

Gaussiana File del Cubo

Scritto da Paul Bourke
Dicembre 2003

Articolo originale: http://paulbourke.net/dataformats/cube/


Introduzione

Il file del cubo descrive i dati volumetrici e le posizioni degli atomi, originati dal pacchetto software gaussiano. Il file è costituito da un'intestazione che include le informazioni sull'atomo e le dimensioni, nonché l'orientamento dei dati volumetrici. Questo è seguito dai dati volumetrici, uno scalare per elemento voxel. Tutti gli aspetti del file sono di testo (leggibili dall'uomo), in origine i valori numerici erano 5 per interi che iniziarono ogni riga di intestazione (dopo il primo) e i valori a virgola mobile erano formattati 12,6, cioè 12 caratteri di larghezza con 6 posizioni decimali.

Intestazione

Le prime due righe dell'intestazione sono commenti, generalmente vengono ignorate dall'analisi dei pacchetti o utilizzate come due etichette predefinite.

La terza riga ha il numero di atomi inclusi nel file seguito dalla posizione dell'origine dei dati volumetrici.

Le tre righe successive indicano il numero di voxel lungo ciascun asse (x, y, z) seguito dal vettore dell'asse. Nota questo significa che il volume non deve essere allineato con l'asse delle coordinate, anzi significa anche che potrebbe essere tranciato sebbene la maggior parte dei pacchetti volumetrici non lo supportino. La lunghezza di ciascun vettore è la lunghezza del lato del voxel che consente quindi volumi non cubici. Se il segno del numero di voxel in una dimensione è positivo, le unità sono Bohr, se negative, quindi Angstrom.

L'ultima sezione nell'intestazione è una riga per ogni atomo costituito da 5 numeri, il primo è il numero dell'atomo, il secondo (?), Gli ultimi tre sono le coordinate x, y, z del centro dell'atomo.

Dati volumetrici

I dati volumetrici sono semplici, un numero in virgola mobile per ogni elemento volumetrico. Il formato Gaussiano originale ha disposto i valori nel formato mostrato di seguito nell'esempio, la maggior parte dei programmi di analisi può leggere qualsiasi formato separato da spazi bianchi. Tradizionalmente la griglia è disposta con l'asse x come anello esterno e l'asse z come anello interno, ad esempio, scritto come

   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");
      }
   }

Esempio

Nel seguente esempio i dati volumetrici sono 40 per 40 per 40 griglie, ogni voxel è largo 0,283459 e il volume è allineato con l'asse delle coordinate. Ci sono tre atomi.

 CPMD CUBE FILE.
 LOOP ESTERNO: X, LOOP MEDIO: Y, LOOP INTERNO: 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 questo caso ci saranno 40 x 40 x 40 valori in virgola mobile
      :             :             :           :            :            :
      :             :             :           :            :            :
      :             :             :           :            :            :






No comments:

Post a Comment