File Input

Myttex Forum ha chiuso definitivamente. Non è più possibile inviare messaggi, ma il contenuto è ancora consultabile in questo archivio.

Chemistry4888

2012-03-05 02:18

Salve bella gente :p

Oggi volevo trattare l'argomento del file Input, in cui sono inserite tutte le informazioni della molecola e i comandi che vogliamo far eseguire al nostro programma computazionale (Gaussian o altro che sia).

Un file di Input non è altro che un semplicissimo documento di testo (Creato con la funzione "Blocco note" del vostro PC) che non viene salvato come .txt ma bensì come .gjf. Il nostro file di Input è composto da numerose righe in cui vengono scritti i comandi e le informazioni necessarie al programma per svolgere il calcolo.

La prima riga del nostro file identifica la riga di comando, è possibile riconoscerla in quanto segnalata precedentemente da questo simbolo, #.

Dopo questo simbolo che codifica l'inizio del comando, deve essere immesso il metodo di calcolo utilizzato. Ci sono numerosi metodi di calcolo computazionale, ognuno di essi con "vantaggi e svantaggi" ma tratteremo questo argomento in seguito quando parleremo dei "Metodi Computazionali".

Vi inserisco ora un elenco dei metodi computazionali più utilizzati, giusto per avere un idea, naturalmente è solo un semplicissimo elenco in quanto ne esistono di molti altri:

HF, MP2, PBEPBE, PBE1PBE, BLYP, B3LPY o BP86

Ciascuno di loro, a seconda del metodo di calcolo utilizzato, apporta un'approssimazione più o meno "marcata" al sistema che determinerà l'accuratezza del risultato finale. Come già detto questo argomento sarà trattato in seguito.

Separata da uno slash (/) segue il codice relativo alla "Basis Set" utilizzata. Come per i metodi di calcolo, esistono numerose basis set ed ognuna di loro ha un grado di approssimazione più o meno "marcato" che influirà sull'accuratezza finale del risultato. Anche in questo caso vi inserisco un piccolo elenco delle basis set più comuni:

3-21G, 6-31G, 6-311G, 6-31G** o 6-311++G**

In questo caso, ogni basis set apporta un'approssimazione "matematica-geometrica", a differenza di quella rilevata nei metodi di calcolo di carattere "fisico-matematico". Approfondiremo questo concetto quanto tratteremo i "Metodi di calcolo" e le "Basis Set".

Ora che abbiamo selezionato la parte matematica dell'informazione, dobbiamo inserire l'operazione da effettuare. In questo caso è molto utile l'uso del manuale del programma in quanto, questa parte della riga di comando può cambiare a seconda di esso. In generale le operazioni più effettuate sono quelle di ottimizzazione, descritte dal comando OPT, del calcolo della frequenza, descritte con il comando FREQ o comandi più speciali quali OPT=moderedundant o QST2 per il calcolo dello stato di transizione.

L'ultima parte della riga di comando, consiste in informazioni tecniche che vogliamo imporre al programma. Ad esempio fanno parte di questa sezione, il numero di cicli del calcolo, la memoria massima utilizzata dal programma computazionale oppure l'utilizzo o meno di simmetrie per semplificare il calcolo.

Di seguito posto un piccolo esempio di riga di comando, in modo da facilitare la comprensione del testo precedente:

#pbe1pbe/6-31g** opt test scf=(maxcycle=250) nosymm

Al di sotto della riga di comando è necessaria una riga bianca, non sottovalutate questo particolare perchè nel linguaggio macchina anche la più minima imperfezione nella stesura del file Input rende la lettura da parte del programma impossibile. Stupide macchine azz!

Ora è arrivato il momento di scrivere il nome del lavoro che stiamo svolgendo, che naturalmente è puramento soggettivo. Un esempio potrebbe essere "Ottimizzazione Etano Sfalzato" o "Ottimizzazione Fenolo".

Dopo un ulteriore riga bianca, è necessario inserire due valori molto importanti che riguardano la molecola in esame. Stiamo parlando della carica totale della molecola e della sua molteplicità di spin. Affronteremo meglio questo discorso quando tratteremo la costruzione della matrice Z per una determinata struttura chimica.

