--- Introduzione a Python ---
Python e' un linguaggio di programmazione moderno, e possiede numerose
caratteristiche che lo rendono interessante, in particolar modo per un fisico.
Il
linguaggio è interpretato (ma è possibile compilare), è orientato agli oggetti,
dispone di una libreria standard molto vasta ed è estensibile grazie a centinaia
di moduli aggiuntivi.
Grazie a queste caratteristiche ed alla estrema semplicità d'uso, python si sta
affermando sempre più in ambito scientifico, sia come strumento di lavoro
interattivo, sia come linguaggio per la scrittura di applicazioni. La struttura
modulare permette di usarlo sia per semplici script che per routines molto
complesse. Infatti, anche se il codice python puro è in generale più lento di un
corrispondente codice Fortran, C o C++, esistono varie tecniche per superare
questo ostacolo, ed ottenere applicazioni o librerie scritte in python con
prestazioni assolutamente paragonabili a quelle dei più comuni linguaggi
compilati.
L'obiettivo della parte introduttiva è di illustrare la semantica di base di
Python e l'utilizzo delle principali librerie e toolkits sviluppati in python che
possano essere utili, in particolare per un utilizzo scientifico.
In questa parte cercherò di proporre un approccio pratico, "hands on", con alcuni
esempi che vanno dalla programmazione di script, alla visualizzazione di dati,
alla realizzazione di piccole simulazioni numeriche.
--- Introduzione alla dinamica molecolare con Lammps ---
La dinamica molecolare (MD) è un metodo di simulazioni al calcolatore nel quale
si studiano i movimenti di atomi, molecole o particelle che sono (solitamente)
sottoposti a potenziali di tipo classico. In questo senso la MD è un tipo di
simulazione di sistemi a N corpi.
Con la MD in generale si studia la dinamica di modelli microscopici, di solito
con l'obiettivo di inferire proprietà emergenti del sistema e di identificare gli
"ingredienti fondamentali" che sono responsabili di queste.
Il metodo è stato per la prima volta proposto negli anni '50 (anche se ci sono
antesignani ancora più antichi) ed è ormai diffuso in molte branche della fisica,
della chimica, della scienza dei materiali e della biologia.
L'obiettivo del modulo di dinamica molecolare è quello di fornire una brevissima
introduzione ai concetti chiave e di presentare un toolkit molto versatile e
diffuso: "lammps". In particolare mostrerò come installare lammps, come
programmare semplici esempi e simulazioni di modelli facili, e come analizzare i
risultati delle simulazioni.
Dopodiché discuterò in breve la struttura del programma; illustrerò la modularità
del codice mostrando come si possa programmare una funzionalità addizionale.
I progetti individuali per il secondo modulo consisteranno nell'implementazione
di piccole modifiche al codice di lammps e alla programmazione e implementazione
di semplici modelli fisici. In generale i temi di questi progetti variano dalla
meccanica statistica alla fisica dei materiali alla biofisica.