Home Esempi Immagini dello schermo Manuale utente Logo di Bluesky YouTube ☰
OghmaNano Piattaforma di simulazione multifisica per dispositivi optoelettronici e sistemi fotonici SCARICA Guida rapida per iniziare.

Simulazione di specchi DFB e reticoli di Bragg mediante il metodo della matrice di trasferimento alle differenze finiteSimulazione di specchi DFB e reticoli di Bragg mediante il metodo della matrice di trasferimento alle differenze finite

SEM-style view of a two-period DFB grating showing the change in grating period along the structure.
Immagine ottenuta con microscopia elettronica a scansione (SEM) di una griglia DFB a due periodi, che mostra la transizione tra i due periodi della griglia.Immagine ottenuta con microscopia elettronica a scansione (SEM) di una griglia DFB a due periodi, che mostra la transizione tra i due periodi della griglia.

In questo tutorial, utilizziamo il risolutore a matrice di trasferimento basato sul metodo delle differenze finite di OghmaNano per simulare la riflessione, la trasmissione e l’assorbimento ottico di uno specchio a retroazione distribuita (DFB) o di un reticolo di Bragg. Queste strutture utilizzano una modulazione periodica dell’indice di rifrazione per produrre una forte riflessione selettiva in lunghezza d’onda attraverso la diffusione coerente distribuita. Nel nostro precedente tutorial sui filtri ottici, la struttura ottica è stata definita tramite l’epitassia del dispositivo; qui, invece, utilizziamo lo scripting Lua per costruire direttamente il reticolo, consentendo di definire strutture e geometrie ottiche arbitrarie. Il sistema di scripting è descritto in dettaglio in documentazione sull’editor di passaggi e sullo scripting. Analizziamo quindi come un reticolo DFB a due periodi determina gli spettri di riflessione, trasmissione e assorbimento risultanti.In questo tutorial, utilizziamo il risolutore a matrice di trasferimento basato sul metodo delle differenze finite di OghmaNano per simulare la riflessione, la trasmissione e l’assorbimento ottico di uno specchio a retroazione distribuita (DFB) o di un reticolo di Bragg. Queste strutture utilizzano una modulazione periodica dell’indice di rifrazione per produrre una forte riflessione selettiva in lunghezza d’onda attraverso la diffusione coerente distribuita. Nel nostro precedente tutorial sui filtri ottici, la struttura ottica è stata definita tramite l’epitassia del dispositivo; qui, invece, utilizziamo lo scripting Lua per costruire direttamente il reticolo, consentendo di definire strutture e geometrie ottiche arbitrarie. Il sistema di scripting è descritto in dettaglio in documentazione sull’editor di passaggi e sullo scripting. Analizziamo quindi come un reticolo DFB a due periodi determina gli spettri di riflessione, trasmissione e assorbimento risultanti.

1. Premessa1. Premessa

A differenza di uno specchio metallico, che riflette la luce su una singola superficie, uno specchio DFB riflette la luce attraverso ripetute diffusioni da una struttura periodica (vedere ??). Quando il periodo della griglia soddisfa la condizione di Bragg, le onde riflesse si sommano in fase, creando una banda di riflessione intensa, o una banda di interdizione. La posizione e l’ampiezza di questa banda sono controllate principalmente dal periodo della griglia, dal contrasto dell’indice di rifrazione e dal numero di periodi.A differenza di uno specchio metallico, che riflette la luce su una singola superficie, uno specchio DFB riflette la luce attraverso ripetute diffusioni da una struttura periodica (vedere ??). Quando il periodo della griglia soddisfa la condizione di Bragg, le onde riflesse si sommano in fase, creando una banda di riflessione intensa, o una banda di interdizione. La posizione e l’ampiezza di questa banda sono controllate principalmente dal periodo della griglia, dal contrasto dell’indice di rifrazione e dal numero di periodi.

