Domanda:
Pro e contro delle rappresentazioni cartesiane rispetto a matrice Z delle molecole?
Richard Terrett
2012-05-01 13:39:31 UTC
view on stackexchange narkive permalink

Nel corso dei miei studi, sono passato in gran parte dall'utilizzo di rappresentazioni in matrice Z di geometrie molecolari nei calcoli alle rappresentazioni cartesiane.

Il software che utilizzo ora rende facile aggiungere i tipi di vincoli / vincoli / transiti per i quali avrei precedentemente utilizzato matrici Z, e so che le geometrie della matrice Z possono essere problematiche in molecole di grandi dimensioni * dove cambiamenti minimi in un angolo di legame o diedro (a causa, per esempio, a errori di arrotondamento / gradienti di bassa qualità) può provocare grandi movimenti negli atomi periferici.

Quali vantaggi o svantaggi esistono per entrambe le definizioni di geometria che non conosco? Quali circostanze consigliano una rappresentazione rispetto a un'altra?

* O piccole molecole con stupide matrici Z.

Due risposte:
#1
+23
LordStryker
2012-05-01 20:59:12 UTC
view on stackexchange narkive permalink

Spazio cartesiano

Nello spazio cartesiano, tre variabili (XYZ) vengono utilizzate per descrivere la posizione di un punto nello spazio, tipicamente un nucleo atomico o una funzione di base. Per descrivere le posizioni di due nuclei atomici, è necessario annotare e tenere traccia di un totale di 6 variabili. La regola generale è che per lo spazio cartesiano, è necessario tenere conto delle variabili 3N (dove N è il numero di punti nello spazio che si desidera indicizzare).

Coordinate interne

Le matrici Z utilizzano un approccio diverso. Quando si tratta di matrici Z, teniamo traccia delle posizioni relative dei punti nello spazio. Lo spazio cartesiano è "assoluto" per così dire. Un punto situato in (0,0,1) è una posizione assoluta per uno spazio di coordinate che si estende all'infinito. Tuttavia, considera un sistema a due atomi. La traduzione della molecola attraverso lo spazio (assumendo un vuoto) non avrà alcun effetto sulle proprietà della molecola. Una molecola H2 centrata attorno all'origine (0,0,0) non è diversa dalla stessa molecola H2 centrata attorno (1,1,1). Tuttavia, supponiamo di aumentare la distanza tra gli atomi di idrogeno. Ora abbiamo alterato la molecola in modo tale che le proprietà di quella molecola siano cambiate. Cosa abbiamo cambiato? Abbiamo semplicemente cambiato la lunghezza del legame, una variabile. Abbiamo aumentato la distanza tra i due atomi di una certa lunghezza R. Con le matrici Z, teniamo sotto controllo le coordinate interne: lunghezza del legame (R), angolo di legame (A) e angolo torsionale / diedro (T / D). L'uso di coordinate interne riduce il nostro requisito 3N impostato dallo spazio cartesiano fino a un requisito 3N-6 (per molecole non lineari). Per le molecole lineari teniamo sotto controllo le coordinate 3N-5. Quando si eseguono calcoli complessi, meno è necessario tenere traccia, meno costoso è il calcolo.

Simmetria

Considera la seguente molecola, H2O. Sappiamo per esperienza che questa molecola ha una simmetria C2V. Le lunghezze dei legami OH dovrebbero essere equivalenti. Quando usi una sorta di routine di ottimizzazione, potresti voler specificare la simmetria nel tuo sistema. Con una matrice Z, il processo è molto semplice. Dovresti costruire la tua matrice Z per definire il legame OH (1) come equivalente al legame OH (2). Qualunque programma tu usi dovrebbe riconoscere automaticamente il vincolo e ottimizzerà la tua molecola di conseguenza dandoti una risposta basata su una struttura vincolata alla simmetria C2v. Con lo spazio cartesiano questo non è garantito. Gli errori di arrotondamento possono causare la rottura della simmetria del tuo programma, oppure il tuo programma potrebbe non essere molto bravo a indovinare il gruppo di punti della tua molecola sulla base delle sole coordinate cartesiane.

Scegliere quella giusta ​​strong >

Come prefazione, programmi come Gaussian convertono il tuo spazio di coordinate cartesiane (o la tua matrice Z predefinita) in coordinate interne ridondanti prima di procedere con una routine di ottimizzazione a meno che tu non lo specifichi per attenersi ai cartesiani o al tuo Matrice Z. Ti avverto che specificare il tuo programma per l'ottimizzazione utilizzando coordinate cartesiane rende il tuo calcolo molto più costoso. Trovo che specificherò esplicitamente "matrice Z" quando so di avere a che fare con simmetria elevata e quando so che la mia matrice Z è perfetta.