Ora senza lasciare la riga bianca scriviamo subito sotto la matrice Z. La matrice Z corrisponde alla struttura spaziale della nostra molecola, scritta appunto sotto forma di matrice. Come già detto tratteremo questo discorso in seguito nel theard "Costruzione della Matrice Z".

Vi allego ora un esempio di file Input completo:

#pbe1pbe/6-31g** opt test scf=(maxcycle=250) nosymm

Ottimizzazione Fenolo

0 1

C1

O2 1 1.39

H3 2 0.95 1 110.

C4 1 1.39 2 120. 3 -100.

H5 4 1.08 1 120. 2 0.

C6 4 1.39 5 120. 2 180.

H7 6 1.08 4 120. 5 0.

C8 6 1.39 7 120. 5 180.

H9 8 1.08 6 120. 7 0.

C10 8 1.39 9 120. 7 180.

H11 10 1.08 8 120. 9 0.

C12 10 1.39 11 120. 9 180.

H13 12 1.08 10 120. 8 180.

In rosso possiamo notare la riga di comando, con il metodo, la basis set separata da uno slash, l'operazione da effettuare, il numero di massimo di cicli e l'opzione di non utilizzare elementi di simmetria. Seguita naturalmente da una riga bianca.

In oro troviamo il titolo del nostro lavoro. Seguito anche in questo caso da una riga bianca. In blu troviamo la carica totale della molecola e la sua moltiplicità di spin e senza lasciare la riga bianca, troviamo inserita la matrice Z che in questo caso corrisponde alla molecola del fenolo.

Sicuramente adesso avrete un pò di confusione nella testa nel vedere questo file di Input, in quanto non abbiamo ancora trattato i "Metodi Computazionali", le "Basis Set" e la "Costruzione della matrice Z" ma niente paura vedrete che vi sarà tutto più chiaro dopo averli argomentati.

Intanto qualcuno potrebbe azzardare a capire il meccanismo della costruzione della matrice Z (non è così difficile) ma senza chiedermi conferma o meno, in quanto per non fare confusione, sarà inserita nel theard apposito :p

Un pò di pazienza su via asd

Stay Computational ;-)

I seguenti utenti ringraziano Chemistry4888 per questo messaggio: myttex, nicopicci

al-ham-bic

2012-03-05 08:01

Direi che fin qui (grazie alla chiarezza del divulgatore... *clap clap* ) è tutto chiaro. Vediamo se è vero che è chiaro: -quelle righe (definite con le prossime lezioni, scritte con l'esatta sintassi e alla fine in .gif) vengono date in pasto a Gaussian, il quale le digerisce e rigurgita un altro file (in .out) che a sua volta viene dato in pasto a ChemCraft che ci farà vedere qualcosa... All OK? (Spero di sì! Rolleyes )

Chemistry4888

2012-03-05 15:04

Bravo Al,

Vedo che stai entrando nell'ottica del programma ;-) Mi fa molto piacere :-D

Ti ringrazio dei complimenti ma come al solito sei troppo buono :p

hai spiegato tutto alla perfezione, Gaussian elabora il file input (.gjf) da noi inserito, espellendo un file output (.out) che verrà a sua volta elaborato dal programma grafico scelto (nel nostro caso ChemCraft) permettendoci di osservare graficamente il risultato del calcolo computazionale.

Come già detto in precedenza, questo tipo di file input è ampiamente il più utilizzato ma non è assoluto. In quanto posono essere presenti piccole modifiche a seconda del programma computazionale scelto ma con l'aiuto del manuale il problema è facilmente risolvibile.

Stay Computational ;-)

TheChef

2013-09-03 20:25

Inoltre esistono dei programmi ( a pagameno o free) chiamati compilatori che permettono di generare il file imput a partire da uno schizzo molecolare. Personalmente ho lavorato con GaussView (a pagamento)(http://www.gaussian.com/g_prod/gv5.htm) appositamente studiato per Gaussian(TM) e Gabedit (free) (http://gabedit.sourceforge.net/) il quale permette di strutturare calcoli (= scrivere imput) per la maggior parte dei programmi di calcolo.