La banda di riflessione di uno specchio DFB è centrata sulla lunghezza d’onda di Bragg \(\lambda_B\), che è determinata dal periodo del reticolo \(\Lambda\) e dall’indice di rifrazione effettivo \(n_{\text{eff}}\) della modalità che si propaga attraverso la struttura.La banda di riflessione di uno specchio DFB è centrata sulla lunghezza d’onda di Bragg \(\lambda_B\), che è determinata dal periodo del reticolo \(\Lambda\) e dall’indice di rifrazione effettivo \(n_{\text{eff}}\) della modalità che si propaga attraverso la struttura.

\[ m\lambda_B = 2 n_{\text{eff}} \Lambda \]

dove \(m\) rappresenta l’ordine di diffrazione. L’efficacia della griglia è descritta dal coefficiente di accoppiamento \(\kappa\), che indica quanto intensamente le onde che si propagano in avanti e all’indietro sono accoppiate dalla modulazione dell’indice di rifrazione \(\Delta n\). Per una griglia con un profilo dell’indice di rifrazione approssimativamente quadrato,dove \(m\) rappresenta l’ordine di diffrazione. L’efficacia della griglia è descritta dal coefficiente di accoppiamento \(\kappa\), che indica quanto intensamente le onde che si propagano in avanti e all’indietro sono accoppiate dalla modulazione dell’indice di rifrazione \(\Delta n\). Per una griglia con un profilo dell’indice di rifrazione approssimativamente quadrato,

\[ \kappa \approx \frac{2\,\Delta n}{\lambda_B} \]

Il valore massimo della riflettività di una griglia uniforme di lunghezza \(L\) può essere calcolato utilizzando la teoria delle modalità accoppiate, e risulta essere:Il valore massimo della riflettività di una griglia uniforme di lunghezza \(L\) può essere calcolato utilizzando la teoria delle modalità accoppiate, e risulta essere:

\[ R = \tanh^{2}(\kappa L) \]

in modo tale che l’aumento sia del contrasto dell’indice di rifrazione sia della lunghezza del reticolo faccia sì che la riflettività si avvicini all’unità. La larghezza della banda di interdizione è proporzionale al coefficiente di accoppiamento.in modo tale che l’aumento sia del contrasto dell’indice di rifrazione sia della lunghezza del reticolo faccia sì che la riflettività si avvicini all’unità. La larghezza della banda di interdizione è proporzionale al coefficiente di accoppiamento.

\[ \Delta\lambda \approx \frac{\lambda_B^{2}\,\kappa}{\pi\, n_{\text{eff}}} \]

le strutture con elevato contrasto producono bande di riflessione ampie e intense, mentre le strutture con basso contrasto producono bande più strette. Queste semplici relazioni sono sufficienti per individuare la banda di interdizione e stimarne l’intensità; è quindi necessaria una soluzione elettromagnetica completa per analizzare nel dettaglio la forma spettrale, le ondulazioni e il comportamento al di fuori della banda.le strutture con elevato contrasto producono bande di riflessione ampie e intense, mentre le strutture con basso contrasto producono bande più strette. Queste semplici relazioni sono sufficienti per individuare la banda di interdizione e stimarne l’intensità; è quindi necessaria una soluzione elettromagnetica completa per analizzare nel dettaglio la forma spettrale, le ondulazioni e il comportamento al di fuori della banda.

