Derivazione del metodo FDTDDerivazione del metodo FDTD
1. Introduzione1. Introduzione
Questa pagina presenta la derivazione matematica dettagliata delle principali equazioni di aggiornamento del metodo delle differenze finite nel dominio del tempo (FDTD), utilizzate per risolvere le equazioni di Maxwell nel dominio del tempo. Lo scopo di questa pagina è diverso da quello della pagina principale dedicata alla teoria. L’obiettivo qui non è fornire una panoramica semplificata, ma mostrare esplicitamente come le equazioni continue del rotore vengono trasformate nelle espressioni algebriche discrete utilizzate in un programma per computer. Questa è anche la parte del metodo FDTD in cui è più facile commettere errori nel codice: errori di segno, indici posizionati in modo errato o intervalli di tempo non coerenti possono produrre immediatamente risultati instabili o non fisici.Questa pagina presenta la derivazione matematica dettagliata delle principali equazioni di aggiornamento del metodo delle differenze finite nel dominio del tempo (FDTD), utilizzate per risolvere le equazioni di Maxwell nel dominio del tempo. Lo scopo di questa pagina è diverso da quello della pagina principale dedicata alla teoria. L’obiettivo qui non è fornire una panoramica semplificata, ma mostrare esplicitamente come le equazioni continue del rotore vengono trasformate nelle espressioni algebriche discrete utilizzate in un programma per computer. Questa è anche la parte del metodo FDTD in cui è più facile commettere errori nel codice: errori di segno, indici posizionati in modo errato o intervalli di tempo non coerenti possono produrre immediatamente risultati instabili o non fisici.
Partiamo quindi dalla legge di Ampère e dalla legge di Faraday, espresse in forma differenziale, le espandiamo nelle componenti cartesiane e quindi le adattiamo a un problema ottico bidimensionale. Le derivate spaziali vengono sostituite con differenze finite centrate, le derivate temporali vengono discretizzate utilizzando lo schema standard «leapfrog» e le espressioni risultanti vengono riorganizzate per ottenere formule esplicite per l’aggiornamento delle componenti del campo elettrico e magnetico.Partiamo quindi dalla legge di Ampère e dalla legge di Faraday, espresse in forma differenziale, le espandiamo nelle componenti cartesiane e quindi le adattiamo a un problema ottico bidimensionale. Le derivate spaziali vengono sostituite con differenze finite centrate, le derivate temporali vengono discretizzate utilizzando lo schema standard «leapfrog» e le espressioni risultanti vengono riorganizzate per ottenere formule esplicite per l’aggiornamento delle componenti del campo elettrico e magnetico.
Per rendere più comprensibile la derivazione, riduciamo qui le equazioni a un caso bidimensionale in cui \(\partial/\partial y = 0\) e la conducibilità magnetica sono impostate a zero, \(\sigma_m = 0\). In questo modo, l’algebra diventa più semplice da seguire e viene anche mostrato esplicitamente come viene effettuata la riduzione dimensionale nella pratica. Tuttavia, nel solver OghmaNano FDTD completo, le equazioni elettromagnetiche vengono risolte in tre dimensioni. Pertanto, la derivazione bidimensionale presentata qui è intesa come un chiaro esempio pratico del metodo, piuttosto che come un’affermazione secondo cui il solver sottostante è limitato a due dimensioni.Per rendere più comprensibile la derivazione, riduciamo qui le equazioni a un caso bidimensionale in cui \(\partial/\partial y = 0\) e la conducibilità magnetica sono impostate a zero, \(\sigma_m = 0\). In questo modo, l’algebra diventa più semplice da seguire e viene anche mostrato esplicitamente come viene effettuata la riduzione dimensionale nella pratica. Tuttavia, nel solver OghmaNano FDTD completo, le equazioni elettromagnetiche vengono risolte in tre dimensioni. Pertanto, la derivazione bidimensionale presentata qui è intesa come un chiaro esempio pratico del metodo, piuttosto che come un’affermazione secondo cui il solver sottostante è limitato a due dimensioni.
In questa pagina, i componenti del campo elettrico vengono valutati a intervalli di tempo interi \(n\Delta t\), mentre i componenti del campo magnetico vengono valutati a intervalli di tempo pari a metà unità \(\left(n+\tfrac{1}{2}\right)\Delta t\). Questa è la disposizione standard della griglia di Yee utilizzata nel metodo FDTD. A differenza della pagina introduttiva più breve, qui l’indicizzazione è specificata in modo più esplicito, in modo che la derivazione possa essere letta sia come una guida all’implementazione sia come una nota matematica.In questa pagina, i componenti del campo elettrico vengono valutati a intervalli di tempo interi \(n\Delta t\), mentre i componenti del campo magnetico vengono valutati a intervalli di tempo pari a metà unità \(\left(n+\tfrac{1}{2}\right)\Delta t\). Questa è la disposizione standard della griglia di Yee utilizzata nel metodo FDTD. A differenza della pagina introduttiva più breve, qui l’indicizzazione è specificata in modo più esplicito, in modo che la derivazione possa essere letta sia come una guida all’implementazione sia come una nota matematica.
2. Equazioni di partenza2. Equazioni di partenza
Partiamo dalle equazioni di Maxwell relative al rotore dei campi in un mezzo lineare caratterizzato da conducibilità elettrica \(\sigma\), permittività elettrica \(\epsilon\), permeabilità magnetica \(\mu\) e, per generalizzare, conducibilità magnetica \(\sigma_m\):Partiamo dalle equazioni di Maxwell relative al rotore dei campi in un mezzo lineare caratterizzato da conducibilità elettrica \(\sigma\), permittività elettrica \(\epsilon\), permeabilità magnetica \(\mu\) e, per generalizzare, conducibilità magnetica \(\sigma_m\):
\[ \nabla \times \boldsymbol{H} = \sigma \boldsymbol{E} + \epsilon \frac{\partial \boldsymbol{E}}{\partial t}, \qquad \nabla \times \boldsymbol{E} = - \sigma_m \boldsymbol{H} - \mu \frac{\partial \boldsymbol{H}}{\partial t}. \] \[ \nabla \times \boldsymbol{H} = \sigma \boldsymbol{E} + \epsilon \frac{\partial \boldsymbol{E}}{\partial t}, \qquad \nabla \times \boldsymbol{E} = - \sigma_m \boldsymbol{H} - \mu \frac{\partial \boldsymbol{H}}{\partial t}. \]
In forma determinata, le spirali sonoIn forma determinata, le spirali sono
\[ \nabla \times \boldsymbol{H} = \begin{vmatrix} \hat{\boldsymbol{x}} & \hat{\boldsymbol{y}} & \hat{\boldsymbol{z}} \\ \dfrac{\partial}{\partial x} & \dfrac{\partial}{\partial y} & \dfrac{\partial}{\partial z} \\ H_x & H_y & H_z \end{vmatrix}, \qquad \nabla \times \boldsymbol{E} = \begin{vmatrix} \hat{\boldsymbol{x}} & \hat{\boldsymbol{y}} & \hat{\boldsymbol{z}} \\ \dfrac{\partial}{\partial x} & \dfrac{\partial}{\partial y} & \dfrac{\partial}{\partial z} \\ E_x & E_y & E_z \end{vmatrix}. \] \[ \nabla \times \boldsymbol{H} = \begin{vmatrix} \hat{\boldsymbol{x}} & \hat{\boldsymbol{y}} & \hat{\boldsymbol{z}} \\ \dfrac{\partial}{\partial x} & \dfrac{\partial}{\partial y} & \dfrac{\partial}{\partial z} \\ H_x & H_y & H_z \end{vmatrix}, \qquad \nabla \times \boldsymbol{E} = \begin{vmatrix} \hat{\boldsymbol{x}} & \hat{\boldsymbol{y}} & \hat{\boldsymbol{z}} \\ \dfrac{\partial}{\partial x} & \dfrac{\partial}{\partial y} & \dfrac{\partial}{\partial z} \\ E_x & E_y & E_z \end{vmatrix}. \]
Queste sono le equazioni a tempo e spazio continui. L’obiettivo del resto della pagina è convertirle in uno schema esplicito alle differenze finite, che può essere utilizzato per calcolare i valori successivi nel tempo.Queste sono le equazioni a tempo e spazio continui. L’obiettivo del resto della pagina è convertirle in uno schema esplicito alle differenze finite, che può essere utilizzato per calcolare i valori successivi nel tempo.
3. Forma vettoriale delle equazioni del rotore3. Forma vettoriale delle equazioni del rotore
Esprimendo la legge di Ampère in coordinate cartesiane, si ottiene:Esprimendo la legge di Ampère in coordinate cartesiane, si ottiene:
\[ \sigma E_x + \epsilon \frac{\partial E_x}{\partial t} = \frac{\partial H_z}{\partial y} - \frac{\partial H_y}{\partial z}, \] \[ \sigma E_x + \epsilon \frac{\partial E_x}{\partial t} = \frac{\partial H_z}{\partial y} - \frac{\partial H_y}{\partial z}, \]
\[ \sigma E_y + \epsilon \frac{\partial E_y}{\partial t} = \frac{\partial H_x}{\partial z} - \frac{\partial H_z}{\partial x}, \] \[ \sigma E_y + \epsilon \frac{\partial E_y}{\partial t} = \frac{\partial H_x}{\partial z} - \frac{\partial H_z}{\partial x}, \]
\[ \sigma E_z + \epsilon \frac{\partial E_z}{\partial t} = \frac{\partial H_y}{\partial x} - \frac{\partial H_x}{\partial y}. \] \[ \sigma E_z + \epsilon \frac{\partial E_z}{\partial t} = \frac{\partial H_y}{\partial x} - \frac{\partial H_x}{\partial y}. \]
Estendendo la legge di Faraday, si ottiene:Estendendo la legge di Faraday, si ottiene:
\[ -\sigma_m H_x - \mu \frac{\partial H_x}{\partial t} = \frac{\partial E_z}{\partial y} - \frac{\partial E_y}{\partial z}, \] \[ -\sigma_m H_x - \mu \frac{\partial H_x}{\partial t} = \frac{\partial E_z}{\partial y} - \frac{\partial E_y}{\partial z}, \]
\[ -\sigma_m H_y - \mu \frac{\partial H_y}{\partial t} = \frac{\partial E_x}{\partial z} - \frac{\partial E_z}{\partial x}, \] \[ -\sigma_m H_y - \mu \frac{\partial H_y}{\partial t} = \frac{\partial E_x}{\partial z} - \frac{\partial E_z}{\partial x}, \]
\[ -\sigma_m H_z - \mu \frac{\partial H_z}{\partial t} = \frac{\partial E_y}{\partial x} - \frac{\partial E_x}{\partial y}. \] \[ -\sigma_m H_z - \mu \frac{\partial H_z}{\partial t} = \frac{\partial E_y}{\partial x} - \frac{\partial E_x}{\partial y}. \]
In questa fase, non sono ancora state fatte ipotesi sulla dimensionalità. Le espressioni riportate sopra rappresentano semplicemente la forma in componenti delle equazioni complete del rotore in tre dimensioni.In questa fase, non sono ancora state fatte ipotesi sulla dimensionalità. Le espressioni riportate sopra rappresentano semplicemente la forma in componenti delle equazioni complete del rotore in tre dimensioni.
4. Riduzione bidimensionale4. Riduzione bidimensionale
Per semplificare il processo di derivazione, riduciamo ora il problema a due dimensioni, ipotizzando che non vi siano variazioni nella direzione \(y\), quindi \(\partial / \partial y = 0\). Questa operazione viene eseguita esclusivamente per semplificare i calcoli algebrici e rendere più facile la comprensione della struttura delle equazioni di aggiornamento. La stessa procedura può essere estesa direttamente a tre dimensioni e, nella pratica, OghmaNano risolve la forma completa tridimensionale delle equazioni di Maxwell.Per semplificare il processo di derivazione, riduciamo ora il problema a due dimensioni, ipotizzando che non vi siano variazioni nella direzione \(y\), quindi \(\partial / \partial y = 0\). Questa operazione viene eseguita esclusivamente per semplificare i calcoli algebrici e rendere più facile la comprensione della struttura delle equazioni di aggiornamento. La stessa procedura può essere estesa direttamente a tre dimensioni e, nella pratica, OghmaNano risolve la forma completa tridimensionale delle equazioni di Maxwell.
Partendo da questa ipotesi, le equazioni del campo elettrico si semplificano in:Partendo da questa ipotesi, le equazioni del campo elettrico si semplificano in:
\[ \sigma E_x + \epsilon \frac{\partial E_x}{\partial t} = - \frac{\partial H_y}{\partial z}, \] \[ \sigma E_x + \epsilon \frac{\partial E_x}{\partial t} = - \frac{\partial H_y}{\partial z}, \]
\[ \sigma E_y + \epsilon \frac{\partial E_y}{\partial t} = - \frac{\partial H_z}{\partial x} + \frac{\partial H_x}{\partial z}, \] \[ \sigma E_y + \epsilon \frac{\partial E_y}{\partial t} = - \frac{\partial H_z}{\partial x} + \frac{\partial H_x}{\partial z}, \]
\[ \sigma E_z + \epsilon \frac{\partial E_z}{\partial t} = \frac{\partial H_y}{\partial x}. \] \[ \sigma E_z + \epsilon \frac{\partial E_z}{\partial t} = \frac{\partial H_y}{\partial x}. \]
Se impostiamo anche la conducibilità magnetica a zero, \(\sigma_m = 0\), le equazioni del campo magnetico diventano:Se impostiamo anche la conducibilità magnetica a zero, \(\sigma_m = 0\), le equazioni del campo magnetico diventano:
\[ \mu \frac{\partial H_x}{\partial t} = \frac{\partial E_y}{\partial z}, \] \[ \mu \frac{\partial H_x}{\partial t} = \frac{\partial E_y}{\partial z}, \]
\[ \mu \frac{\partial H_y}{\partial t} = \frac{\partial E_z}{\partial x} - \frac{\partial E_x}{\partial z}, \] \[ \mu \frac{\partial H_y}{\partial t} = \frac{\partial E_z}{\partial x} - \frac{\partial E_x}{\partial z}, \]
\[ \mu \frac{\partial H_z}{\partial t} = - \frac{\partial E_y}{\partial x}. \] \[ \mu \frac{\partial H_z}{\partial t} = - \frac{\partial E_y}{\partial x}. \]
Queste sono le equazioni continue che verranno ora trasformate in equazioni discrete. È importante sottolineare esplicitamente che si tratta di una semplificazione bidimensionale del problema tridimensionale completo. L’obiettivo non è affermare che tutti i metodi FDTD siano intrinsecamente bidimensionali, ma ricavare equazioni di aggiornamento chiare per il caso comune in cui una delle direzioni viene eliminata.Queste sono le equazioni continue che verranno ora trasformate in equazioni discrete. È importante sottolineare esplicitamente che si tratta di una semplificazione bidimensionale del problema tridimensionale completo. L’obiettivo non è affermare che tutti i metodi FDTD siano intrinsecamente bidimensionali, ma ricavare equazioni di aggiornamento chiare per il caso comune in cui una delle direzioni viene eliminata.
5. Griglia Yee, indicizzazione e notazione.5. Griglia Yee, indicizzazione e notazione.
Per risolvere numericamente le equazioni sopra indicate, sia lo spazio che il tempo vengono discretizzati. Si supponga che gli intervalli della griglia di calcolo nelle direzioni \(x\) e \(z\) siano rispettivamente \(\Delta x\) e \(\Delta z\), e che l’intervallo di tempo sia \(\Delta t\). Utilizziamo gli indici interi \(i\) e \(k\) per le direzioni \(x\) e \(z\):Per risolvere numericamente le equazioni sopra indicate, sia lo spazio che il tempo vengono discretizzati. Si supponga che gli intervalli della griglia di calcolo nelle direzioni \(x\) e \(z\) siano rispettivamente \(\Delta x\) e \(\Delta z\), e che l’intervallo di tempo sia \(\Delta t\). Utilizziamo gli indici interi \(i\) e \(k\) per le direzioni \(x\) e \(z\):
\[ x_i = i \Delta x, \qquad z_k = k \Delta z. \] \[ x_i = i \Delta x, \qquad z_k = k \Delta z. \]
Il tempo è indicato dall’intero \(n\), in modo cheIl tempo è indicato dall’intero \(n\), in modo che
\[ t^n = n \Delta t. \] \[ t^n = n \Delta t. \]
Nel metodo di Yee, i campi elettrici e magnetici non sono memorizzati nello stesso punto, né nello spazio né nel tempo. Invece, sono sfalsati. Le componenti del campo elettrico vengono calcolate in istanti di tempo interi \(n\Delta t\), mentre le componenti del campo magnetico vengono calcolate in istanti di tempo a metà intervallo \(\left(n+\tfrac{1}{2}\right)\Delta t\). Questa è l’origine della struttura a «salto» del metodo FDTD.Nel metodo di Yee, i campi elettrici e magnetici non sono memorizzati nello stesso punto, né nello spazio né nel tempo. Invece, sono sfalsati. Le componenti del campo elettrico vengono calcolate in istanti di tempo interi \(n\Delta t\), mentre le componenti del campo magnetico vengono calcolate in istanti di tempo a metà intervallo \(\left(n+\tfrac{1}{2}\right)\Delta t\). Questa è l’origine della struttura a «salto» del metodo FDTD.
Dal punto di vista spaziale, i componenti del campo sono disposti in modo tale che ogni operatore di rotazione alle differenze finite, centrato, sia definito in modo naturale tra le posizioni di griglia adiacenti. In un’implementazione completa del codice, ogni componente del campo è associato alla propria coppia di indici spaziali, ad esempio \(E_x^n(i,k)\), \(H_y^{n+\frac{1}{2}}(i+\tfrac{1}{2},k+\tfrac{1}{2})\) e così via. Per mantenere la chiarezza delle espressioni algebriche, alcuni degli indici ripetuti, che possono essere considerati come «indici di contorno», non vengono sempre scritti esplicitamente nei passaggi successivi. Tuttavia, l’interpretazione rimane sempre la stessa:Dal punto di vista spaziale, i componenti del campo sono disposti in modo tale che ogni operatore di rotazione alle differenze finite, centrato, sia definito in modo naturale tra le posizioni di griglia adiacenti. In un’implementazione completa del codice, ogni componente del campo è associato alla propria coppia di indici spaziali, ad esempio \(E_x^n(i,k)\), \(H_y^{n+\frac{1}{2}}(i+\tfrac{1}{2},k+\tfrac{1}{2})\) e così via. Per mantenere la chiarezza delle espressioni algebriche, alcuni degli indici ripetuti, che possono essere considerati come «indici di contorno», non vengono sempre scritti esplicitamente nei passaggi successivi. Tuttavia, l’interpretazione rimane sempre la stessa:
- \(i\) indica la direzione \(x\).\(i\) indica la direzione \(x\).
- \(k\) indica la direzione \(z\).\(k\) indica la direzione \(z\).
- \(n\) indica i livelli temporali del campo elettrico, espressi in valori interi, e\(n\) indica i livelli temporali del campo elettrico, espressi in valori interi, e
- \(n+\tfrac{1}{2}\) indica i livelli temporali del campo magnetico con incrementi di mezzo passo.\(n+\tfrac{1}{2}\) indica i livelli temporali del campo magnetico con incrementi di mezzo passo.
Ad esempio, l’approssimazione centrata alle differenze finite per \(\partial H_y / \partial z\) è:Ad esempio, l’approssimazione centrata alle differenze finite per \(\partial H_y / \partial z\) è:
\[ \frac{\partial H_y}{\partial z} \approx \frac{ H_y^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_y^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z}, \] \[ \frac{\partial H_y}{\partial z} \approx \frac{ H_y^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_y^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z}, \]
e allo stesso modo, l’approssimazione centrata di \(\partial H_z / \partial x\) èe allo stesso modo, l’approssimazione centrata di \(\partial H_z / \partial x\) è
\[ \frac{\partial H_z}{\partial x} \approx \frac{ H_z^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_z^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x}. \] \[ \frac{\partial H_z}{\partial x} \approx \frac{ H_z^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_z^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x}. \]
Una volta chiarita questa notazione, la derivazione che segue può essere interpretata in modo univoco come un corretto schema di aggiornamento della griglia di Yee.Una volta chiarita questa notazione, la derivazione che segue può essere interpretata in modo univoco come un corretto schema di aggiornamento della griglia di Yee.
6. Derivazione delle equazioni per l’aggiornamento del campo elettrico6. Derivazione delle equazioni per l’aggiornamento del campo elettrico
Il campo elettrico viene calcolato a intervalli di tempo interi \(n\Delta t\), mentre il campo magnetico viene calcolato a intervalli di tempo pari a metà unità \(\left(n+\tfrac{1}{2}\right)\Delta t\). Per ottenere le equazioni di aggiornamento, la derivata temporale viene approssimata mediante una differenza finita centrata e il termine di conducibilità viene calcolato utilizzando la media dei campi elettrici vecchio e nuovo. In questo modo si ottiene un metodo numerico stabile, basato su una discretizzazione a trapezio, per il calcolo della conducibilità.Il campo elettrico viene calcolato a intervalli di tempo interi \(n\Delta t\), mentre il campo magnetico viene calcolato a intervalli di tempo pari a metà unità \(\left(n+\tfrac{1}{2}\right)\Delta t\). Per ottenere le equazioni di aggiornamento, la derivata temporale viene approssimata mediante una differenza finita centrata e il termine di conducibilità viene calcolato utilizzando la media dei campi elettrici vecchio e nuovo. In questo modo si ottiene un metodo numerico stabile, basato su una discretizzazione a trapezio, per il calcolo della conducibilità.
Questa fase di calcolo della media è importante. Se il termine relativo alla conducibilità fosse trattato in modo incoerente, i coefficienti di aggiornamento non avrebbero più la forma standard smorzata e si perderebbe la corrispondenza con le solite equazioni FDTD.Questa fase di calcolo della media è importante. Se il termine relativo alla conducibilità fosse trattato in modo incoerente, i coefficienti di aggiornamento non avrebbero più la forma standard smorzata e si perderebbe la corrispondenza con le solite equazioni FDTD.
6.1 Aggiornare l’equazione per \(E_x\).6.1 Aggiornare l’equazione per \(E_x\).
Inizia daInizia da
\[ \sigma E_x + \epsilon \frac{\partial E_x}{\partial t} = - \frac{\partial H_y}{\partial z}. \] \[ \sigma E_x + \epsilon \frac{\partial E_x}{\partial t} = - \frac{\partial H_y}{\partial z}. \]
Valutare il termine relativo alla conducibilità utilizzando la media dei valori di \(E_x^{n+1}\) e \(E_x^n\) e valutare la derivata temporale utilizzando una differenza finita centrata:Valutare il termine relativo alla conducibilità utilizzando la media dei valori di \(E_x^{n+1}\) e \(E_x^n\) e valutare la derivata temporale utilizzando una differenza finita centrata:
\[ \sigma \frac{E_x^{n+1}(i,k) + E_x^n(i,k)}{2} + \epsilon \frac{E_x^{n+1}(i,k) - E_x^n(i,k)}{\Delta t} = - \frac{ H_y^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_y^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z}. \] \[ \sigma \frac{E_x^{n+1}(i,k) + E_x^n(i,k)}{2} + \epsilon \frac{E_x^{n+1}(i,k) - E_x^n(i,k)}{\Delta t} = - \frac{ H_y^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_y^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z}. \]
Raggruppa i termini \(E_x^{n+1}\) sul lato sinistro:Raggruppa i termini \(E_x^{n+1}\) sul lato sinistro:
\[ \left( \frac{\sigma}{2} + \frac{\epsilon}{\Delta t} \right) E_x^{n+1}(i,k) = - \frac{ H_y^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_y^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z} + \left( \frac{\epsilon}{\Delta t} - \frac{\sigma}{2} \right) E_x^n(i,k). \] \[ \left( \frac{\sigma}{2} + \frac{\epsilon}{\Delta t} \right) E_x^{n+1}(i,k) = - \frac{ H_y^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_y^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z} + \left( \frac{\epsilon}{\Delta t} - \frac{\sigma}{2} \right) E_x^n(i,k). \]
PertantoPertanto
\[ E_x^{n+1}(i,k) = \frac{ \left( \dfrac{\epsilon}{\Delta t} - \dfrac{\sigma}{2} \right) E_x^n(i,k) - \dfrac{ H_y^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_y^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z} }{ \dfrac{\epsilon}{\Delta t} + \dfrac{\sigma}{2} }. \] \[ E_x^{n+1}(i,k) = \frac{ \left( \dfrac{\epsilon}{\Delta t} - \dfrac{\sigma}{2} \right) E_x^n(i,k) - \dfrac{ H_y^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_y^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z} }{ \dfrac{\epsilon}{\Delta t} + \dfrac{\sigma}{2} }. \]
Moltiplicando il numeratore e il denominatore per \(2\Delta t\) si ottiene la forma standard del coefficiente:Moltiplicando il numeratore e il denominatore per \(2\Delta t\) si ottiene la forma standard del coefficiente:
\[ E_x^{n+1}(i,k) = \frac{ 2\epsilon - \sigma \Delta t }{ 2\epsilon + \sigma \Delta t } E_x^n(i,k) - \frac{ 2 \Delta t }{ 2\epsilon + \sigma \Delta t } \frac{ H_y^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_y^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z}. \] \[ E_x^{n+1}(i,k) = \frac{ 2\epsilon - \sigma \Delta t }{ 2\epsilon + \sigma \Delta t } E_x^n(i,k) - \frac{ 2 \Delta t }{ 2\epsilon + \sigma \Delta t } \frac{ H_y^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_y^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z}. \]
6.2 Aggiornare l’equazione per \(E_y\).6.2 Aggiornare l’equazione per \(E_y\).
Inizia daInizia da
\[ \sigma E_y + \epsilon \frac{\partial E_y}{\partial t} = - \frac{\partial H_z}{\partial x} + \frac{\partial H_x}{\partial z}. \] \[ \sigma E_y + \epsilon \frac{\partial E_y}{\partial t} = - \frac{\partial H_z}{\partial x} + \frac{\partial H_x}{\partial z}. \]
Discretizzare entrambi i termini derivativi sulla griglia di Yee:Discretizzare entrambi i termini derivativi sulla griglia di Yee:
\[ \sigma \frac{E_y^{n+1}(i,k) + E_y^n(i,k)}{2} + \epsilon \frac{E_y^{n+1}(i,k) - E_y^n(i,k)}{\Delta t} = - \frac{ H_z^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_z^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x} + \frac{ H_x^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_x^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z}. \] \[ \sigma \frac{E_y^{n+1}(i,k) + E_y^n(i,k)}{2} + \epsilon \frac{E_y^{n+1}(i,k) - E_y^n(i,k)}{\Delta t} = - \frac{ H_z^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_z^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x} + \frac{ H_x^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_x^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z}. \]
Riorganizzare offreRiorganizzare offre
\[ E_y^{n+1}(i,k) = \frac{ 2\epsilon - \sigma \Delta t }{ 2\epsilon + \sigma \Delta t } E_y^n(i,k) + \frac{ 2 \Delta t }{ 2\epsilon + \sigma \Delta t } \left[ - \frac{ H_z^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_z^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x} + \frac{ H_x^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_x^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z} \right]. \] \[ E_y^{n+1}(i,k) = \frac{ 2\epsilon - \sigma \Delta t }{ 2\epsilon + \sigma \Delta t } E_y^n(i,k) + \frac{ 2 \Delta t }{ 2\epsilon + \sigma \Delta t } \left[ - \frac{ H_z^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_z^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x} + \frac{ H_x^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_x^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z} \right]. \]
Questo è l’unico componente del campo elettrico nella riduzione bidimensionale che contiene contributi derivanti da due derivate distinte del campo magnetico, ed è quindi il più facile da sbagliare nella programmazione. In particolare, il segno relativo tra i termini derivati \(x\) e \(z\) deriva direttamente dallo sviluppo del rotore e non deve essere modificato.Questo è l’unico componente del campo elettrico nella riduzione bidimensionale che contiene contributi derivanti da due derivate distinte del campo magnetico, ed è quindi il più facile da sbagliare nella programmazione. In particolare, il segno relativo tra i termini derivati \(x\) e \(z\) deriva direttamente dallo sviluppo del rotore e non deve essere modificato.
6.3 Aggiornare l’equazione per \(E_z\).6.3 Aggiornare l’equazione per \(E_z\).
Inizia daInizia da
\[ \sigma E_z + \epsilon \frac{\partial E_z}{\partial t} = \frac{\partial H_y}{\partial x}. \] \[ \sigma E_z + \epsilon \frac{\partial E_z}{\partial t} = \frac{\partial H_y}{\partial x}. \]
La discretizzazione fornisceLa discretizzazione fornisce
\[ \sigma \frac{E_z^{n+1}(i,k) + E_z^n(i,k)}{2} + \epsilon \frac{E_z^{n+1}(i,k) - E_z^n(i,k)}{\Delta t} = \frac{ H_y^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_y^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x}. \] \[ \sigma \frac{E_z^{n+1}(i,k) + E_z^n(i,k)}{2} + \epsilon \frac{E_z^{n+1}(i,k) - E_z^n(i,k)}{\Delta t} = \frac{ H_y^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_y^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x}. \]
Pertanto/Di conseguenza/Per questo motivoPertanto/Di conseguenza/Per questo motivo
\[ E_z^{n+1}(i,k) = \frac{ 2\epsilon - \sigma \Delta t }{ 2\epsilon + \sigma \Delta t } E_z^n(i,k) + \frac{ 2 \Delta t }{ 2\epsilon + \sigma \Delta t } \frac{ H_y^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_y^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x}. \] \[ E_z^{n+1}(i,k) = \frac{ 2\epsilon - \sigma \Delta t }{ 2\epsilon + \sigma \Delta t } E_z^n(i,k) + \frac{ 2 \Delta t }{ 2\epsilon + \sigma \Delta t } \frac{ H_y^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_y^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x}. \]
A questo punto, sono state ottenute le equazioni discrete per l’aggiornamento del campo elettrico nella loro forma standard con smorzamento. Il passo successivo consiste nel ricavare le corrispondenti equazioni per il campo magnetico, calcolate a intervalli di tempo seminteri.A questo punto, sono state ottenute le equazioni discrete per l’aggiornamento del campo elettrico nella loro forma standard con smorzamento. Il passo successivo consiste nel ricavare le corrispondenti equazioni per il campo magnetico, calcolate a intervalli di tempo seminteri.
7. Derivazione delle equazioni per l’aggiornamento del campo magnetico7. Derivazione delle equazioni per l’aggiornamento del campo magnetico
Il campo magnetico viene aggiornato a intervalli di tempo pari a metà di un numero intero. Con \(\sigma_m = 0\), le equazioni del campo magnetico non contengono alcun termine di smorzamento, quindi le formule di aggiornamento assumono una forma più semplice e diretta. Questa parte della derivazione è algebricamente più breve rispetto al caso del campo elettrico, poiché non è necessario considerare alcun termine di conducibilità trapezoidale.Il campo magnetico viene aggiornato a intervalli di tempo pari a metà di un numero intero. Con \(\sigma_m = 0\), le equazioni del campo magnetico non contengono alcun termine di smorzamento, quindi le formule di aggiornamento assumono una forma più semplice e diretta. Questa parte della derivazione è algebricamente più breve rispetto al caso del campo elettrico, poiché non è necessario considerare alcun termine di conducibilità trapezoidale.
7.1 Aggiornare l’equazione per \(H_x\).7.1 Aggiornare l’equazione per \(H_x\).
Inizia daInizia da
\[ \mu \frac{\partial H_x}{\partial t} = \frac{\partial E_y}{\partial z}. \] \[ \mu \frac{\partial H_x}{\partial t} = \frac{\partial E_y}{\partial z}. \]
Discretizzando nel tempo tra i punti intermedi \(n-\tfrac{1}{2}\) e \(n+\tfrac{1}{2}\) e nello spazio utilizzando una differenza centrata nella direzione \(z\), si ottiene:Discretizzando nel tempo tra i punti intermedi \(n-\tfrac{1}{2}\) e \(n+\tfrac{1}{2}\) e nello spazio utilizzando una differenza centrata nella direzione \(z\), si ottiene:
\[ \mu \frac{ H_x^{n+\frac{1}{2}}(i,k+\frac{1}{2}) - H_x^{n-\frac{1}{2}}(i,k+\frac{1}{2}) }{\Delta t} = \frac{ E_y^n(i,k+1) - E_y^n(i,k) }{\Delta z}. \] \[ \mu \frac{ H_x^{n+\frac{1}{2}}(i,k+\frac{1}{2}) - H_x^{n-\frac{1}{2}}(i,k+\frac{1}{2}) }{\Delta t} = \frac{ E_y^n(i,k+1) - E_y^n(i,k) }{\Delta z}. \]
Nella notazione a indice parziale, spesso utilizzata nelle dimostrazioni, lo stesso risultato può essere espresso come:Nella notazione a indice parziale, spesso utilizzata nelle dimostrazioni, lo stesso risultato può essere espresso come:
\[ \mu \frac{ H_x^{n+\frac{1}{2}} - H_x^{n-\frac{1}{2}} }{\Delta t} = \frac{ E_y^n\!\left(k+\frac{1}{2}\right) - E_y^n\!\left(k-\frac{1}{2}\right) }{\Delta z}. \] \[ \mu \frac{ H_x^{n+\frac{1}{2}} - H_x^{n-\frac{1}{2}} }{\Delta t} = \frac{ E_y^n\!\left(k+\frac{1}{2}\right) - E_y^n\!\left(k-\frac{1}{2}\right) }{\Delta z}. \]
PertantoPertanto
\[ H_x^{n+\frac{1}{2}} = H_x^{n-\frac{1}{2}} + \frac{\Delta t}{\mu} \frac{ E_y^n\!\left(k+\frac{1}{2}\right) - E_y^n\!\left(k-\frac{1}{2}\right) }{\Delta z}. \] \[ H_x^{n+\frac{1}{2}} = H_x^{n-\frac{1}{2}} + \frac{\Delta t}{\mu} \frac{ E_y^n\!\left(k+\frac{1}{2}\right) - E_y^n\!\left(k-\frac{1}{2}\right) }{\Delta z}. \]
7.2 Aggiornare l’equazione per \(H_y\).7.2 Aggiornare l’equazione per \(H_y\).
Inizia daInizia da
\[ \mu \frac{\partial H_y}{\partial t} = \frac{\partial E_z}{\partial x} - \frac{\partial E_x}{\partial z}. \] \[ \mu \frac{\partial H_y}{\partial t} = \frac{\partial E_z}{\partial x} - \frac{\partial E_x}{\partial z}. \]
La discretizzazione fornisceLa discretizzazione fornisce
\[ \mu \frac{ H_y^{n+\frac{1}{2}}(i+\frac{1}{2},k+\frac{1}{2}) - H_y^{n-\frac{1}{2}}(i+\frac{1}{2},k+\frac{1}{2}) }{\Delta t} = \frac{ E_z^n(i+1,k+\frac{1}{2}) - E_z^n(i,k+\frac{1}{2}) }{\Delta x} - \frac{ E_x^n(i+\frac{1}{2},k+1) - E_x^n(i+\frac{1}{2},k) }{\Delta z}. \] \[ \mu \frac{ H_y^{n+\frac{1}{2}}(i+\frac{1}{2},k+\frac{1}{2}) - H_y^{n-\frac{1}{2}}(i+\frac{1}{2},k+\frac{1}{2}) }{\Delta t} = \frac{ E_z^n(i+1,k+\frac{1}{2}) - E_z^n(i,k+\frac{1}{2}) }{\Delta x} - \frac{ E_x^n(i+\frac{1}{2},k+1) - E_x^n(i+\frac{1}{2},k) }{\Delta z}. \]
Ancora una volta, utilizzando la notazione abbreviata dell’indice parziale,Ancora una volta, utilizzando la notazione abbreviata dell’indice parziale,
\[ \mu \frac{ H_y^{n+\frac{1}{2}} - H_y^{n-\frac{1}{2}} }{\Delta t} = \frac{ E_z^n\!\left(i+\frac{1}{2}\right) - E_z^n\!\left(i-\frac{1}{2}\right) }{\Delta x} - \frac{ E_x^n\!\left(k+\frac{1}{2}\right) - E_x^n\!\left(k-\frac{1}{2}\right) }{\Delta z}. \] \[ \mu \frac{ H_y^{n+\frac{1}{2}} - H_y^{n-\frac{1}{2}} }{\Delta t} = \frac{ E_z^n\!\left(i+\frac{1}{2}\right) - E_z^n\!\left(i-\frac{1}{2}\right) }{\Delta x} - \frac{ E_x^n\!\left(k+\frac{1}{2}\right) - E_x^n\!\left(k-\frac{1}{2}\right) }{\Delta z}. \]
Pertanto/Di conseguenza/Per questo motivoPertanto/Di conseguenza/Per questo motivo
\[ H_y^{n+\frac{1}{2}} = H_y^{n-\frac{1}{2}} + \frac{\Delta t}{\mu} \left[ \frac{ E_z^n\!\left(i+\frac{1}{2}\right) - E_z^n\!\left(i-\frac{1}{2}\right) }{\Delta x} - \frac{ E_x^n\!\left(k+\frac{1}{2}\right) - E_x^n\!\left(k-\frac{1}{2}\right) }{\Delta z} \right]. \] \[ H_y^{n+\frac{1}{2}} = H_y^{n-\frac{1}{2}} + \frac{\Delta t}{\mu} \left[ \frac{ E_z^n\!\left(i+\frac{1}{2}\right) - E_z^n\!\left(i-\frac{1}{2}\right) }{\Delta x} - \frac{ E_x^n\!\left(k+\frac{1}{2}\right) - E_x^n\!\left(k-\frac{1}{2}\right) }{\Delta z} \right]. \]
7.3 Aggiornamento dell’equazione per \(H_z\)7.3 Aggiornamento dell’equazione per \(H_z\)
Inizia daInizia da
\[ \mu \frac{\partial H_z}{\partial t} = - \frac{\partial E_y}{\partial x}. \] \[ \mu \frac{\partial H_z}{\partial t} = - \frac{\partial E_y}{\partial x}. \]
La discretizzazione permette di ottenereLa discretizzazione permette di ottenere
\[ \mu \frac{ H_z^{n+\frac{1}{2}}(i+\frac{1}{2},k) - H_z^{n-\frac{1}{2}}(i+\frac{1}{2},k) }{\Delta t} = - \frac{ E_y^n(i+1,k) - E_y^n(i,k) }{\Delta x}. \] \[ \mu \frac{ H_z^{n+\frac{1}{2}}(i+\frac{1}{2},k) - H_z^{n-\frac{1}{2}}(i+\frac{1}{2},k) }{\Delta t} = - \frac{ E_y^n(i+1,k) - E_y^n(i,k) }{\Delta x}. \]
In modo equivalente, utilizzando una notazione più concisa,In modo equivalente, utilizzando una notazione più concisa,
\[ \mu \frac{ H_z^{n+\frac{1}{2}} - H_z^{n-\frac{1}{2}} }{\Delta t} = - \frac{ E_y^n\!\left(i+\frac{1}{2}\right) - E_y^n\!\left(i-\frac{1}{2}\right) }{\Delta x}. \] \[ \mu \frac{ H_z^{n+\frac{1}{2}} - H_z^{n-\frac{1}{2}} }{\Delta t} = - \frac{ E_y^n\!\left(i+\frac{1}{2}\right) - E_y^n\!\left(i-\frac{1}{2}\right) }{\Delta x}. \]
PertantoPertanto
\[ H_z^{n+\frac{1}{2}} = H_z^{n-\frac{1}{2}} - \frac{\Delta t}{\mu} \frac{ E_y^n\!\left(i+\frac{1}{2}\right) - E_y^n\!\left(i-\frac{1}{2}\right) }{\Delta x}. \] \[ H_z^{n+\frac{1}{2}} = H_z^{n-\frac{1}{2}} - \frac{\Delta t}{\mu} \frac{ E_y^n\!\left(i+\frac{1}{2}\right) - E_y^n\!\left(i-\frac{1}{2}\right) }{\Delta x}. \]
Una volta completate queste sostituzioni, si possono applicare direttamente le equazioni standard di aggiornamento FDTD per il metodo leapfrog.Una volta completate queste sostituzioni, si possono applicare direttamente le equazioni standard di aggiornamento FDTD per il metodo leapfrog.
8. Equazioni finali per l’aggiornamento8. Equazioni finali per l’aggiornamento
Una volta raccolti i risultati, le equazioni di aggiornamento bidimensionali del metodo FDTD sono le seguenti:Una volta raccolti i risultati, le equazioni di aggiornamento bidimensionali del metodo FDTD sono le seguenti:
\[ E_x^{n+1}(i,k) = \frac{ 2\epsilon - \sigma \Delta t }{ 2\epsilon + \sigma \Delta t } E_x^n(i,k) - \frac{ 2 \Delta t }{ 2\epsilon + \sigma \Delta t } \frac{ H_y^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_y^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z}, \] \[ E_x^{n+1}(i,k) = \frac{ 2\epsilon - \sigma \Delta t }{ 2\epsilon + \sigma \Delta t } E_x^n(i,k) - \frac{ 2 \Delta t }{ 2\epsilon + \sigma \Delta t } \frac{ H_y^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_y^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z}, \]
\[ E_y^{n+1}(i,k) = \frac{ 2\epsilon - \sigma \Delta t }{ 2\epsilon + \sigma \Delta t } E_y^n(i,k) + \frac{ 2 \Delta t }{ 2\epsilon + \sigma \Delta t } \left[ - \frac{ H_z^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_z^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x} + \frac{ H_x^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_x^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z} \right], \] \[ E_y^{n+1}(i,k) = \frac{ 2\epsilon - \sigma \Delta t }{ 2\epsilon + \sigma \Delta t } E_y^n(i,k) + \frac{ 2 \Delta t }{ 2\epsilon + \sigma \Delta t } \left[ - \frac{ H_z^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_z^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x} + \frac{ H_x^{n+\frac{1}{2}}\!\left(i,k+\frac{1}{2}\right) - H_x^{n+\frac{1}{2}}\!\left(i,k-\frac{1}{2}\right) }{\Delta z} \right], \]
\[ E_z^{n+1}(i,k) = \frac{ 2\epsilon - \sigma \Delta t }{ 2\epsilon + \sigma \Delta t } E_z^n(i,k) + \frac{ 2 \Delta t }{ 2\epsilon + \sigma \Delta t } \frac{ H_y^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_y^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x}, \] \[ E_z^{n+1}(i,k) = \frac{ 2\epsilon - \sigma \Delta t }{ 2\epsilon + \sigma \Delta t } E_z^n(i,k) + \frac{ 2 \Delta t }{ 2\epsilon + \sigma \Delta t } \frac{ H_y^{n+\frac{1}{2}}\!\left(i+\frac{1}{2},k\right) - H_y^{n+\frac{1}{2}}\!\left(i-\frac{1}{2},k\right) }{\Delta x}, \]
\[ H_x^{n+\frac{1}{2}}(i,k+\tfrac{1}{2}) = H_x^{n-\frac{1}{2}}(i,k+\tfrac{1}{2}) + \frac{\Delta t}{\mu} \frac{ E_y^n(i,k+1) - E_y^n(i,k) }{\Delta z}, \] \[ H_x^{n+\frac{1}{2}}(i,k+\tfrac{1}{2}) = H_x^{n-\frac{1}{2}}(i,k+\tfrac{1}{2}) + \frac{\Delta t}{\mu} \frac{ E_y^n(i,k+1) - E_y^n(i,k) }{\Delta z}, \]
\[ H_y^{n+\frac{1}{2}}(i+\tfrac{1}{2},k+\tfrac{1}{2}) = H_y^{n-\frac{1}{2}}(i+\tfrac{1}{2},k+\tfrac{1}{2}) + \frac{\Delta t}{\mu} \left[ \frac{ E_z^n(i+1,k+\tfrac{1}{2}) - E_z^n(i,k+\tfrac{1}{2}) }{\Delta x} - \frac{ E_x^n(i+\tfrac{1}{2},k+1) - E_x^n(i+\tfrac{1}{2},k) }{\Delta z} \right], \] \[ H_y^{n+\frac{1}{2}}(i+\tfrac{1}{2},k+\tfrac{1}{2}) = H_y^{n-\frac{1}{2}}(i+\tfrac{1}{2},k+\tfrac{1}{2}) + \frac{\Delta t}{\mu} \left[ \frac{ E_z^n(i+1,k+\tfrac{1}{2}) - E_z^n(i,k+\tfrac{1}{2}) }{\Delta x} - \frac{ E_x^n(i+\tfrac{1}{2},k+1) - E_x^n(i+\tfrac{1}{2},k) }{\Delta z} \right], \]
\[ H_z^{n+\frac{1}{2}}(i+\tfrac{1}{2},k) = H_z^{n-\frac{1}{2}}(i+\tfrac{1}{2},k) - \frac{\Delta t}{\mu} \frac{ E_y^n(i+1,k) - E_y^n(i,k) }{\Delta x}. \] \[ H_z^{n+\frac{1}{2}}(i+\tfrac{1}{2},k) = H_z^{n-\frac{1}{2}}(i+\tfrac{1}{2},k) - \frac{\Delta t}{\mu} \frac{ E_y^n(i+1,k) - E_y^n(i,k) }{\Delta x}. \]
Esplicitata in questa forma, la logica del metodo a «salto» diventa chiara. Il campo elettrico al tempo \(n+1\) si ottiene dal campo magnetico al tempo \(n+\tfrac{1}{2}\), mentre il campo magnetico al tempo \(n+\tfrac{1}{2}\) si ottiene dal campo elettrico al tempo \(n\). Pertanto, i campi si susseguono in una sequenza alternata nel tempo.Esplicitata in questa forma, la logica del metodo a «salto» diventa chiara. Il campo elettrico al tempo \(n+1\) si ottiene dal campo magnetico al tempo \(n+\tfrac{1}{2}\), mentre il campo magnetico al tempo \(n+\tfrac{1}{2}\) si ottiene dal campo elettrico al tempo \(n\). Pertanto, i campi si susseguono in una sequenza alternata nel tempo.
9. Osservazioni sull’attuazione9. Osservazioni sull’attuazione
In un codice di simulazione, i coefficienti che moltiplicano i valori precedenti dei campi e i termini relativi alla rotazione vengono spesso calcolati in anticipo e memorizzati, soprattutto quando \(\epsilon\), \(\mu\) o \(\sigma\) variano da una cella all’altra. Ad esempio, l’aggiornamento del campo elettrico assume comunemente la seguente forma:In un codice di simulazione, i coefficienti che moltiplicano i valori precedenti dei campi e i termini relativi alla rotazione vengono spesso calcolati in anticipo e memorizzati, soprattutto quando \(\epsilon\), \(\mu\) o \(\sigma\) variano da una cella all’altra. Ad esempio, l’aggiornamento del campo elettrico assume comunemente la seguente forma:
\[ E^{n+1} = C_a E^n + C_b (\nabla \times H), \] \[ E^{n+1} = C_a E^n + C_b (\nabla \times H), \]
in cui i coefficienti locali \(C_a\) e \(C_b\) codificano i parametri del materiale e l’intervallo di tempo. Ciò rende l’implementazione più efficiente ed evita di dover ricalcolare gli stessi fattori a ogni intervallo di tempo.in cui i coefficienti locali \(C_a\) e \(C_b\) codificano i parametri del materiale e l’intervallo di tempo. Ciò rende l’implementazione più efficiente ed evita di dover ricalcolare gli stessi fattori a ogni intervallo di tempo.
È inoltre importante sottolineare che la formula sopra riportata fornisce solo lo schema di base per l’aggiornamento FDTD. Per ottenere una simulazione utilizzabile, è necessario aggiungere anche sorgenti, condizioni al contorno, strati assorbenti come gli strati perfettamente adattati (PML) e un passo temporale che soddisfi la condizione di stabilità di Courant. Nessuna di queste aggiunte modifica la struttura fondamentale del metodo a «salto di rana» derivata qui, ma ciascuna di esse modifica il modo in cui le equazioni di aggiornamento vengono applicate in punti specifici della griglia.È inoltre importante sottolineare che la formula sopra riportata fornisce solo lo schema di base per l’aggiornamento FDTD. Per ottenere una simulazione utilizzabile, è necessario aggiungere anche sorgenti, condizioni al contorno, strati assorbenti come gli strati perfettamente adattati (PML) e un passo temporale che soddisfi la condizione di stabilità di Courant. Nessuna di queste aggiunte modifica la struttura fondamentale del metodo a «salto di rana» derivata qui, ma ciascuna di esse modifica il modo in cui le equazioni di aggiornamento vengono applicate in punti specifici della griglia.
Infine, sebbene la notazione sopra riportata sia stata formulata con sufficiente precisione per poter essere applicata nella pratica, la posizione esatta di ciascun componente nello spazio dipende dalla griglia utilizzata nel codice. L’aspetto fondamentale non è tanto la tipografia in sé, quanto la coerenza: l’operatore di curl, lo sfasamento e i segni devono tutti corrispondere alla stessa disposizione delle celle di Yee in ogni punto.Infine, sebbene la notazione sopra riportata sia stata formulata con sufficiente precisione per poter essere applicata nella pratica, la posizione esatta di ciascun componente nello spazio dipende dalla griglia utilizzata nel codice. L’aspetto fondamentale non è tanto la tipografia in sé, quanto la coerenza: l’operatore di curl, lo sfasamento e i segni devono tutti corrispondere alla stessa disposizione delle celle di Yee in ogni punto.