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.

Editor di hardwareEditor di hardware

OghmaNano hardware ribbon showing the Hardware editor button
Apertura dell'editor hardware.Apertura dell'editor hardware.

Tutti i programmi per computer, incluso OghmaNano, vengono eseguiti su hardware fisico. Esistono numerose combinazioni di hardware che possono essere presenti in un computer: alcuni computer hanno un numero elevato di core della CPU, mentre altri ne hanno solo uno. Allo stesso modo, i computer sono dotati di quantità diverse di memoria, spazio su disco rigido e schede grafiche (GPU). Per aiutare l’utente a ottenere il massimo da OghmaNano, è disponibile un editor hardware in cui l’utente può configurare il comportamento di OghmaNano su un determinato computer. È possibile accedervi tramite la finestra della scheda di simulazione (??).Tutti i programmi per computer, incluso OghmaNano, vengono eseguiti su hardware fisico. Esistono numerose combinazioni di hardware che possono essere presenti in un computer: alcuni computer hanno un numero elevato di core della CPU, mentre altri ne hanno solo uno. Allo stesso modo, i computer sono dotati di quantità diverse di memoria, spazio su disco rigido e schede grafiche (GPU). Per aiutare l’utente a ottenere il massimo da OghmaNano, è disponibile un editor hardware in cui l’utente può configurare il comportamento di OghmaNano su un determinato computer. È possibile accedervi tramite la finestra della scheda di simulazione (??).

Se si fa clic su questo elemento, si aprirà la finestra dell’editor hardware (??).Se si fa clic su questo elemento, si aprirà la finestra dell’editor hardware (??).

La finestra delle impostazioni hardware è composta da diverse schede che consentono all’utente di modificare la configurazione e di eseguire test di performance sul dispositivo.La finestra delle impostazioni hardware è composta da diverse schede che consentono all’utente di modificare la configurazione e di eseguire test di performance sul dispositivo.

Scheda di configurazione CPU/GPUScheda di configurazione CPU/GPU

OghmaNano hardware editor window
La finestra dell’editor hardware.La finestra dell’editor hardware.

Questa scheda viene utilizzata per configurare il modo in cui OghmaNano interagisce con la GPU e la CPU, come descritto nella tabella seguente. Come spiegato in dettaglio in altre sezioni di questo manuale, OghmaNano è composto da due parti: oghma_core.exe, che rappresenta il motore di calcolo, e oghma_gui.exe, che rappresenta l’interfaccia utente grafica. In questa sezione è possibile regolare finemente il comportamento di entrambe le parti del modello.Questa scheda viene utilizzata per configurare il modo in cui OghmaNano interagisce con la GPU e la CPU, come descritto nella tabella seguente. Come spiegato in dettaglio in altre sezioni di questo manuale, OghmaNano è composto da due parti: oghma_core.exe, che rappresenta il motore di calcolo, e oghma_gui.exe, che rappresenta l’interfaccia utente grafica. In questa sezione è possibile regolare finemente il comportamento di entrambe le parti del modello.

Cache di NewtonCache di Newton

OghmaNano Newton cache editor window
L’editor della cache di Newton.L’editor della cache di Newton.

Quando si eseguono simulazioni con un numero elevato di equazioni differenziali ordinarie (ODE), come nel caso di dispositivi unidimensionali con un gran numero di stati di trappola e di punti spaziali, oppure quando si eseguono simulazioni di transistor organici a effetto di campo bidimensionali (OFET), ogni passo di tensione può richiedere un tempo considerevole per essere calcolato. Questo perché il risolutore deve risolvere ogni passo di tensione utilizzando il metodo di Newton fino a quando non raggiunge la convergenza. Per ogni passo del risolutore, è necessario calcolare la matrice Jacobiana, invertirla, moltiplicarla per i residui e calcolare gli aggiornamenti di tutte le variabili del risolutore. Questo può richiedere un tempo significativo per ogni passo (2000 ms). Un modo per evitare questo problema è memorizzare i risultati precedentemente calcolati su disco e, quando l'utente richiede al risolutore di calcolare un problema già risolto, recuperare il risultato invece di ricalcolarlo. Questo è molto utile nella progettazione di OLED, in cui si cerca di ottimizzare la struttura ottica del dispositivo, lasciando inalterata la struttura elettrica. È possibile eseguire nuove simulazioni ottiche utilizzando soluzioni elettriche già precalcolate. Le opzioni di configurazione sono visualizzate nella tabella seguente.Quando si eseguono simulazioni con un numero elevato di equazioni differenziali ordinarie (ODE), come nel caso di dispositivi unidimensionali con un gran numero di stati di trappola e di punti spaziali, oppure quando si eseguono simulazioni di transistor organici a effetto di campo bidimensionali (OFET), ogni passo di tensione può richiedere un tempo considerevole per essere calcolato. Questo perché il risolutore deve risolvere ogni passo di tensione utilizzando il metodo di Newton fino a quando non raggiunge la convergenza. Per ogni passo del risolutore, è necessario calcolare la matrice Jacobiana, invertirla, moltiplicarla per i residui e calcolare gli aggiornamenti di tutte le variabili del risolutore. Questo può richiedere un tempo significativo per ogni passo (2000 ms). Un modo per evitare questo problema è memorizzare i risultati precedentemente calcolati su disco e, quando l'utente richiede al risolutore di calcolare un problema già risolto, recuperare il risultato invece di ricalcolarlo. Questo è molto utile nella progettazione di OLED, in cui si cerca di ottimizzare la struttura ottica del dispositivo, lasciando inalterata la struttura elettrica. È possibile eseguire nuove simulazioni ottiche utilizzando soluzioni elettriche già precalcolate. Le opzioni di configurazione sono visualizzate nella tabella seguente.