Il metodo classico della matrice di trasferimento presuppone una pila di strati piatti con periodicità infinita. Tuttavia, le diffrazioni reali raramente presentano una periodicità perfetta. Per gestire strutture arbitrarie, aperiodiche o intenzionalmente modificate – come la diffrazione a due periodi simulata in questo tutorial – OghmaNano applica il formalismo della matrice di trasferimento a una griglia a differenze finite. La struttura ottica viene discretizzata nello spazio e la propagazione dei campi in avanti e all’indietro viene risolta sezione per sezione sulla griglia. Questo approccio basato sulla matrice di trasferimento a differenze finite mantiene l’efficienza e la stabilità numerica del metodo classico della matrice di trasferimento, consentendo al contempo di simulare qualsiasi distribuzione spaziale dell’indice di rifrazione, comprese le diffrazioni con più di un periodo, con variazioni di periodo, con ampiezza variabile o con disordine intrinseco.Il metodo classico della matrice di trasferimento presuppone una pila di strati piatti con periodicità infinita. Tuttavia, le diffrazioni reali raramente presentano una periodicità perfetta. Per gestire strutture arbitrarie, aperiodiche o intenzionalmente modificate – come la diffrazione a due periodi simulata in questo tutorial – OghmaNano applica il formalismo della matrice di trasferimento a una griglia a differenze finite. La struttura ottica viene discretizzata nello spazio e la propagazione dei campi in avanti e all’indietro viene risolta sezione per sezione sulla griglia. Questo approccio basato sulla matrice di trasferimento a differenze finite mantiene l’efficienza e la stabilità numerica del metodo classico della matrice di trasferimento, consentendo al contempo di simulare qualsiasi distribuzione spaziale dell’indice di rifrazione, comprese le diffrazioni con più di un periodo, con variazioni di periodo, con ampiezza variabile o con disordine intrinseco.

2. Primi passi2. Primi passi

Per avviare la prima simulazione DFB, aprire la finestra «Nuova simulazione» dalla barra degli strumenti «File» nel menu principale (vedere ??). Selezionare il gruppo «Metodo della matrice di trasferimento» e fare doppio clic sull’esempio di reticolo di Bragg (1D) (vedere ??). Quindi, salvare la simulazione in una cartella sul disco rigido. A questo punto, si aprirà la finestra principale (vedere ?? e ??), che mostrerà un reticolo di Bragg a due periodi. L’esempio carica un reticolo di Bragg a due periodi. La distanza tra i reticoli più stretti è di 140 nm, mentre la distanza tra i reticoli leggermente più larghi è di 218 nm. Il reticolo è costituito da SiO2, mentre il mezzo circostante è, in questo esempio, l’aria. Una volta aperta la simulazione, è possibile esaminare la struttura nella finestra principale (vedere ??).Per avviare la prima simulazione DFB, aprire la finestra «Nuova simulazione» dalla barra degli strumenti «File» nel menu principale (vedere ??). Selezionare il gruppo «Metodo della matrice di trasferimento» e fare doppio clic sull’esempio di reticolo di Bragg (1D) (vedere ??). Quindi, salvare la simulazione in una cartella sul disco rigido. A questo punto, si aprirà la finestra principale (vedere ?? e ??), che mostrerà un reticolo di Bragg a due periodi. L’esempio carica un reticolo di Bragg a due periodi. La distanza tra i reticoli più stretti è di 140 nm, mentre la distanza tra i reticoli leggermente più larghi è di 218 nm. Il reticolo è costituito da SiO2, mentre il mezzo circostante è, in questo esempio, l’aria. Una volta aperta la simulazione, è possibile esaminare la struttura nella finestra principale (vedere ??).

New simulation window showing the available device types.
La nuova finestra di simulazione. Fate doppio clic su «Metodo della matrice di trasferimento» per visualizzare gli esempi di reticoli.La nuova finestra di simulazione. Fate doppio clic su «Metodo della matrice di trasferimento» per visualizzare gli esempi di reticoli.
Transfer matrix method examples with the Bragg grating (1D) example highlighted.
Il gruppo che utilizza il metodo della matrice di trasferimento, con un esempio che illustra l’applicazione alla griglia di Bragg (1D).Il gruppo che utilizza il metodo della matrice di trasferimento, con un esempio che illustra l’applicazione alla griglia di Bragg (1D).
Main window showing the two-period Bragg grating device structure.
La finestra principale di OghmaNano mostra la griglia di Bragg a due periodi.La finestra principale di OghmaNano mostra la griglia di Bragg a due periodi.

3. Esecuzione della simulazione DFB.3. Esecuzione della simulazione DFB.

