Entropie de mélange pour un gaz ou liquide idéal

entropie_melange_01.py
#! /usr/bin/env python
# -*- coding: utf-8 -*-
"""
représentation graphique de l'entropie de mélange d'un système idéal
"""
 
import numpy as np  # voir http://docs.scipy.org/doc/
import matplotlib.pyplot as plt
 
def s(t):
    return t*np.log(t) + (1-t) * np.log(1-t)
 
x1 = np.arange(0.0, 1., 0.001)
 
plt.plot(x1, s(x1), 'b-')
#plt.plot(x1, x1*np.log(x1) + (1-x1) * np.log(1-x1), 'b-')   #autre façon, n'utilisant pas la fonction
 
plt.show()
 
# des messages du type "RuntimeWarning: divide by zero encountered ..."
# ou "RuntimeWarning: invalid value encountered" sont liés aux valeurs
# extrêmes de x (limites 0. et 1.)
# suggestion : créer une fonction pour l'enthalpie de mélange (avec le modèle des solutions régulières) et porter en graphique dans différents cas l'énergie libre de Gibbs de mélange. Utiliser la fonctionnalité des subplot pour représenter plusieurs graphes (cf. ces exemples