Domanda:
Quali sono i tempi di esecuzione tipici per i calcoli CASSCF?
Argon
2016-06-23 20:58:06 UTC
view on stackexchange narkive permalink

Sto eseguendo calcoli energetici a punto singolo di FeS utilizzando ORCA. Inizialmente ho utilizzato DFT con una varietà di funzionali e tutti questi calcoli hanno richiesto meno di un minuto. Ora sto tentando di eseguire i calcoli CASSCF utilizzando 8 orbitali attivi, 12 elettroni attivi e il set base aug-cc-pVTZ. Funziona da 3 giorni. È tipico o dovrei tentare di modificare le tolleranze e altre impostazioni? Quanto tempo ci si aspetterebbe che qualcosa del genere durasse? Inoltre, come posso (in generale) valutare quanto un dato calcolo è vicino alla conclusione?

Considereresti la rimozione della funzione diffusa, che potrebbe far risparmiare tempo. Inoltre, il casscf di molpro è in genere più veloce di orca. Sebbene dmrg possa essere più veloce, ho sentito che diventa utile solo per oltre ~ (12,12)
Posso sicuramente provarlo! Sto replicando i dati da un documento, quindi sarà solo questione di vedere quanto si avvicinano. Rimuovere la funzione diffusa renderebbe il mio set di base cc-pVTZ invece di aug-cc-pVTZ, corretto? E questo è un bene sapere su Molpro, anche se da quando ho appena iniziato e sto iniziando con ORCA, cercherò di attenermi a quello per il momento.
Sì. Intendo cc-pVTZ ..
Hai controllato i valori parziali dei numeri di occupazione? Quasi l'occupazione piena o vuota può dare problemi di convergenza
No, non l'ho fatto. Dovrò esaminare come farlo perché non sono ancora sicuro di come, ma ci proverò. Grazie!
Sono stampati da qualche parte per ogni iterazione della macro. Ci deve essere un numero di orbitali nello spazio attivo. Puoi incollarlo in pastebin o simili se preferisci mostrarcelo.
Grazie. Darò un'occhiata. Nel frattempo, è possibile trovare un pastebin [qui] (http://pastebin.com/r6hAhLpe). Problema potenzialmente non correlato, ma ho anche inviato un lavoro identico tranne che il set di base era aug-cc-pVDZ (e ha aumentato il numero di processori), ma si è verificato un errore irreversibile relativo a una matrice o vettore incompatibile ("BLAS-ERROR" ). Sto esaminando anche questo ora. Penso che sia perché le iterazioni CI non sono convergenti.
Come mostrato nel link Pastebin sopra, sembra che il numero di occupazione sia corretto (credo).
@AndrewR. Non sono molto esperto. Penso che probabilmente puoi ridurre lo spazio attivo. I valori 1.99865 1.99964 1.99868 1.99868 sono molto vicini alla piena occupazione (Nocc = 2). Ho un interesse particolare per la tua domanda, poiché ho iniziato pochi giorni fa a conoscere da solo gli aspetti pratici del CASSCF. Non ho avuto problemi con le mie molecole ma il tuo caso può essere utile per conoscere. Puoi condividere il DOI del giornale? Possiamo provare a lavorare insieme per risolvere questo problema.
@user1420303. Proverò a ridurre lo spazio attivo e vedrò se riesco a ottenere una soluzione convergente con quello. Sarei felice di condividere il DOI. Può essere trovato qui [10.1016 / j.cplett.2007.01.073] (http://www.sciencedirect.com/science/article/pii/S0009261407001340).
IIRC il tuo spazio ha $ {24 \ choose 8} = 735471 $ determinanti Slater e stai risolvendo un problema di autovalori di matrice quadrata densa di quella dimensione.
Due risposte:
pentavalentcarbon
2016-07-05 05:40:07 UTC
view on stackexchange narkive permalink

Non c'è nulla di banale nei calcoli MCSCF perché è difficile prevedere a priori quanto tempo richiederà un calcolo. Esistono equazioni ben definite per calcolare quanti determinanti

$$ D (n, N, S) = \ binom {n} {N / 2 + S} \ binom {n} {N / 2-S} $$

o funzioni di stato della configurazione (CSF)

$$ D (n, N, S) = \ frac {2S + 1 } {n + 1} \ binom {n + 1} {N / 2-S} \ binom {n + 1} {N / 2 + S + 1} $$

sarà richiesto per il tuo problema; $ n $ è il numero di orbitali attivi, $ N $ è il numero di elettroni attivi e $ S $ lo spin totale. Il costo di calcolo scalerà con questo numero e può essere ulteriormente ridotto con l'uso della simmetria del gruppo puntuale. (In realtà, a seconda del sistema e della proprietà di interesse, i calcoli senza simmetria possono essere privi di significato, come per gli stati eccitati e le loro energie.)

Queste equazioni dovrebbero chiarire che il costo cresce molto rapidamente, considerando che per CASSCF, viene eseguito un CI completo all'interno dello spazio attivo scelto. Questo non è ciò che rende i calcoli MCSCF complicati nella pratica. Ecco un grafico dell'energia totale dopo le prime 30 iterazioni.

orca_casscf.txt energies

Questo perché i numeri di occupazione sono molto vicini a 0 / 1/2 e non cambiano con ogni iterazione. Si noti che i numeri di occupazione si sono invertiti e ripetuti ad ogni passaggio è Rot = 23,19 . L'orbitale 19 è all'interno dello spazio attivo, ma 23 è esterno. Questa è un'indicazione che gli orbitali nello spazio attivo non sono quelli corretti. Dal documento:

i 12 o 13 elettroni di valenza del neutro o dell'anione, rispettivamente, sono stati distribuiti tra 14 orbitali attivi di valenza: 3p di zolfo più 3d, 3d 'e 4 s orbitali di ferro. Con questo spazio attivo abbiamo scoperto che tutti gli orbitali correlati importanti sono inclusi nello spazio attivo.

MCSCF non è una scatola nera; è uno dei pochi metodi chimici quantistici rimasti che richiede l'intuizione chimica anche solo per iniziare. Questo è uno (12,14) spazio attivo; quello nei tuoi calcoli è (12,8). La procedura che utilizzo per eseguire i calcoli MCSCF è generalmente:

  1. Converge un calcolo a riferimento singolo. Questo potrebbe essere HF, DFT, MP2, ecc. La solita raccomandazione è di formare orbitali naturali MP2, quindi controllare i numeri delle occupazioni. Se l'occupazione devia di più di 0,02 da un valore intero, probabilmente dovrebbe essere nello spazio attivo. Questo è in aggiunta alla considerazione degli elettroni e degli orbitali che volevi correlare all'inizio, insieme ai partner antilegame. Ad esempio, nell'etilene questa è probabilmente la coppia pi legame / antilegame, che porta a un (2,2), e per i complessi metallici 3d questo è qualunque sia il coordinamento (anti) legami presenti, con potenzialmente il doppio guscio d. Ho avuto un po 'di fortuna nell'usare gli orbitali DFT per complessi metallici, dove la teoria delle perturbazioni potrebbe essere una cattiva idea a causa di quasi degenerazioni o costi. Gli obiettivi qui sono confermare il tuo spazio attivo e fornire i migliori orbitali iniziali possibili per MCSCF.

  2. Guarda i tuoi orbitali. Ovviamente, leggi il Analisi della popolazione Mulliken o Lowdin, ma per esperienza personale, ho colto molti potenziali errori in questo modo. Aiuta anche quando si visualizza come gli orbitali a singolo stato e riferimento singolo si trasformano negli orbitali naturali (potenzialmente medi di stato) che risultano dai calcoli MCSCF.

  3. Riordina gli orbitali se necessario prima di eseguire MCSCF. Fatta eccezione per i casi più banali, gli orbitali che appartengono allo spazio attivo non sono gli orbitali che escono direttamente dal tuo calcolo a riferimento singolo. Se lo fossero, potresti non eseguire MCSCF per cominciare. Tendo anche a guardare ancora una volta gli orbitali riordinati prima di eseguire MCSCF per confermare di non aver commesso errori.

  4. Leggi la serie precedente di orbitali (riordinati) in un calcolo MCSCF separato e incrocia le dita. Il monitoraggio dei numeri di occupazione del tuo spazio attivo è una buona guida per vedere come il calcolo sta convergendo.

  5. Fai qualsiasi post-elaborazione di cui hai bisogno per il tuo progetto. Per me, si tratta di esaminare i numeri di occupazione finale, gli orbitali stessi e quindi eseguire MR-CISD o altri calcoli correlati a più riferimenti.

Eseguire una procedura di autooccupazione senza partire da orbitali precedentemente convergenti significa che 1. non hai alcuna garanzia sui contenuti del tuo spazio attivo, 2. parti da orbitali che sono vicini per qualità a Hartree-Fock e 3. il calcolo deve fare molto più lavoro nell'ottimizzazione di entrambi gli insiemi di parametri variazionali (i coefficienti MO $ \ {C \} $ e i coefficienti CI $ \ {c \} $) poiché gli orbitali interni ed esterni (dove i coefficienti CI sono congelati) sono ancora lontani convergenza utilizzando un metodo di riferimento singolo.

Per esaminare parte di questo flusso di lavoro, ho eseguito un calcolo PBE0 / aug-cc-pVTZ (converge molto più velocemente dell'SCF prima di MP2) per osservare il MO di Lowdin popolazioni:

 ! pbe0 aug-cc-pvtz cc-pvtz / jk ri rijk tightscf usesym zora% output print [p_orbpopmo_l] 1 end * xyz 0 5Fe 0.000000 0.000000 0.000000S 1.960000 0.000000 0.000000 *  

Gli indici MO sono S 3s: 14, Fe 4s: 20, Fe 3d: 15,16,17,18,19 e Fe 3d ': 33,34,36-40. L'occupazione automatica avrebbe dato ragione agli occupati, ma i virtuali sbagliati. Non sono sicuro di quale dei 7 MO virtuali che potrebbero essere il Fe 3d 'siano quelli corretti; probabilmente ci sono alcuni tentativi ed errori qui, ma questi dovrebbero essere visualizzati . Un altro punto è che ho esaminato solo l'ordine per gli orbitali con spin alfa; per casi difficili come i metalli di transizione, l'ordine spaziale per gli orbitali beta-spin può essere molto diverso. Il riordino degli orbitali alfa e beta spin potrebbe essere diverso. Ancora una volta, questo parla per esperienza.

La mostra finale sono gli orbitali naturali RI-MP2 / aug-cc-pVTZ che potrebbero entrare in un calcolo MCSCF in base ai loro numeri di occupazione:

  N [15] (A2) = 1,97761944N [16] (A1) = 1,97753198N [17] (B2) = 1,97009578N [18] (B1) = 1,97009578N [19] (A1) = 1,03828526N [ 20] (A1) = 0,99215102N [21] (B1) = 0,98317529N [22] (B2) = 0,98317529N [23] (A2) = 0,02013554N [24] (B2) = 0,01947713N [25] (B1) = 0.01947713N [26] (A1) = 0.01816184  

Per essere accurati, questo dovrebbe essere combinato con l'osservazione delle popolazioni Lowdin MO di questi, che potrebbe richiedere la lettura in un altro (SCF) calcolo e non eseguire alcuna iterazione.

Tuttavia, è ben noto che la convergenza di equazioni MCSCF è generalmente difficile. Nella mia limitata esperienza, DALTON, GAMESS e Molcas hanno meno problemi di ORCA. Non ho usato Molpro per MCSCF. Il programma scelto determina quali calcoli post-MCSCF possono essere eseguiti. L'algoritmo DIIS in ORCA, in particolare, può bloccarsi anche quando non dovrebbe. Se te lo puoi permettere, l'algoritmo di Newton-Raphson ( switchstep nr ), in cui l'orbitale hessiana dello spazio attivo viene calcolato ad ogni passaggio, funziona molto bene per forzare la convergenza una volta che SuperCI è stato fatto. ORCA rende facile iniziare con CASSCF e ha molte manopole, ma ha un motore integrato molto lento, non ti impedisce di fare cose stupide come GAMESS, e le funzionalità più avanzate sono scarsamente documentato. Anche il flusso di lavoro descritto sopra (vale a dire il tracciamento degli orbitali e la loro rotazione) diventa molto noioso, ma questo ha più a che fare con MCSCF in generale.

Ecco alcune buone risorse che descrivono aspetti sia pratici che teorici di esecuzione di calcoli MCSCF: 1, 2, 3, 4.

Non posso ringraziarti abbastanza per una risposta così completa. Mi prendo il mio tempo per digerire tutto ciò che hai detto e mi sta aiutando molto, quindi lo apprezzo davvero. Mi rendo conto nel documento che hanno usato uno spazio attivo (12,14). Ho pensato che sarebbe stato meno costoso utilizzare uno spazio attivo più piccolo, ma chiaramente non era così. Per qualche motivo (12,10) è stato eseguito molto rapidamente e (12,14) è ancora in esecuzione dopo circa una settimana. Tuttavia, forse questo significa che gli orbitali scelti come orbitali attivi da ORCA non sono corretti. Sarò sicuro di indagare ulteriormente. Grazie per avermi fatto iniziare!
Quello che ho cercato di trasmettere è che tutto è in equilibrio. La (12,8) non è stata eseguita perché non c'era modo di ottimizzare la funzione d'onda. Il (12,10) ha funzionato in un tempo ragionevole, ma probabilmente potresti ottenere un'energia migliore dalla rotazione dei tuoi orbitali. La (12,14) richiederà un po 'di tempo (anche con buoni orbitali) perché il numero di CSF che stai generando è enorme e questo richiederà molta memoria, oltre al tuo commento sull'identità degli orbitali.
@AndrewR. Inoltre, sentiti libero di inviarmi un ping in chat se hai domande.
grazie ancora per l'aiuto. Ho preso in considerazione il tuo commento e ho alcune domande di follow-up (speriamo brevi). Sono nuovo in Stack Exchange, quindi non so come inviarti un ping in chat. Ho creato una stanza, ma non sono sicuro che avrei dovuto farlo ...
Va bene; per eseguire il ping in chat, vai qui (http://chat.stackexchange.com/rooms/3229/the-periodic-table), digita '@pentavalentcarbon' e poi del testo, e riceverò una notifica. Non riesco a trovare la stanza che hai creato nella pagina della chat; se preferisci chattare lì, dovrai inviarmi un link.
@pentavalentcarbon Grazie per la risposta dettagliata.Potrebbe fornire riferimenti per le equazioni che calcolano il numero di determinanti e CSF?Il link che hai già fornito nella risposta non funziona più.Più specificamente, un libro di testo o un documento sarebbero davvero utili.
Argon
2016-06-25 02:38:41 UTC
view on stackexchange narkive permalink

Sembra che l'aumento dello spazio attivo abbia contribuito a far convergere i calcoli CASSCF. Ho avuto successo aumentando il numero di orbitali attivi da 8 a 10. Ci è voluta solo un'ora circa.



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...