?? mostra lo stesso dispositivo da un punto di vista leggermente diverso. Cliccare sul pulsante «Esegui simulazione» per calcolare gli spettri (vedere ??); una volta completata l’operazione, i risultati vengono visualizzati nella scheda «Output» (vedere ??). Quando si clicca su «Esegui simulazione», il risolutore inizia a elaborare lo spettro ottico, calcolando una lunghezza d’onda alla volta (vedere ??). Ogni linea colorata nel terminale (Solve optical slice at … nm) corrisponde a una diversa lunghezza d’onda in fase di calcolo. Come descritto in precedenza, il metodo utilizzato consiste essenzialmente in un metodo a matrice di trasferimento proiettato su una griglia a differenze finite, che consente di gestire una griglia con un numero arbitrario di periodi.?? mostra lo stesso dispositivo da un punto di vista leggermente diverso. Cliccare sul pulsante «Esegui simulazione» per calcolare gli spettri (vedere ??); una volta completata l’operazione, i risultati vengono visualizzati nella scheda «Output» (vedere ??). Quando si clicca su «Esegui simulazione», il risolutore inizia a elaborare lo spettro ottico, calcolando una lunghezza d’onda alla volta (vedere ??). Ogni linea colorata nel terminale (Solve optical slice at … nm) corrisponde a una diversa lunghezza d’onda in fase di calcolo. Come descritto in precedenza, il metodo utilizzato consiste essenzialmente in un metodo a matrice di trasferimento proiettato su una griglia a differenze finite, che consente di gestire una griglia con un numero arbitrario di periodi.

Main window showing the Bragg grating from a slightly different viewpoint.
Lo stesso dispositivo, ripreso da un angolo di ripresa leggermente diverso.Lo stesso dispositivo, ripreso da un angolo di ripresa leggermente diverso.
Terminal showing the finite-difference transfer matrix solver stepping through wavelengths.
Il risolutore analizza lo spettro passo dopo passo; ogni colore indica una diversa lunghezza d’onda che viene elaborata.Il risolutore analizza lo spettro passo dopo passo; ogni colore indica una diversa lunghezza d’onda che viene elaborata.
Output tab showing the files and folders generated by the simulation.
Scheda «Risultati» visualizzata al termine della simulazione, con i file e le cartelle generati.Scheda «Risultati» visualizzata al termine della simulazione, con i file e le cartelle generati.

3. Analisi dei risultati.3. Analisi dei risultati.

Una volta completata la simulazione, aprire la scheda «Risultati» (vedere ??) per visualizzare i file generati dal calcolo. I principali risultati utilizzati in questo tutorial sono device.csv, la cartella optical_output e la cartella optical_snapshots. Iniziare aprendo device.csv (vedere ??). Questo visualizza una griglia tridimensionale del dispositivo, come la vede il risolutore, consentendo di verificare che la geometria della griglia sia stata generata e suddivisa in elementi correttamente, prima di analizzare i risultati ottici.Una volta completata la simulazione, aprire la scheda «Risultati» (vedere ??) per visualizzare i file generati dal calcolo. I principali risultati utilizzati in questo tutorial sono device.csv, la cartella optical_output e la cartella optical_snapshots. Iniziare aprendo device.csv (vedere ??). Questo visualizza una griglia tridimensionale del dispositivo, come la vede il risolutore, consentendo di verificare che la geometria della griglia sia stata generata e suddivisa in elementi correttamente, prima di analizzare i risultati ottici.

Three-dimensional triangular mesh of the Bragg grating device as seen by the solver.
Rappresentazione tridimensionale a maglie della struttura del dispositivo, che mostra come il risolutore interpreta la struttura a griglia.Rappresentazione tridimensionale a maglie della struttura del dispositivo, che mostra come il risolutore interpreta la struttura a griglia.
Generation rate showing where photons are absorbed throughout the grating structure.
Tasso di generazione, che indica i punti in cui la luce viene assorbita all’interno della griglia.Tasso di generazione, che indica i punti in cui la luce viene assorbita all’interno della griglia.
Reflected light spectrum showing clear bands where the grating reflects light.
Luce riflessa, che mostra le bande di riflessione prodotte dalla griglia.Luce riflessa, che mostra le bande di riflessione prodotte dalla griglia.
Transmitted light spectrum showing the pass bands of the grating.
Luce trasmessa, che evidenzia le corrispondenti bande di trasmissione.Luce trasmessa, che evidenzia le corrispondenti bande di trasmissione.

