Slurm e l'esecuzione parallela di programmi di calcolo
Utilizzo "banale" della programmazione parallela per effettuare un'analisi parametrica
interessante: l'esempio delle sezioni di Poincaré per il modello di Hénon e Heiles.



1 Framework

1.1 Sezione di Poincaré

La sezione di Poincaré è un utile metodo per investigare le proprietà di un sistema dinamico. Sia data l’equazione differenziale autonoma in n

˙x = f(x)

e sia Σ n una ipersuperficie di dimensione n 1 ortogonale al flusso Φ t(x0) con x0 Σ condizione iniziale del sistema. Si definisce sezione di Poincaré l’applicazione

           Π
Σ ∋ xi −−−− −−−→  Π (xi) = ΦTi (x0) ∈ Σ

dove Ti è il tempo di ritorno iesimo del flusso partito da x0 (e.g. T1 è il tempo del primo ritorno del flusso su Σ), con la condizione aggiuntiva che il verso della derivata (Ti) = f(xi) è di segno concorde con quello iniziale (0) = f(x0) rispetto alla normale all’ipersuperficie Σ.


PIC

Figura 1: Rappresentazione schematica della sezione di Poincaré. Con riferimento alla definizione nel testo, si ha che Π(P0) = P1, Π(P1) = P2, Questa figura è inclusa nelle presenti note su gentile concessione del Prof. A. Giorgilli.


1.2 Modello di Hénon e Heiles

Il modello di Hénon e Heiles è descritto dall’Hamiltoniana

          ω             ω                    1
H (p,q) = -1-(p21 + q21) +-2-(p22 + q22) + q21q2 −-q32  .
           2             2                   3

Siamo nel caso n = 4; fissando il valore dell’energia possiamo ottenere delle superfici di dimensione 3, al fine di studiare successivamente le sezioni di Poincaré del modello. Facciamo qualche osservazione sul comportamento di questo modello:

2 Simulazioni numeriche

Lo studio delle sezioni di Poincaré del modello è stato effettuato utilizzando contemporaneamente 15 core del sistema HPE SuperDome Flex, che è alloggiato nel Centro di Calcolo del Dipartimento di Matematica ed è nominato emmy.

Utilizzando tale infrastruttura, è stato possibile eseguire in parallelo un programma scritto in linguaggio C, che calcola le sezioni di Poincaré per 15 valori diversi delle condizioni iniziali, a fissato livello di energia E = 0.039344. Il suddetto programma e tutti i file che lo mettono in condizione di funzionare correttamente sono inclusi sono stati archiviati e compressi nel file test-slurm-paral.zip. In fase di decompressione, viene creata la cartella test-slurm-paral, al cui interno compare anche il file README.txt, che spiega quali sono i comandi che lanciano l'esecuzione parallela. Si tratta di un esempio che è volutamente semplice. Infatti, il programma che è di gran lunga il più complicato è quello che calcola le sezioni di Poincaré durante l'integrazione numerica del modello di Hénon e Heiles, ma questa parte è quella che deve ovviamente essere sostituita da un codice che si occupa di studiare il problema cui l'utente è interessato.
Si invitano gli utenti di emmy a scaricare il file test-slurm-paral.zip e a creare, localmente sul proprio computer, la cartella test-slurm-paral, per poi leggere il file README.txt. Successivamente, è senz'altro utile copiare tutta la cartella test-slurm-paral nella propria area utente all'interno di emmy e lanciare l'esecuzione parallela dei codici, così come spiegato in README.txt. Queste operazioni, ancorché un po' noiose, dovrebbero permettere una piena comprensione del meccanismo di funzionamento dell'esempio, che dovrebbe essere facilmente adattabile ad esigenze simili nell'ambito delle applicazioni di tipo computazionale cui l'utente è interessato.

L’algoritmo di integrazione utilizzato è il metodo SBAB3C introdotto da Laskar e Robutel in [5]. A sua volta il metodo SBAB3C puè essere visto come una evoluzione di quello del punto centrale, o Leap-Frog, che è accuratamente descritto in [3]. Le seguenti figure mostrano rispettivamente le condizioni iniziali del sistema su cui è stata fatta l’integrazione e le sezioni di Poincaré nello spazio delle fasi (q2,p2).


PIC

Figura 2: Condizioni iniziali



PIC

Figura 3: Sezione di Poincaré per il caso non risonante (ω1 = 1 e ω2 = (√--
 5 1)2) del modello di Hénon e Heiles corrispondente al valore dell’energia E = 0.039344 , che è leggermente inferiore a quello di fuga.


3 Conclusioni e ultime annotazioni

Il caso in esame, che è non risonante (cioè tale che (k1,k2) 2 \ (0, 0) per cui si ha che k1ω1 + k2ω2 = 0), mostra una zona centrale con curve chiuse invarianti concentriche. Sono presenti delle zone in cui è possibile il moto ordinato su curve chiuse 1D che stanno intorno ad orbite periodiche. Tuttavia è molto ampia l’area della superficie che viene riempita in maniera apparentemente erratica e abbastanza uniforme dall’orbita che parte da un punto iniziale all’interno di quella stessa regione. Questo comportamento è tipico delle orbite caotiche (cfr. [2]). Lo scenario è quindi il medesimo rispetto a quello descritto, ad esempio, in [6], dove troviamo anche un’analisi per diversi livelli di energia e una breve discussione del caso risonante.

Per quanto riguarda proprio il calcolo parallelo delle sezioni di Poincaré durante l'integrazione numerica del modello di Hénon e Heiles, una breve analisi delle prestazioni di un mini-cluster (che è dedicato ad esigenze puramente didattiche ed è alloggiato in aula 25) è disponibile qui.
In realtà è proprio da quella pagina web, accuratamente preparata dal Dr. Fabio Peluso (laurea magistrale in Matematica conseguita nell'a.a. 2016/17) che è stato ricavato il presente tutorial.

Riferimenti bibliografici

[1]   Benettin, G. e Giorgilli, A.: On the Hamiltonian interpolation of near-to-the-identity symplectic mappings with application to symplectic integration alghoritms, Journal of Statistical Physics, vol 74 n. 5/6, 1117-1143 (1994).

[2]   Celletti, A.: Stability and Chaos in Celestial Mechanics, Springer, 2010.

[3]   Giorgilli, A.: Metodi e Modelli Matematici per le Applicazioni, http://www.mat.unimi.it/users/antonio/metmod/metmod.html.

[4]   Hénon, M. Heiles, C.: The applicability of the third integral of motion: Some numerical experiments, The Astronomical Journal, vol 69: 73-79 (1964).

[5]   Laskar, J. Robutel, P.: High order symplectic integrators for perturbed Hamiltonian systems, Celestial Mechanics and Dynamical Astronomy, vol 80: 39-62 (2001).

[6]   Locatelli U.: Appunti sul modello di Hénon e Heiles, http://www.mat.uniroma2.it/~locatell/master_STS/note_HH_e_int_simpl.pdf.