L’utilizzo della cache di Newton comporta un certo costo in termini di risorse, pertanto la consiglierei solo quando la risoluzione del problema elettrico risulta particolarmente lenta. Dal punto di vista tecnico, la cache di Newton funziona calcolando la somma MD5 dei livelli di Fermi e dei potenziali per generare un hash del problema elettrico. Questo hash viene quindi confrontato con i dati presenti sul disco. Se viene trovata una soluzione precalcolata, i livelli di Fermi/potenziali vengono aggiornati con i valori presenti sul disco. La cache viene memorizzata in «oghma_local cache», e ogni soluzione precalcolata viene salvata come un nuovo file binario. Ogni esecuzione della simulazione genera un file di indice in cui vengono memorizzate tutte le somme MD5 relative a tale simulazione. Una volta che la cache è piena, OghmaNano elimina i risultati della simulazione in blocchi, in base ai file di indice.L’utilizzo della cache di Newton comporta un certo costo in termini di risorse, pertanto la consiglierei solo quando la risoluzione del problema elettrico risulta particolarmente lenta. Dal punto di vista tecnico, la cache di Newton funziona calcolando la somma MD5 dei livelli di Fermi e dei potenziali per generare un hash del problema elettrico. Questo hash viene quindi confrontato con i dati presenti sul disco. Se viene trovata una soluzione precalcolata, i livelli di Fermi/potenziali vengono aggiornati con i valori presenti sul disco. La cache viene memorizzata in «oghma_local cache», e ogni soluzione precalcolata viene salvata come un nuovo file binario. Ogni esecuzione della simulazione genera un file di indice in cui vengono memorizzate tutte le somme MD5 relative a tale simulazione. Una volta che la cache è piena, OghmaNano elimina i risultati della simulazione in blocchi, in base ai file di indice.

Test comparativo dell’hardwareTest comparativo dell’hardware

OghmaNano hardware benchmark results window
Esecuzione di un test di performance per l’hardware.Esecuzione di un test di performance per l’hardware.

Nell’angolo in alto a sinistra della finestra delle impostazioni hardware (??) è presente un pulsante denominato «Test delle prestazioni hardware». Se si fa clic su questo pulsante, OghmaNano eseguirà un test delle prestazioni dell’hardware; i risultati di tale test possono essere visualizzati in (??). Questo test valuta la capacità della CPU di calcolare funzioni trigonometriche (seno, esponenziale) e di allocare/deallocare memoria in blocchi. Mostra il tempo necessario per eseguire alcune migliaia di operazioni, oltre a un valore R (chiamato anche Roderick). Questo valore è definito come R = tempo necessario per eseguire il calcolo sul proprio PC / tempo necessario per eseguire il calcolo sul mio PC. Pertanto, valori inferiori indicano che il proprio PC è più veloce del mio. Il mio PC è un Intel(R) Core(TM) i7-4900MQ con una frequenza di 2,80 GHz, montato su un laptop Lenovo ThinkPad del 2017. Quindi, la maggior parte dei computer moderni dovrebbe essere più veloce. Se si riscontra una buona performance della CPU, ma le simulazioni vengono eseguite più lentamente rispetto ai miei video su YouTube, ciò è quasi certamente dovuto a una scarsa velocità di I/O, causata da software antivirus, dall’archiviazione delle simulazioni su OneDrive, dall’utilizzo di unità di rete o dall’utilizzo di dispositivi di archiviazione USB lenti, ecc.Nell’angolo in alto a sinistra della finestra delle impostazioni hardware (??) è presente un pulsante denominato «Test delle prestazioni hardware». Se si fa clic su questo pulsante, OghmaNano eseguirà un test delle prestazioni dell’hardware; i risultati di tale test possono essere visualizzati in (??). Questo test valuta la capacità della CPU di calcolare funzioni trigonometriche (seno, esponenziale) e di allocare/deallocare memoria in blocchi. Mostra il tempo necessario per eseguire alcune migliaia di operazioni, oltre a un valore R (chiamato anche Roderick). Questo valore è definito come R = tempo necessario per eseguire il calcolo sul proprio PC / tempo necessario per eseguire il calcolo sul mio PC. Pertanto, valori inferiori indicano che il proprio PC è più veloce del mio. Il mio PC è un Intel(R) Core(TM) i7-4900MQ con una frequenza di 2,80 GHz, montato su un laptop Lenovo ThinkPad del 2017. Quindi, la maggior parte dei computer moderni dovrebbe essere più veloce. Se si riscontra una buona performance della CPU, ma le simulazioni vengono eseguite più lentamente rispetto ai miei video su YouTube, ciò è quasi certamente dovuto a una scarsa velocità di I/O, causata da software antivirus, dall’archiviazione delle simulazioni su OneDrive, dall’utilizzo di unità di rete o dall’utilizzo di dispositivi di archiviazione USB lenti, ecc.