Successivamente, fate doppio clic su «optical_output» per aprire l’editor di simulazione ottica. La scheda «Tasso di generazione» (vedere ??) indica dove i fotoni vengono assorbiti all’interno della struttura. Le aree con scarsa o nulla assorbimento corrispondono principalmente all’aria circostante, mentre un’assorbimento più intenso si verifica all’interno della griglia.Successivamente, fate doppio clic su «optical_output» per aprire l’editor di simulazione ottica. La scheda «Tasso di generazione» (vedere ??) indica dove i fotoni vengono assorbiti all’interno della struttura. Le aree con scarsa o nulla assorbimento corrispondono principalmente all’aria circostante, mentre un’assorbimento più intenso si verifica all’interno della griglia.

La scheda «Luce riflessa» (vedere ??) mostra le lunghezze d’onda riflesse dalla griglia, evidenziando le chiare bande di riflessione separate da aree a minore riflettività. La scheda «Luce trasmessa» (vedere ??) mostra lo spettro di trasmissione corrispondente, con un’elevata trasmissione nelle aree in cui la riflessione è bassa.La scheda «Luce riflessa» (vedere ??) mostra le lunghezze d’onda riflesse dalla griglia, evidenziando le chiare bande di riflessione separate da aree a minore riflettività. La scheda «Luce trasmessa» (vedere ??) mostra lo spettro di trasmissione corrispondente, con un’elevata trasmissione nelle aree in cui la riflessione è bassa.

4. Modifica dei materiali ottici4. Modifica dei materiali ottici

I materiali ottici utilizzati per la griglia possono essere controllati e modificati tramite l’editor di assorbimento, che si apre dalla scheda «Struttura dispositivo» nella finestra principale. In questo modo si apre l’editor di assorbimento (vedere ?? e ??), che mostra l’indice di rifrazione \(n\) e i dati di assorbimento \(\alpha\) sia del SiO2 che costituisce la griglia, sia dell’aria circostante. La scheda «Oggetto» (vedere ??) visualizza il materiale della griglia stessa (Oxides/SiO2), mentre la scheda «Ambiente» (vedere ??) visualizza il mezzo circostante (Generic/air). Qui è possibile modificare i materiali, selezionando quelli desiderati, facendo clic sul pulsante … nel campo «Materiale ottico».I materiali ottici utilizzati per la griglia possono essere controllati e modificati tramite l’editor di assorbimento, che si apre dalla scheda «Struttura dispositivo» nella finestra principale. In questo modo si apre l’editor di assorbimento (vedere ?? e ??), che mostra l’indice di rifrazione \(n\) e i dati di assorbimento \(\alpha\) sia del SiO2 che costituisce la griglia, sia dell’aria circostante. La scheda «Oggetto» (vedere ??) visualizza il materiale della griglia stessa (Oxides/SiO2), mentre la scheda «Ambiente» (vedere ??) visualizza il mezzo circostante (Generic/air). Qui è possibile modificare i materiali, selezionando quelli desiderati, facendo clic sul pulsante … nel campo «Materiale ottico».

Absorption editor showing the refractive index and absorption of the SiO2 grating material.
La scheda «Oggetto» mostra i dati \(n\) e \(\alpha\) della griglia di SiO2.La scheda «Oggetto» mostra i dati \(n\) e \(\alpha\) della griglia di SiO2.
Absorption editor showing the refractive index and absorption of the surrounding air.
La scheda «Mondo» mostra i dati relativi a \(n\) e \(\alpha\) dell’aria circostante.La scheda «Mondo» mostra i dati relativi a \(n\) e \(\alpha\) dell’aria circostante.

