Tipico schema in un codice

Slides:



Advertisements
Presentazioni simili
L’energia e la forma dell’orbita
Advertisements

Concetti Legame covalente Tipi di legame e ordine di legame
Come migliorare le prestazioni di un codice di dinamica molecolare.
Consideriamo un cristallo di Ag (fcc; a=4.09Å), descritto da un qualche potenziale semiempirico (negli esempi sarà EAM, ma non importa). Vogliamo studiarne.
Huffman Canonico: approfondimento. Come abbiamo visto, Huffman canonico ci permette di ottenere una decompressione più veloce e con un uso più efficiente.
Capacità elettrica Condensatori. Il condensatore è il sistema più semplice per avere un campo elettrico costante e poter immagazzinare energia elettrostatica.
1 Simulazione Numerica dei Fenomeni di Trasporto Necessità di introduzione dei tensori  11  12  13  23  21  22 Vogliamo descrivere in un modo che.
1  La metodologia reddituale giunge al reddito totale attraverso la differenza tra tutti i costi e tutti i ricavi misurati finanziariamente nel corso.
“Noi, in quanto individui, siamo tenuti a fare qualcosa, anche se
NUMERI ed ERRORI MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
E ora, una parola da un antico Greco…. Ora, vediamo...
SCELTA DELLA SEZIONE DEI CAVI
Carica elettrica Propietà della materia Posseduta da: Elettroni (e-)
Transizioni (o passaggi) di stato
La chimica organica by S. Nocerino.
LA TABELLA PERIODICA DEGLI ELEMENTI
Energia potenziale gravitazionale e teorema di Gauss
Energia e forze conservative
Attrito Nel contatto tra due corpi c’è sempre l’attrito.
Composizione di forze Gianni Bianciardi (2009/2010)
I PRINCIPI DELLA DINAMICA
Il nuovo Invito alla biologia.blu
Federico Lucchi,classe 3C ENERGIA EOLICA
Tecnica batch (passa a passo)
Energia potenziale in catene polipeptidiche
GEOMETRIA MOLECOLARE O H O-C-O Lineare OCO=180° ^ Piegata HOH=105° ^
ELEMENTI DI DINAMICA DELLE STRUTTURE
13/11/
1) Elettrone in una buca di potenziale microscopica :
Atomi polielettronici
Informatica per Scienze Geologiche LT a.a
Dalla struttura atomica
Lezione n.7b (Corso di termodinamica) Cicli diretti ed indiretti
Formazione di legami chimici
Figura 1-9 Schema della decomposizione di carbonato di calcio con formazione di un solido A (56.0% in massa) e di un gas B (44.0% in massa).
Bilancio di energia o legge di conservazione dell’energia
Fisica: lezioni e problemi
Meccanica dei Fluidi (parte 2)
Fisica dei Dispositivi a Stato Solido
Y Y j R i mg sin θ i -mg cos θ j θ mg X θ
GEOMETRIA MOLECOLARE O H O-C-O Lineare OCO=180° ^ Piegata HOH=105° ^
Capitolo 10 Le forme delle molecole.
Dalla Struttura degli atomi e delle molecole alla chimica della vita
Dalla Struttura degli atomi e delle molecole alla chimica della vita
1. Verso il sistema periodico
( di che denominatore sei? )
Energia potenziale elettrostatica Lavoro della forza Coulombiana
“Noi, in quanto individui, siamo tenuti a fare qualcosa, anche se
Schema generale, visita in ampiezza e profondità.
Simulazione Molecolare A.A
Cominciamo a parlare di tangenti.
LE SUCCESSIONI Si consideri la seguente sequenza di numeri:
Fisica 2 12° lezione.
Gli archivi e le basi di dati
Capitolo 1 Introduzione alla fisica
Capitolo 7 Lavoro ed energia cinetica
E n e r g i a.
LE GRANDEZZE CARATTERISTICHE
Energia potenziale in catene polipeptidiche
Un'onda è una perturbazione che si
1.
1.
Le Frazioni Prof.ssa A.Comis.
1.
LAVORO di una forza costante
L’atomo di Bohr Pensò che l’emissione di luce da parte degli atomi dipendeva dagli elettroni che ruotavano attorno al nucleo. Attraverso i suoi studi Bohr.
1.
Flusso del campo elettrico e teorema di Gauss
Energia potenziale in catene polipeptidiche
Transcript della presentazione:

Tipico schema in un codice fornite dall'esterno (file contenente una configurazione) posizioni iniziali create dal codice stesso in base alle richieste dello user ("crea" cristallo fcc, bcc, diamante, etc.)

Tipico schema in un codice posizioni iniziali x(1),y(1),z(1),x(2),y(2),z(2), ..,x(natoms),y(natoms),z(natoms) Gli atomi sono sempre numerati in qualche modo. La particolare numerazione non è di per sè significativa 1 2 3 4 5 6 7 8 9 10 11 12

Tipico schema in un codice configurazione nota lista dei vicini: voglio sapere per ogni atomo i quanti - nvicini(i) - atomi rientrano nel suo raggio di cutoff Errore gravissimo e comune: cerco i vicini di 6 e trovo (se metto un cutoff a primi vicini) 2,5,7,10. Totale: nvicini(6)=4. Se per esempio devo fare un ciclo in cui calcolo la distanza tra 6 e i suoi vicini, non devo fare do j=1,nvicini(6) dx=x(6)-x(j) .....!!!!calcolerei le distanze tra 6 e 1, 6 e 2, etc. Invece devo fare: dx=x(6)-x(ivicini(6,j)) dove ivicini(6,1)=2; ivicini(6,2)=5, etc. 1 2 3 4 E' chiave la matrice intera ivicini(i,j) che mi dice che il vicino j-simo dell'atomo i è l'atomo ivicini(i,j) 5 6 7 8 9 10 11 12

Implementazione calcolo energia

