Vraag:
Voors en tegens van Cartesiaanse versus Z-matrix representaties van moleculen?
Richard Terrett
2012-05-01 13:39:31 UTC
view on stackexchange narkive permalink

In de loop van mijn studie ben ik grotendeels overgestapt van het gebruik van Z-matrix-representaties van moleculaire geometrieën in berekeningen naar Cartesiaanse representaties.

De software die ik nu gebruik, maakt het gemakkelijk om de soorten beperkingen / beperkingen / transits waarvoor ik eerder Z-matrices zou hebben gebruikt, en ik weet dat Z-matrixgeometrieën problematisch kunnen zijn in grote moleculen * waar minieme veranderingen in een bindingshoek of tweevlakshoek (vanwege, bijvoorbeeld afrondingsfouten / gradiënten van lage kwaliteit) kan resulteren in grote bewegingen in perifere atomen.

Welke voor- of nadelen bestaan ​​er voor beide geometriedefinities die ik niet ken? Welke omstandigheden bevelen de ene weergave boven de andere aan?

* Of kleine moleculen met dwaze Z-matrices.

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

Cartesische ruimte

In de cartesiaanse ruimte worden drie variabelen (XYZ) gebruikt om de positie van een punt in de ruimte te beschrijven, meestal een atoomkern of een basisfunctie. Om de locaties van twee atoomkernen te beschrijven, moeten in totaal 6 variabelen worden opgeschreven en bijgehouden. De algemene regel is dat voor Cartesiaanse ruimte rekening moet worden gehouden met 3N-variabelen (waarbij N het aantal punten in de ruimte is dat u wilt indexeren).

Interne coördinaten

Z-matrices gebruiken een andere benadering. Bij Z-matrices houden we de relatieve posities van punten in de ruimte bij. Cartesiaanse ruimte is om zo te zeggen 'absoluut'. Een punt op (0,0,1) is een absolute locatie voor een coördinatenruimte die zich uitstrekt tot in het oneindige. Overweeg echter een systeem met twee atomen. De translatie van het molecuul door de ruimte (uitgaande van een vacuüm) heeft geen invloed op de eigenschappen van het molecuul. Een H2-molecuul gecentreerd rond de oorsprong (0,0,0) verschilt niet van hetzelfde H2-molecuul dat gecentreerd is rond (1,1,1). Stel dat we de afstand tussen de waterstofatomen vergroten. We hebben het molecuul nu zo veranderd dat de eigenschappen van dat molecuul zijn veranderd. Wat hebben we veranderd? We hebben gewoon de bindingslengte veranderd, één variabele. We hebben de afstand tussen de twee atomen met enige lengte R vergroot. Met Z-matrices houden we de interne coördinaten in de gaten: bindingslengte (R), bindingshoek (A) en torsie- / tweevlakshoek (T / D). Door interne coördinaten te gebruiken, wordt onze 3N-vereiste die door de Cartesiaanse ruimte wordt gesteld, verlaagd tot een 3N-6-vereiste (voor niet-lineaire moleculen). Voor lineaire moleculen houden we de 3N-5-coördinaten in de gaten. Bij het uitvoeren van complexe berekeningen, hoe minder u bij hoeft te houden, hoe goedkoper de berekening.

Symmetrie

Beschouw het volgende molecuul, H2O. Uit ervaring weten we dat dit molecuul C2V-symmetrie heeft. De lengtes van de OH-bindingen moeten equivalent zijn. Als je een soort optimalisatieroutine gebruikt, wil je misschien symmetrie in je systeem specificeren. Met een Z-matrix is ​​het proces heel eenvoudig. Je zou je Z-matrix construeren om de OH (1) -binding te definiëren als equivalent aan de OH (2) -binding. Welk programma u ook gebruikt, het zou automatisch de beperking moeten herkennen en uw molecuul dienovereenkomstig optimaliseren, waardoor u een antwoord krijgt dat is gebaseerd op een structuur die beperkt is tot C2v-symmetrie. Met cartesiaanse ruimte is dit niet gegarandeerd. Afrondingsfouten kunnen ervoor zorgen dat uw programma de symmetrie breekt, of dat uw programma niet erg goed is in het raden van de puntgroep van uw molecuul alleen op basis van de Cartesiaanse coördinaten.

De juiste kiezen sterk >

Om te beginnen converteren programma's zoals Gaussian uw Cartesiaanse coördinatenruimte (of uw voorgedefinieerde Z-matrix) in overtollige interne coördinaten voordat ze verder gaan met een optimalisatieroutine, tenzij u specificeert dat het bij Cartesiaans of uw Z-matrix. Ik waarschuw u dat het specificeren van uw programma om te optimaliseren met behulp van Cartesiaanse coördinaten uw berekening veel duurder maakt. Ik merk dat ik 'Z-matrix' expliciet zal specificeren als ik weet dat ik te maken heb met hoge symmetrie en als ik weet dat mijn Z-matrix perfect is.