Ti consigliamo di utilizzare matrici Z sui sistemi che sono piuttosto piccoli. Se si tratta di sistemi ad alta simmetria, le matrici Z sono quasi essenziali. Possono essere piuttosto difficili da implementare e probabilmente impiegherai un po 'di tempo a capire la forma corretta della tua matrice Z attraverso tentativi ed errori. Se desideri scansionare una particolare coordinata, anche le matrici Z sono molto utili in quanto puoi dire a un programma di scansionare con facilità attraverso una lunghezza, un angolo o una torsione del legame (purché tu abbia definito correttamente quella coordinata nella tua matrice Z ).

Uso le coordinate cartesiane per sistemi di grandi dimensioni, sistemi con simmetria molto ridotta o nulla, o quando ho fretta.

Questa sembra essere una risposta abbastanza esauriente! Per quanto riguarda il tuo commento sulla riduzione dei gradi di libertà nella specifica della matrice Z con i cartesiani r / t, avrei pensato che il minor numero di variabili avrebbe comportato miglioramenti delle prestazioni virtualmente privi di significato per le molecole non banali.
Richard, il problema è che possono esserci molti scenari specifici in cui lo spazio cartesiano può effettivamente essere più efficiente rispetto all'utilizzo degli interni. Il mio post generalizza alcune regole pratiche, per così dire. L'efficienza all'interno di una certa applicazione non è così semplice come potresti pensare (vedi http://jcp.aip.org/resource/1/jcpsa6/v127/i23/p234105_s1 per un esempio). Ho solo pensato di dover chiarire questo punto.
#2
+15
Jiahao Chen
2012-05-12 11:06:20 UTC
view on stackexchange narkive permalink

I sistemi ad anello (come il benzene) sono l'esempio canonico di quando le matrici Z vanno storte. Una matrice Z non può contenere tutte le coordinate di legame dell'anello. Uno deve subire una descrizione intrinsecamente asimmetrica di un sistema altamente simmetrico, che è sia intellettualmente insoddisfacente e può portare a problemi di convergenza numerica pratici derivanti da simmetrie interrotte, o altrimenti definire uno o più atomi fittizi nella matrice Z, che è quindi non è più una descrizione minimamente ridondante del sistema.

La scelta del sistema di coordinate dipende davvero dal calcolo previsto. A proposito, ci sono più di due scelte di sistema di coordinate che possono essere utilizzate. Sebbene le coordinate interne siano spesso erroneamente considerate sinonimi di matrici Z, in realtà ci sono molti altri sistemi di coordinate interne che non sono matrici Z, come le coordinate di distanza a coppie oi vari sistemi di coordinate interne ridondanti.

Alcuni esempi specifici:

  • Le coordinate interne ridondanti sono i sistemi di coordinate conosciuti più efficienti per eseguire ottimizzazioni geometriche. In parole povere, la ridondanza è utile per evitare singolarità in sistemi non ridondanti come matrici Z e minimizzare le correlazioni (mancanza di indipendenza) tra coordinate che si verificano in sistemi di coordinate come coordinate cartesiane che si traducono in grandi termini trasversali fuori diagonale nella matrice Hessiana . Puoi trovare maggiori dettagli nella letteratura originale che viene citata nel manuale utente di qualsiasi pacchetto di chimica quantistica.
  • Se stai codificando gradienti analitici, questi tendono ad essere più semplici in coordinate cartesiane perché non lo fai. Non devi preoccuparti degli effetti curvilinei nella matrice dell'Assia. Le coordinate non cartesiane hanno termini aggiuntivi nelle espressioni gradiente derivanti da Jacobiani; questi possono essere abbastanza costosi da calcolare.

  • Le matrici Z stesse sono spesso utili quando si creano interpolazioni lungo una coordinata interna specifica come una modalità torsionale specifica, perché sono un sistema di coordinate interne che non è ridondante e quindi consentono di variare in modo indipendente varie coordinate interne.

Risposta molto utile! Sono particolarmente interessato alla tua menzione delle coordinate di distanza a coppie. È solo una matrice di distanza? Non sarebbe molto inefficiente data la sua massima ridondanza?
Sì. Non credo di aver detto nulla sul fatto che sia stato effettivamente ritenuto utile per una particolare applicazione ...
Le matrici delle distanze sono in realtà molto utili in determinate situazioni. È molto semplice convertire da coordinate cartesiane a una matrice di distanza e relativamente facile trasformarle in cartesiane. La matrice delle distanze ha anche la proprietà molto utile di essere invariante traslazionalmente e rotazionalmente.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...