Metodo diretto do i=1,natoms Notare che potremmo fare do j=1,natoms rij=(x(i)-x(j))*(x(i)-x(j))+(y(i) .... rij=sqrt(rij) if(i.ne.j)then ene=ene+..... endif end do Notare che potremmo fare il ciclo in metà del tempo ...

Metodo basato sulla lista dei vicini call vicini(natoms,nvicmax,nvicini, ivicini) do i=1,natoms do k=1,nvicini(i) j=ivicini(i,k) rij=(x(i)-x(j))*(x(i)-x(j))+(y(i) .... rij=sqrt(rij) ene=ene+..... end do

Se introduco il raccordo polinomiale ... call vicini(natoms,nvicmax,nvicini, ivicini) do i=1,natoms do k=1,nvicini(i) j=ivicini(i,k) rij=(x(i)-x(j))*(x(i)-x(j))+(y(i) .... rij=sqrt(rij) ecoppia=0.d0 if(rij.le.rprimo)then ecoppia=4.d0*eps ….. elseif(rij.lt.rc)then ecoppia=polinomio endif epot=epot+ecoppia end do epot=0.5d0*epot

Notare che detto così non è molto furbo call vicini(natoms,nvicmax,nvicini, ivicini) do i=1,natoms do k=1,nvicini(i) j=ivicini(i,k) rij=(x(i)-x(j))*(x(i)-x(j))+(y(i) .... rij=sqrt(rij) ene=ene+..... end do doppio ciclo (natoms x natoms) doppio ciclo (natoms x nvicini) ... a meno che non si possa evitare di ricalcolare la lista dei vicini

Calcolo delle forze: calcoliamo la forza lungo x che agisce sull'atomo k forza su x che agisce sull'atomo k per effetto dell'atomo j

Calcolo delle forze: calcoliamo la forza lungo x che agisce sull'atomo k, dovuta all'atomo j

Calcolo delle forze: calcoliamo la forza che agisce sull'atomo k, dovuta all'atomo j (la forza totale su k è subito ottenuta sommando su j) E' così facile perchè è a coppie (e anche perchè la forma funzionale è quella semplicissima di Lennard-Jones)

Calcolo delle forze: come si traduce tutto ciò in un codice? forza su x che agisce sull'atomo k per effetto del suo vicino j-simo Alla fine mi interessa quella totale che agisce su k: basta sommare su j..

Non ci dimentichiamo di due complicazioni Se ho PBC ......... Nel calcolo sia dell'energia sia delle forze devo utilizzare il raccordo (e la sua derivata) invece dell'espressione standard del potenziale!!!

Calcolo delle forze: calcoliamo la forza lungo x che agisce sull'atomo k, dovuta all'atomo j nel raccordo

Calcolo delle forze: calcoliamo la forza lungo x che agisce sull'atomo k, dovuta all'atomo j nel raccordo

r’<rc Dopo un po’ di conti …………………..

Calcolo delle forze: calcoliamo numericamente la forza lungo x che agisce sull'atomo k

Calcolo delle forze: calcoliamo numericamente la forza lungo x che agisce sull'atomo k Nel codice: salvo le posizione ufficiali in vettori xsave,ysave,zsave 2) x(k)=x(k)+h; calcolo l’energia e la salvo in eplus 3) x(k)=xsave(k)-h; calcolo l’energia e la salvo in eminus 4)fx(k)=-(eplus-eminus)/2h Facciamolo nel caso dell’atomo che si allontana dalla superficie, al variare di z, confrontando forze analitiche e numeriche.

Il calcolo delle forze permette immediatamente di effettuare simulazioni di STATICA molecolare Statica molecolare: configurazioni (locali) di minima energia U

Calcolo delle forze: calcoliamo numericamente la forza lungo x che agisce sull'atomo k Statica molecolare: configurazioni (locali) di minima energia U Mi muovo piano piano lungo la direzione della forza

Calcolo delle forze: calcoliamo numericamente la forza lungo x che agisce sull'atomo k Statica molecolare: configurazioni (locali) di minima energia U Mi muovo piano piano lungo la direzione della forza

Calcolo delle forze: calcoliamo numericamente la forza lungo x che agisce sull'atomo k Statica molecolare: configurazioni (locali) di minima energia U Mi muovo piano piano lungo la direzione della forza

Calcolo delle forze: calcoliamo numericamente la forza lungo x che agisce sull'atomo k Statica molecolare: configurazioni (locali) di minima energia U Mi muovo piano piano lungo la direzione della forza. Sono nel minimo!

V(x,y) In due dimensioni … mi muovo in x lungo fx, in y lungo fy Metodo della discesa più rapida (“steepest descent”)

Schema implementazione steepest descent in tante dimensioni Versione semplificata fmax = max(|fx1|,......|fzN|) calcolata in force Problema: Se ho forze grandi devo muovermi di poco se no la direzione scelta è poco rappresentativa! C troppo grande: non convergo, e/o oscillo, e/o il sistema “esplode” C troppo piccolo: ci metto troppo Devo variare C ...

Salvo posizioni in xsave

Calcolo delle forze: calcoliamo numericamente la forza lungo x che agisce sull'atomo k Criteri di convergenza L’energia varia di poco tra un passo e l’altro (livello 0); La norma della forza è al di sotto di una certa soglia (livello 1); La forza massima su un atomo è sotto ad una certa soglia (livello 2); Devono valere tutti e tre assieme (livello 3). Forze piccole? < 0.001 eV/Å

Calcolo delle forze: calcoliamo numericamente la forza lungo x che agisce sull'atomo k Occhio! Lo steepest descent è un metodo che permette di trovare solo i minimi locali!!!!

Example: adatom positions on a fcc(001) Surface. Top view.

Let us “deposit” few adatoms

Let us find the closest minimum configuration

Let us find the closest minimum configuration

Let us find the closest minimum configuration

Let us find the closest minimum configuration

Let us find the closest minimum configuration

Let us find the closest minimum configuration (Also: surface relaxations!!)