5. Modifica della struttura della griglia5. Modifica della struttura della griglia

Se si fa clic con il pulsante destro del mouse sulla struttura DFB, vengono offerte diverse opzioni, tra cui l’editor della griglia e l’editor dei cristalli (vedere ??). Cliccando sull’editor della griglia (vedere ??), vengono visualizzate le dimensioni della griglia stessa. È importante ricordare che il metodo della matrice di trasferimento è un metodo unidimensionale, quindi non è realmente rilevante quali siano le altre dimensioni della struttura: l’unica cosa che conta è la larghezza lungo l’asse di propagazione, non necessariamente le altre dimensioni della griglia. Se si utilizzasse il metodo FDTD in due dimensioni, l’altra dimensione diventerebbe più importante.Se si fa clic con il pulsante destro del mouse sulla struttura DFB, vengono offerte diverse opzioni, tra cui l’editor della griglia e l’editor dei cristalli (vedere ??). Cliccando sull’editor della griglia (vedere ??), vengono visualizzate le dimensioni della griglia stessa. È importante ricordare che il metodo della matrice di trasferimento è un metodo unidimensionale, quindi non è realmente rilevante quali siano le altre dimensioni della struttura: l’unica cosa che conta è la larghezza lungo l’asse di propagazione, non necessariamente le altre dimensioni della griglia. Se si utilizzasse il metodo FDTD in due dimensioni, l’altra dimensione diventerebbe più importante.

Right-click menu on the DFB structure showing the Mesh editor and Crystal editor options.
Facendo clic con il pulsante destro del mouse sulla struttura, si aprono le opzioni dell’editor di mesh e dell’editor di cristalli.Facendo clic con il pulsante destro del mouse sulla struttura, si aprono le opzioni dell’editor di mesh e dell’editor di cristalli.
Mesh editor showing the box dimensions of the grating.
L’editor della griglia mostra le dimensioni del rettangolo. Solo la larghezza lungo l’asse di propagazione influisce sul risultato monodimensionale.L’editor della griglia mostra le dimensioni del rettangolo. Solo la larghezza lungo l’asse di propagazione influisce sul risultato monodimensionale.

Selezionate l’editor Crystal dallo stesso menu (vedere ??) per visualizzare lo script Lua utilizzato per generare la struttura a reticolo. Invece di definire manualmente ogni elemento del reticolo, l’intera struttura viene creata tramite un programma. Cliccando su «Aggiorna», lo script viene eseguito nuovamente e la geometria viene rigenerata. In questo esempio, math.random introduce una piccola variazione nella posizione, quindi il reticolo cambia leggermente ogni volta che viene rigenerato. Questo effetto è visibile in ??, dove la geometria del reticolo viene aggiornata ogni due secondi per illustrare la variazione casuale introdotta nel periodo.Selezionate l’editor Crystal dallo stesso menu (vedere ??) per visualizzare lo script Lua utilizzato per generare la struttura a reticolo. Invece di definire manualmente ogni elemento del reticolo, l’intera struttura viene creata tramite un programma. Cliccando su «Aggiorna», lo script viene eseguito nuovamente e la geometria viene rigenerata. In questo esempio, math.random introduce una piccola variazione nella posizione, quindi il reticolo cambia leggermente ogni volta che viene rigenerato. Questo effetto è visibile in ??, dove la geometria del reticolo viene aggiornata ogni due secondi per illustrare la variazione casuale introdotta nel periodo.

Crystal editor showing the Lua script used to generate the DFB grating structure.
L’editor di Crystal mostra lo script Lua utilizzato per generare la griglia.L’editor di Crystal mostra lo script Lua utilizzato per generare la griglia.
clear_points()

N = 200
radius = 1.5e-6
pitch = 3e-6
turns = 6

for i = 1, N do
t = (i / N) * turns * 2 * math.pi

-- first helix strand
x1 = radius * math.cos(t)
y1 = radius * math.sin(t)
z1 = (i / N) * turns * pitch
add_point(x1, y1, z1)

