xt
Quello che faresti è una versione mascherata del metodo di propagazione del raggio per la propagazione ottica attraverso una guida d'onda di sezione trasversale variabile (analoga a potenziali variabili nel tempo), quindi sarebbe utile cercare anche questo.
Il modo in cui guardo SSFM / BPM è il seguente. Il suo fondamento è la formula del prodotto Trotter della teoria di Lie:
limm→∞(exp(Dtm)exp(Vtm))m=exp((D+V)t)(1)
che a volte viene chiamato equazione di divisione dell'operatore in questo contesto. Il set di dati è una griglia discretizzata o di valori complessi che rappresentano in un determinato momento . Quindi immagini questo (non devi farlo ; sto ancora parlando concettualmente) enorme griglia scritta come vettore colonna -elemento (per una griglia abbiamo ) e quindi la tua equazione di Schrödinger è nella forma:x−yx−y−zψ(x,y,z)tNΨ1024×1024N=10242=1048576
dtΨ=KΨ=(D+V(t))Ψ(2)
dove è una matrice inclinata eremita, un elemento di e verrà mappato con tempo crescente da un elemento di uno gruppo di parametri . (Ho risucchiato il fattore in su RHS in modo da poter parlare più prontamente in termini teorici di Lie). Date le dimensioni di , l'habitat naturale degli operatori è un gruppo di Lie completamente colossale, quindi PHEW! sì, sto ancora parlando in termini totalmente teorici !. Ora, cosa significaK=D+VN×Nu(N)Ψexp(Kt)iℏK=D+VNU(N)D+VAssomiglia a? Ancora immaginando per ora, potrebbe essere considerata una versione a differenza finita di , dove rappresenta un potenziale "medio" conveniente per il problema in questione.iℏ∇2/(2m)−iℏ−1V0+iℏ−1(V0−V(x,y,z,t0))V0
Lasciamo:
DV==iℏ2m∇2−iℏ−1V0iℏ−1(V0−V(x,y,z,t))(3)
Perché li ho divisi in questo modo diventerà chiaro di seguito.
Il punto su è che può essere elaborato analiticamente per un'onda piana: è un semplice operatore di moltiplicazione in coordinate di momento. Quindi, per elaborare , ecco i primi tre passaggi di un ciclo SSFM / BPM:DΨ↦exp(ΔtD)Ψ
- Assegna FFT al set di dati per trasformarlo in un set di pesi di sovrapposizione di onde piane: ora le coordinate della griglia sono state modificate da in ;ΨΨ~x,y,zkx,ky,kz
- Impart semplicemente moltiplicando ciascun punto della griglia per ;Ψ~↦exp(ΔtD)Ψ~exp(iΔt(V0−k2x+k2y+k2z)/ℏ)
Inoltra FFT inversa per mappare la nostra griglia suexp(ΔtD)Ψ
Ora siamo di nuovo nel dominio di posizione. Questo è il dominio migliore per impartire ovviamente all'operatore : qui è un semplice operatore di moltiplicazione. Quindi ecco il tuo ultimo passo del tuo ciclo algoritmico:VV
Assegnare all'operatore semplicemente moltiplicando ciascun punto sulla griglia per il fattore di faseΨ↦exp(ΔtV)Ψexp(iΔt(V0−V(x,y,z,t))/ℏ)
.... e poi inizi il tuo prossimo passo e ciclicamente più volte. Chiaramente è molto facile inserire nel codice potenziali che variano nel tempo .ΔtV(x,y,z,t)
Quindi vedi semplicemente abbastanza piccolo da far entrare la formula Trotter (1): stai semplicemente approssimando l'azione dell'operatore e svolgi avanti e indietro con la tua FFT tra coordinate di posizione e momento, cioè i domini in cui e sono semplici operatori di moltiplicazione.Δtexp(D+VΔt)≈exp(DΔt)exp(VΔt)VD
Nota che stai impartendo solo, anche nel mondo discretizzato, operatori unitari: FFT e fattori di fase puri.
Un punto di cui devi fare attenzione è che quando il tuo diventa piccolo, devi assicurarti che anche la spaziatura della griglia spaziale si riduca. Altrimenti, supponiamo che la spaziatura della griglia spaziale sia . Quindi il significato fisico di un passo discreto è che gli effetti di diffrazione viaggiano a una velocità ; quando si simulano le equazioni e le guide d'onda di Maxwell, è necessario assicurarsi che questa velocità sia molto più piccola di . Oserei dire che i limiti si applicano all'equazione di Schrödinger: non ho esperienza diretta qui, ma suona divertente e forse potresti pubblicare i tuoi risultati qualche volta!ΔtΔxΔx/Δtc
Una seconda "esperienza" punto con questo genere di cose - sarei quasi disposto a scommettere che è così che finirai per seguire le tue idee. Spesso abbiamo idee che vogliamo fare simulazioni semplici, veloci e sporche, ma non funziona mai così! Comincerei con SSFM come ho descritto sopra in quanto è molto facile iniziare e vedrai rapidamente se i suoi risultati sono fisici o meno. Successivamente puoi usare il tuo, diciamo il codice SSFM di Mathematica, controlla i risultati di un codice più sofisticato che potresti finire per costruire, diciamo, un codice Crank Nicolson lungo le linee della risposta di Kyle Kanos .
Limiti di errore
La realizzazione della formula Dynkin del teorema Baker-Campbell-Hausdorff:
exp(DΔt)exp(V)Δt)=exp((D+V)Δt+12[D,V]Δt2+⋯)
convergenti per alcuni mostra che il metodo è accurato al secondo ordine e può mostrare che:
Δt>0
exp(DΔt)exp(V)Δt)exp(−12[D,V]Δt2)=exp((D+V)Δt+O(Δt3))
In teoria, quindi, puoi usare il termine per stimare l'errore e impostare di conseguenza . Questo non è così semplice come sembra e in pratica i limiti finiscono per essere piuttosto stime approssimative dell'errore. Il problema è che:exp(V)Δt)exp(−12[D,V]Δt2)Δt
Δt22[D,V]=−iΔt22m(∂2xV(x,t)+2∂xV(x,t)∂x)
e non ci sono prontamente trasformati in coordinate in cui è un semplice operatore di moltiplicazione. Quindi devi accontentarti di e usalo per stimare il tuo errore, lavorando per il tuo soluzione attualmente in evoluzione e utilizzo questa per impostare il[D,V]exp(−12[D,V]Δt2)≈e−iφΔt2(id−(12[D,V]−iφ(t))Δt2)(id−(12[D,V]−iφ(t))Δt2)ψψ(x,t)Δtal volo dopo ogni ciclo dell'algoritmo. Ovviamente puoi fare di queste idee la base per un controller adattivo per la tua simulazione. Qui è una fase globale estratta dal set di dati per ridurre al minimo la norma di ; ovviamente puoi spesso eliminare una fase così globale: a seconda di ciò che stai facendo con i risultati della simulazione spesso non siamo disturbati da una fase costante globale .φ(12[D,V]−iφ(t))Δt2exp(∫φdt)
Un documento pertinente sugli errori nell'SSFM / BPM è:
Lars Thylén. "Il metodo di propagazione del raggio: un'analisi della sua applicabilità", ottica e Quantum Electronics 15 (1983) pp433-439 .
Lars Thylén pensa agli errori in termini teorici non di Lie (i gruppi di Lie sono la mia inclinazione, quindi mi piace cercarne interpretazioni) ma le sue idee sono essenzialmente le stesse di quelle sopra.