Fare riferimento alle slide della presentazione powerpoint termodinamica_12 per le spiegazioni sul tipo di calcoli che il programma esegue.
%matplotlib inline
%run disorder.py
La funzione principale da utilizzarsi è disorder che accetta come argomenti: il numero totale di atomi e un valore del parametro d'ordine richiesto per considerare ordinata la configurazione; la keyword opzionale prt permette di stampare valori dettagliati della probabilità di ogni configurazione, dell'entropia corrispondente e del parametro d'ordine
disorder(20,0.5,prt=True)
Per 100 atomi, e parametro d'ordine pari a 0.1, abbiamo:
disorder(100,0.1,prt=False)
La frazione molare corrispondente al grado d'ordine limite pari a 0.1 si ottiene usando la semplice funzione fraction:
fraction(0.1)
Il risultato (0.55) ci dice che, con quel parametro d'ordine, consideriamo ordinata ogni configurazione per cui la frazione molare di uno dei due componenti è maggiore di 0.55 (0.5 corrisponde al caso totalmente disordinato, con parametro d'ordine uguale a 0).
disorder(500,0.1,prt=False)
Con 1000 atomi:
disorder(1000,0.1,prt=False)
I calcoli precedenti fanno tutti uso della funzione fattoriale di numpy np.factorial. Il fattoriale di un numero cresce molto rapidamente con il numero stesso; per valori di n > 1000 il calcolo non è possibile, per cui ci si limita al calcolo della sola entropia usando l'approssimazione di Stirling
disorder(10000,0.01)