-- second helix strand offset by pi (opposite side)
x2 = radius * math.cos(t + math.pi)
y2 = radius * math.sin(t + math.pi)
add_point(x2, y2, z1)

end 
Per facilitare la copia e l’incollatura, qui di seguito è disponibile una versione testuale dello script Lua.Per facilitare la copia e l’incollatura, qui di seguito è disponibile una versione testuale dello script Lua.
Two-period DFB grating with a small random variation added to the grating period to represent fabrication inaccuracies.
Reticolo DFB a due periodi, con una piccola variazione casuale aggiunta al periodo del reticolo per rappresentare le imprecisioni introdotte durante la fabbricazione.Reticolo DFB a due periodi, con una piccola variazione casuale aggiunta al periodo del reticolo per rappresentare le imprecisioni introdotte durante la fabbricazione.

Lo script inizia eliminando tutti i punti generati in precedenza, quindi definisce i parametri che controllano la geometria. Il ciclo principale for esegue un’iterazione sulla struttura, elaborando un elemento alla volta. In ogni iterazione, il valore corrente di i viene utilizzato per calcolare le coordinate della parte successiva della geometria, e queste coordinate vengono quindi aggiunte alla struttura utilizzando add_point(). All’interno dello stesso ciclo viene calcolato un secondo insieme di coordinate per generare il punto corrispondente sul lato opposto. Nell’esempio della griglia DFB, viene utilizzata la stessa logica per posizionare ciascun elemento della griglia in sequenza. Modificando i parametri o aggiungendo termini come math.random(), lo script può generare periodi, dimensioni o variazioni controllate diverse nella griglia.Lo script inizia eliminando tutti i punti generati in precedenza, quindi definisce i parametri che controllano la geometria. Il ciclo principale for esegue un’iterazione sulla struttura, elaborando un elemento alla volta. In ogni iterazione, il valore corrente di i viene utilizzato per calcolare le coordinate della parte successiva della geometria, e queste coordinate vengono quindi aggiunte alla struttura utilizzando add_point(). All’interno dello stesso ciclo viene calcolato un secondo insieme di coordinate per generare il punto corrispondente sul lato opposto. Nell’esempio della griglia DFB, viene utilizzata la stessa logica per posizionare ciascun elemento della griglia in sequenza. Modificando i parametri o aggiungendo termini come math.random(), lo script può generare periodi, dimensioni o variazioni controllate diverse nella griglia.

6. Scelta della direzione dell’illuminazione6. Scelta della direzione dell’illuminazione

Una caratteristica utile di OghmaNano è che il calcolo della matrice di trasferimento non è limitato a una singola direzione di propagazione. In molte implementazioni, il calcolo viene applicato solo lungo lo strato di materiali, ad esempio durante la crescita epitassiale del dispositivo. In OghmaNano, è invece possibile selezionare esplicitamente la direzione dell’illuminazione, consentendo di simulare la stessa struttura lungo uno qualsiasi degli assi principali.Una caratteristica utile di OghmaNano è che il calcolo della matrice di trasferimento non è limitato a una singola direzione di propagazione. In molte implementazioni, il calcolo viene applicato solo lungo lo strato di materiali, ad esempio durante la crescita epitassiale del dispositivo. In OghmaNano, è invece possibile selezionare esplicitamente la direzione dell’illuminazione, consentendo di simulare la stessa struttura lungo uno qualsiasi degli assi principali.

Per scegliere la direzione dell’illuminazione, aprire la scheda «Ottica» (vedere ??) e selezionare «Sorgenti luminose» per aprire l’editor delle sorgenti luminose (vedere ??). Nella scheda «Configura», utilizzare il campo «Illumina da» per selezionare x0, x1, y0, y1, z0 o z1.Per scegliere la direzione dell’illuminazione, aprire la scheda «Ottica» (vedere ??) e selezionare «Sorgenti luminose» per aprire l’editor delle sorgenti luminose (vedere ??). Nella scheda «Configura», utilizzare il campo «Illumina da» per selezionare x0, x1, y0, y1, z0 o z1.