Je zult Z-matrices op systemen willen gebruiken die vrij klein zijn. Als het gaat om systemen met hoge symmetrie, zijn Z-matrices bijna essentieel. Ze kunnen nogal lastig zijn om te implementeren en u zult waarschijnlijk wat tijd besteden aan het uitzoeken van de juiste vorm van uw Z-matrix door middel van vallen en opstaan. Als je een bepaalde coördinaat wilt scannen, zijn Z-matrices ook erg handig, omdat je een programma kunt vertellen om gemakkelijk over een bindingslengte, hoek of torsie te scannen (zolang je die coördinaat maar goed hebt gedefinieerd in je Z-matrix ).

Ik gebruik Cartesiaanse coördinaten voor grote systemen, systemen met zeer weinig of geen symmetrie, of als ik haast heb.

Dit lijkt een behoorlijk uitgebreid antwoord te zijn! Wat betreft uw opmerking over de vermindering van vrijheidsgraden in de Z-matrixspecificatie w / r / t Cartesianen, zou ik hebben gedacht dat het kleinere aantal variabelen zou resulteren in vrijwel zinloze prestatieverbeteringen voor niet-triviale moleculen.
Richard, het probleem is dat er heel veel specifieke scenario's kunnen zijn waarin de cartesiaanse ruimte daadwerkelijk efficiënter kan zijn dan het gebruik van interne onderdelen. Mijn post genereert om zo te zeggen enkele vuistregels. Efficiëntie binnen een bepaalde applicatie is niet zo eenvoudig als u misschien denkt (zie http://jcp.aip.org/resource/1/jcpsa6/v127/i23/p234105_s1 voor een voorbeeld). Ik dacht dat ik dit punt moest verduidelijken.
#2
+15
Jiahao Chen
2012-05-12 11:06:20 UTC
view on stackexchange narkive permalink

Ringsystemen (zoals benzeen) zijn het canonieke voorbeeld van wanneer Z-matrices misgaan. Een Z-matrix kan niet alle bindingscoördinaten van de ring bevatten. Men moet ofwel een intrinsiek asymmetrische beschrijving ondergaan van een zeer symmetrisch systeem, dat zowel intellectueel onbevredigend is als kan leiden tot praktische numerieke convergentieproblemen die voortkomen uit gebroken symmetrieën, of op een andere manier een of meer dummy-atomen in de Z-matrix definiëren, wat dan niet langer een minimaal redundante beschrijving van het systeem.

De keuze van het coördinatensysteem hangt echt af van de beoogde berekening. Er zijn overigens meer dan twee keuzes van coördinatensysteem die kunnen worden gebruikt. Hoewel interne coördinaten vaak ten onrechte als synoniem worden beschouwd met Z-matrices, zijn er in feite veel andere interne coördinatensystemen die geen Z-matrices zijn, zoals paarsgewijze afstandscoördinaten of de verschillende overtollige interne coördinatensystemen.

Sommige specifieke voorbeelden:

  • Redundante interne coördinaten zijn de meest efficiënte bekende coördinatensystemen voor het uitvoeren van geometrie-optimalisaties. Globaal gesproken is de redundantie nuttig om singulariteiten in niet-redundante systemen zoals Z-matrices te vermijden en de correlaties (gebrek aan onafhankelijkheid) tussen coördinaten die voorkomen in coördinatensystemen zoals Cartesiaanse coördinaten die resulteren in grote niet-diagonale kruistermen in de Hessische matrix, te minimaliseren. . U kunt meer details vinden in de originele literatuur die wordt aangehaald in de gebruikershandleiding van elk kwantumchemiepakket.
  • Als u analytische gradiënten codeert, zijn deze meestal het eenvoudigst in Cartesiaanse coördinaten omdat u dat niet doet. Ik hoef me geen zorgen te maken over kromlijnige effecten in de Hessische matrix. Niet-Cartesiaanse coördinaten hebben extra termen in gradiëntuitdrukkingen die voortkomen uit Jacobianen; deze kunnen vrij duur zijn om te berekenen.

  • Z-matrices zelf zijn vaak handig bij het creëren van interpolaties langs een specifieke interne coördinaat, zoals een specifieke torsiemodus, omdat ze een intern coördinatensysteem zijn dat niet redundant is en daardoor verschillende interne coördinaten onafhankelijk kunnen variëren. / p>

Zeer nuttig antwoord! Ik ben vooral geïnteresseerd in uw vermelding van paarsgewijze afstandscoördinaten. Is dit slechts een afstandsmatrix? Zou het niet erg inefficiënt zijn gezien zijn maximale redundantie?
Ja. Ik denk niet dat ik iets heb gezegd over de vraag of het echt nuttig was voor een bepaalde toepassing ...
Afstandsmatrices zijn eigenlijk best handig in bepaalde situaties. Het is heel eenvoudig om Cartesiaanse coördinaten om te zetten in een afstandsmatrix, en relatief eenvoudig om weer terug te zetten in Cartesiaanse coördinaten. De afstandsmatrix heeft ook de zeer nuttige eigenschap dat hij translationeel en rotatie-invariant is.


Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...