Optical ribbon in the OghmaNano main window showing the Light Sources control.
La fascia ottica. Selezionare le sorgenti luminose per configurare l’illuminazione.La fascia ottica. Selezionare le sorgenti luminose per configurare l’illuminazione.
Light source editor showing the Illuminate from setting used to select the propagation direction.
L’editor delle sorgenti luminose. L’opzione «Illuminate from field» consente di selezionare la direzione dell’illuminazione.L’editor delle sorgenti luminose. L’opzione «Illuminate from field» consente di selezionare la direzione dell’illuminazione.
DFB grating illuminated from the z0 side, with the light source positioned at the front of the structure.
Illuminazione proveniente da z0, con la sorgente luminosa posizionata a un’estremità della griglia.Illuminazione proveniente da z0, con la sorgente luminosa posizionata a un’estremità della griglia.
DFB grating illuminated from the z1 side, with the light source positioned at the opposite end of the structure.
Illuminazione proveniente da z1, con la fonte luminosa spostata all’estremità opposta.Illuminazione proveniente da z1, con la fonte luminosa spostata all’estremità opposta.

In questo esempio, modificando l’illuminazione da z0 (vedere ??) a z1 (vedere ??), si sposta semplicemente la sorgente luminosa sul lato opposto della griglia. Per questa struttura reciproca, la risposta ottica è la stessa indipendentemente dalla direzione, ma questa opzione è utile quando si studiano strutture asimmetriche o si confronta la propagazione da lati opposti.In questo esempio, modificando l’illuminazione da z0 (vedere ??) a z1 (vedere ??), si sposta semplicemente la sorgente luminosa sul lato opposto della griglia. Per questa struttura reciproca, la risposta ottica è la stessa indipendentemente dalla direzione, ma questa opzione è utile quando si studiano strutture asimmetriche o si confronta la propagazione da lati opposti.

7. Conclusioni7. Conclusioni

In questo tutorial, abbiamo utilizzato OghmaNano per simulare uno specchio a retroazione distribuita (DFB) e un reticolo di Bragg mediante il metodo della matrice di trasferimento alle differenze finite. Abbiamo imparato a generare un reticolo a due periodi utilizzando lo scripting Lua, a introdurre una casualità controllata per rappresentare le tolleranze di fabbricazione, a eseguire il calcolo ottico e a interpretare gli spettri di riflessione, trasmissione e assorbimento risultanti. Abbiamo anche visto come la direzione di illuminazione può essere selezionata lungo uno qualsiasi degli assi principali, anziché essere limitata a una direzione epitassiale fissa. Queste tecniche possono essere utilizzate per studiare specchi laser DFB e DBR, reticoli di Bragg in fibra ottica, filtri ottici, specchi dielettrici e altre strutture fotoniche selettive in lunghezza d’onda, nonché reticoli più complessi contenenti più periodi, disordine o geometrie personalizzate.In questo tutorial, abbiamo utilizzato OghmaNano per simulare uno specchio a retroazione distribuita (DFB) e un reticolo di Bragg mediante il metodo della matrice di trasferimento alle differenze finite. Abbiamo imparato a generare un reticolo a due periodi utilizzando lo scripting Lua, a introdurre una casualità controllata per rappresentare le tolleranze di fabbricazione, a eseguire il calcolo ottico e a interpretare gli spettri di riflessione, trasmissione e assorbimento risultanti. Abbiamo anche visto come la direzione di illuminazione può essere selezionata lungo uno qualsiasi degli assi principali, anziché essere limitata a una direzione epitassiale fissa. Queste tecniche possono essere utilizzate per studiare specchi laser DFB e DBR, reticoli di Bragg in fibra ottica, filtri ottici, specchi dielettrici e altre strutture fotoniche selettive in lunghezza d’onda, nonché reticoli più complessi contenenti più periodi, disordine o geometrie personalizzate.