J-0
00m
00j
00h
00min
00s

Version interactive avec LaTeX compilé

CCINP Modélisation PC 2020

Notez ce sujet en cliquant sur l'étoile
0.0(0 votes)
Logo ccinp
2025_09_04_2290bb5ab1b94d61e09cg

ÉPREUVE MUTUALISÉE AVEC E3A-POLYTECH ÉPREUVE SPÉCIFIQUE - FILIÈRE PC

MODÉLISATION DE SYSTÈMES PHYSIQUES OU CHIMIQUES

Mercredi 6 mai : 8 h-12 h

Abstract

N.B. : le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut lui sembler être une erreur d'énoncé, il le signalera sur sa copie et devra poursuivre sa composition en expliquant les raisons des initiatives qu'il a été amené à prendre.

RAPPEL DES CONSIGNES

  • Utiliser uniquement un stylo noir ou bleu foncé non effaçable pour la rédaction de votre composition ; d'autres couleurs, excepté le vert, peuvent être utilisées, mais exclusivement pour les schémas et la mise en évidence des résultats.
  • Ne pas utiliser de correcteur.
  • Écrire le mot FIN à la fin de votre composition.

Les calculatrices sont autorisées

Le sujet est composé de deux parties (pages 1 à 13)

et d'une annexe (pages 14 à 15).

Calcul de la contribution de la rotation interne du groupe méthyle à l'entropie de la molécule d'éthane

Présentation du problème

Le calcul des propriétés chimiques de systèmes moléculaires est aujourd'hui facilité par le développement de logiciels basés sur les lois fondamentales de la mécanique quantique. Ce type de logiciels permet par exemple de trouver la géométrie pour laquelle l'énergie d'une molécule est minimale, de calculer son énergie et ses fréquences de vibration.
Même si la plupart des étapes de calcul des données thermodynamiques des molécules sont automatisées, il est parfois nécessaire de réaliser des corrections manuellement pour obtenir des valeurs en accord avec l'expérience.
C'est le cas lorsque l'on souhaite calculer précisément la valeur de l'entropie d'une molécule qui possède des groupes méthyles. Une des molécules se trouvant dans ce cas est la molécule d'éthane dont la structure est donnée à la figure 1.
Figure 1 - Structure de la molécule d'éthane
La rotation du groupe méthyle autour de la liaison entre les deux atomes de carbone peut être représentée par différents modèles simples. Le choix du modèle est dicté par la hauteur de la barrière d'énergie potentielle à franchir lors de la rotation du groupe méthyle autour de la liaison entre les deux atomes de carbone. Parmi ces modèles, on trouve celui de la rotation libre, le modèle de l'oscillateur harmonique et le modèle de la rotation empêchée.
La première partie de l'épreuve concerne l'étude des conformations de l'éthane. Une attention particulière est portée aux informations que l'on peut tirer de l'évolution de l'énergie potentielle associée à la rotation du groupe méthyle. La partie suivante est relative au calcul de la contribution de la rotation interne du groupe méthyle à l'entropie de la molécule d'éthane en considérant différents modèles pour représenter la rotation.

Partie I - Étude des conformations de la molécule d'éthane

Q1. Rappeler à quel type d'isomérie s'apparentent des espèces dont la structure diffère par la rotation autour des liaisons simples. Rappeler le nom que l'on donne à ce type d'isomères.
L'ensemble des conformations de la molécule d'éthane est obtenu par rotation des deux groupes méthyles autour de la liaison simple entre les deux atomes de carbone.
Q2. Donner les projections de Cram et de Newman correspondant aux deux conformations remarquables dites décalée et éclipsée (en précisant bien de laquelle il s'agit).
Dans un modèle simple, en considérant l'un des deux groupes méthyles immobile, l'évolution de l'énergie potentielle associée à la rotation du second groupe méthyle autour de la liaison de la molécule d'éthane en fonction de l'angle de rotation (aussi appelé angle de torsion) est sinusoïdale comme le montre le graphe de la figure 2.
Figure 2 - Évolution de l'énergie potentielle associée à la rotation d'un groupe méthyle de la molécule d'éthane en fonction de l'angle de rotation
Q3. Indiquer à quelles conformations correspondent les minima et maxima observés sur la courbe. Expliquer brièvement l'origine de la variation de l'énergie potentielle de la molécule d'éthane en fonction de l'angle de rotation .
Le passage d'une conformation stable à l'autre nécessite le franchissement d'une barrière d'énergie potentielle qui sera notée . En raison de la symétrie du groupe méthyle, on constate que cette barrière d'énergie potentielle est franchie plusieurs fois de manière périodique lors d'un tour complet.
Q4. À partir du graphe de la figure 2, relever la valeur de la barrière d'énergie potentielle. Indiquer la périodicité du phénomène. Donner l'expression de la fonction permettant de représenter l'évolution de l'énergie potentielle en fonction de l'angle de rotation .

Partie II - Contribution de la rotation interne du groupe méthyle à l'entropie de la molécule d'éthane

Comme indiqué dans l'introduction, la rotation interne du groupe méthyle par rapport à l'autre apporte une contribution à l'entropie de la molécule d'éthane. Le calcul de cette contribution dépend du type de rotation considérée. On distingue deux cas :
  • la rotation est libre. C'est le cas si l'énergie potentielle (en joule par molécule) est inférieure au produit est la constante de Boltzmann et la température ;
  • la rotation est empêchée. C'est le cas si est supérieure au produit .
Q5. Conclure quant à la liberté de la rotation à très basse température, 100 K , puis à très haute température : 2000 K . On donne et la constante d'Avogadro .

II. 1 - Calcul de la contribution à l'entropie pour une rotation libre

Dans le cas d'une rotation libre, le calcul de la contribution de la rotation interne à l'entropie peut être effectué dans le cadre d'un modèle simple. Le résultat dépend d'un petit nombre de paramètres :
avec la constante des gaz parfaits, la constante de Planck, le nombre de symétries internes du groupe méthyle égal à 3 et le moment d'inertie réduit du groupe méthyle en rotation par rapport à l'autre groupe méthyle. Rappelons que l'expression du moment d'inertie réduit est :
avec et les moments d'inertie des deux groupes méthyles (on a dans le cas de l'éthane). Le moment d'inertie du groupe méthyle en rotation autour de l'axe matérialisé par la liaison entre les deux atomes de carbone de la molécule d'éthane est :
avec la masse de l'atome et la distance entre l'atome et sa projection orthogonale sur l'axe de rotation du groupe méthyle considéré.
Q6. Expliquer pourquoi la contribution de l'atome de carbone au moment d'inertie du groupe méthyle en rotation autour de la liaison matérialisée par les deux atomes de carbone de la molécule d'éthane est nulle.
Q7. Calculer le moment d'inertie (dans les unités du Système International) pour un groupe méthyle à partir des données suivantes :
  • masse d'un atome d'hydrogène :
  • longueur des liaisons C-H :
  • valeur des angles C-C-H :
Q8. En déduire la valeur du moment d'inertie réduit dans les unités du Système International.
Q9. Calculer la contribution à l'entropie dans le cas de la rotation libre à dans les unités du Système International avec le nombre de chiffres significatifs adéquats.
On donne et s.

II. 2 - Calcul de la contribution à l'entropie pour un oscillateur harmonique

Dans le cas où la rotation est empêchée, on peut utiliser en première approximation le modèle de l'oscillateur harmonique pour obtenir la contribution de la rotation du groupe méthyle à l'entropie de la molécule d'éthane. Le graphe de la figure donne l'évolution de l'énergie potentielle associée à la rotation du groupe méthyle autour de la liaison dans la molécule d'éthane et l'énergie potentielle de l'oscillateur harmonique. Cette dernière peut se mettre sous la forme suivante :
avec une constante et l'angle de rotation du groupe méthyle autour de la liaison dans la molécule d'éthane.
Figure 3 - Approximation de la rotation interne du groupe méthyle par le modèle de l'oscillateur harmonique

Traitement quantique de l'oscillateur harmonique

La détermination de la contribution de la rotation du groupe méthyle à l'entropie de la molécule d'éthane peut être réalisée à partir du traitement quantique de l'oscillateur harmonique. Cette méthode nécessite la résolution de l'équation de Schrödinger dans le cas de l'oscillateur harmonique unidimensionnel. La fonction d'onde à laquelle on s'intéresse est celle du proton de l'élément hydrogène.
L'équation de Schrödinger stationnaire en coordonnées cylindriques peut se mettre sous la forme suivante :
avec la masse d'un atome d'hydrogène, la constante de Planck réduite ( ), la fonction d'onde associée à un état propre, la valeur propre associée et l'énergie potentielle à laquelle est soumise l'atome d'hydrogène lorsque le groupe méthyle tourne autour de la liaison dans la molécule d'éthane ( et sont exprimées en joule, est l'angle de de rotation). est le Laplacien de la fonction d'onde dont l'expression en coordonnées cylindriques est :
Q10. Simplifier l'expression du Laplacien de la fonction d'onde dans le cas de la rotation d'un atome d'hydrogène autour de l'axe matérialisé par la liaison entre les deux atomes de carbone confondu avec l'axe ( ) dans un repère ( ). On supposera que le groupe méthyle est indéformable lors de sa rotation autour de l'axe (Oz). Donner alors l'expression de l'équation de Schrödinger stationnaire en cordonnées cylindriques, que l'on mettra sous la forme :
avec un opérateur dont l'expression est à déterminer et l'énergie potentielle donnée par l'équation (4).
Pour simplifier la résolution de l'équation simplifiée tirée de l'équation (6), on souhaite la réécrire sous la forme adimensionnelle suivante :
avec un paramètre discuté plus loin, et est la pulsation propre de l'oscillateur.
Q11. Établir l'expression du paramètre qui intervient dans la forme adimensionnelle de l'équation de Schrödinger (équation (7)) et déterminer sa dimension.
Q12. Donner la dimension de . Dans la suite, sera appelée abscisse réduite et sera notée .

Résolution numérique par la méthode de Numerov

On peut résoudre numériquement l'équation (7) pour trouver les valeur de pour le niveau d'énergie par la méthode de Numerov. Il s'agit d'une méthode permettant de réaliser l'intégration d'équations différentielles ordinaires du deuxième ordre de la forme :
Q13. Donner les expressions des fonctions et en procédant par identification à partir des équations (7) et (8).
Pour discrétiser l'équation différentielle (8), on effectue des développements limités. L'intervalle des abscisses est divisé en un nombre fini de points régulièrement espacés de , le pas d'espace. On utilisera l'indice pour repérer la position des différents points sur l'abscisse discrétisée.
Q14. Donner les étapes permettant d'obtenir l'expression discrétisée suivante (équation (9)) en précisant à quel ordre ont été effectués les développements limités :
avec l'abscisse au point et pour petit, et .
Pour simplifier l'équation (9), on pose .
Q15. Montrer, en précisant les étapes intermédiaires, que l'on peut exprimer de la façon suivante :
L'équation (9) peut se mettre sous la forme factorisée suivante (équation (11)) où et sont des scalaires et une fonction de et dont l'expression est obtenue à partir de l'équation (8):
Q16. À l'aide de l'équation (8), donner l'expression de en fonction de et . Déterminer les valeurs des scalaires a et .
D'un point de vue pratique, on introduit une fonction intermédiaire telle que : .
Q17. Démontrer alors la formule de récurrence suivante :
L'intégration de l'équation (8) à l'aide de la formule de récurrence (12) établie à la question précédente nécessite de connaître les valeurs des premiers termes de la suite : et . Les valeurs de ces deux paramètres seront discutées plus loin. Pour résoudre numériquement l'équation (7) par la méthode de Numerov, on prendra avec le paramètre de l'équation (7) dont l'expression est établie à la .

Algorithme général de résolution du problème

Note : les codes numériques demandés au candidat devront être réalisés dans le langage Python. On supposera la bibliothèque «numpy » chargée. Une annexe présentant les fonctions usuelles de Python est disponible pages 14 et 15 . Les commentaires suffisants à la compréhension du programme devront être apportés et des noms de variables explicites devront être utilisés lorsque ceux-ci ne sont pas imposés.
Pour résoudre numériquement ce problème et obtenir simultanément les valeurs de la fonction d'onde et l'énergie réduite correspondant à l'état quantique , ( est un entier positif ou nul), on souhaite développer une méthode par dichotomie pour approcher la valeur de l'énergie réduite .
Il existe des fonctions d'onde satisfaisant à l'équation (7) pour toute valeur de . Cependant toutes ne vérifient pas les conditions aux limites. Les conditions aux limites ne sont satisfaites que pour un ensemble discret de valeurs de .
Les solutions discrètes sont repérées par un indice qui représente le nombre de zéros de la fonction (défini comme le nombre de points d'intersection entre la fonction d'onde et l'axe des abscisses). Il est donc nécessaire de trouver une condition permettant de s'assurer que la fonction d'onde puisse satisfaire les conditions aux limites et donc que l'énergie obtenue corresponde bien à un état quantique. Cette condition peut porter par exemple sur le nombre de nœuds de la fonction d'onde .
Q18. À partir de l'allure des fonctions d'onde associées aux premiers niveaux d'énergie de l'oscillateur harmonique quantique unidimensionnel de la figure 4, déterminer la condition portant sur le nombre de nœuds de la fonction d'onde qui doit être satisfaite pour une énergie réduite (on supposera par la suite que cette condition est valable pour tout niveau d'énergie).
Figure 4 - Allure des fonctions d'onde associées aux premiers niveaux d'énergie de l'oscillateur harmonique quantique unidimensionnel
Q19. À l'aide de l'allure des courbes de la figure 4, on supposera qu'il est possible de restreindre l'intervalle d'intégration aux seules valeurs positives. Donner la relation unique entre et . On supposera par la suite que cette hypothèse est valable pour tout niveau d'énergie.
Le graphe de la figure 5 illustre sur un exemple (pour ) ce que l'on obtient lorsqu'on résout numériquement l'équation de Schrödinger pour une énergie réduite qui ne correspond pas à une valeur propre. On observe que la fonction d'onde diverge au lieu de tendre vers 0 quand on s'éloigne de l'origine.
Q20. Préciser l'observation supplémentaire qui peut être réalisée sur le nombre de nœuds de la fonction d'onde dans le cas où est supérieure à la valeur propre . Dans la suite, on supposera que cette observation est valable pour tout .
Figure 5 - Allures de la fonction d'onde sur l'intervalle positif pour la valeur propre , pour une énergie réduite supérieure à et pour une énergie réduite inférieure à . Les trois courbes se superposent jusque vers
L'algorithme général de résolution du problème par une méthode dichotomique est donc le suivant :
  • choix d'une valeur de ;
  • choix de deux valeurs limites de et qui contiennent .
Puis débute la boucle conditionnelle (condition portant sur un critère de convergence) :
  • résolution de l'équation : intégration de en partant de par valeurs croissantes à l'aide de la formule de récurrence (équation (12)) pour ;
  • on compare le nombre de nœuds avec le nombre quantique :
  • si le nombre de nœuds est supérieur à , alors et dans ce cas on itère en affectant à la valeur de ;
  • sinon on itère en affectant à la valeur de ;
  • on calcule la différence entre et . Si celle-ci est inférieure au critère de convergence choisi suffisamment petit, on arrête les itérations.

Codage de l'algorithme

Pour réaliser l'intégration numérique de l'équation (7), il faut tout d'abord définir le pas d'intégration. L'abscisse réduite est comprise entre les valeurs et . On souhaite diviser le segment en 100 intervalles de même longueur. On appelle imax le nombre de valeurs des abscisses comprises entre xmin et xmax.
Q21. Donner la valeur numérique de imax. Donner ensuite le code permettant de calculer le pas de position (noté ) en fonction de , xmax et imax.
Q22. Donner le code permettant de calculer les valeurs du vecteur xmesh qui contient les valeurs des abscisses réduites et du vecteur vpot qui contient les valeurs du potentiel pour chaque pas d'intégration.
L'intégration numérique de l'équation de Schrödinger nécessite le choix des valeurs des termes et . Celui-ci dépend de la parité de la fonction d'onde :
  • si est impair, alors et peut prendre n'importe quelle valeur finie (on prendra pour le code );
  • si est pair, alors peut prendre n'importe quelle valeur finie (on prendra pour le code ) et est obtenu par la formule de Numerov (équation (12)): .
Q23. Démontrer l'expression dans le cas où est pair.
On suppose dans la suite que le nombre quantique a déjà été défini par l'utilisateur. On note nodes la variable correspondant au nombre quantique qui est aussi le nombre de nœuds de la fonction d'onde et y le vecteur contenant les valeurs de la fonction d'onde. On suppose également que les valeurs et ont été définies (elle seront notées emin et emax). On prendra et pour la valeur maximale du vecteur vpot.
Q24. Écrire le code de la fonction calcul_f(e) qui permet de calculer et de retourner les valeurs de la fonction de l'algorithme de Numerov pour chaque valeur de . La variable e correspond à l'énergie réduite .
On souhaite maintenant développer une fonction calcul_y_noeuds (nodes, ) qui renvoie y le vecteur contenant les valeurs de la fonction d'onde et ncross le nombre de nœuds. Sa structure est fournie dans le code suivant (page 11), il est incomplet et les portions à compléter sont demandées dans les questions suivantes.
#Fonction ayant pour objet de calculer les valeurs de la fonction
d'onde et du nombre de nœuds
def calcul_y_noeuds(nodes,f):
    #Calcul des valeurs initiales y0 et y1
    #Initialisation de la variable y
    y =
    #Nombre pair de nœuds
    if ___-_-__ == nodes:
        y[0] =
        y[1] =
    #Nombre impair de nœuds
    else:
        y[0] =
        y[1] =
    #Intégration et comptage du nombre de nœuds
    #Initialisation de la valeur de ncross
    #Boucle de calcul des valeurs de y et du nombre de nœuds
    for i in range (__________):
        #Calcul la valeur de y[i]
        y[i] =
        #Calcul du nombre de nœuds
        -----------
        -----------
    #Arguments de sortie de la fonction calcul_y_noeuds
    return
Q25. On souhaite que le comptage du nombre de nœuds, ncross, soit intégré à la boucle de calcul des valeurs de la fonction d'onde y. Donner une méthode simple permettant de réaliser le comptage (le code n'est pas demandé dans cette question).
Q26. Recopier et compléter le code de la fonction calcul_y_noeuds (nodes, f) fourni. Les informations manquantes et attendues concernent :
  • l'initialisation de la variable ;
  • le calcul des valeurs initiales y [0] et y[1] avec la condition permettant de considérer le cas pair ;
  • l'initialisation de la variable ncross ;
  • les instructions de début et de fin pour la boucle de calcul des valeurs de et du nombre de nœuds ;
  • le calcul des valeurs y [i] ;
  • le calcul du nombre de nœuds ;
  • les arguments de sortie de la fonction calcul_y_noeuds.
Pour obtenir une valeur de suffisamment précise par dichotomie, il est nécessaire d'intégrer les fonctions calcul_f(e) et calcul_y_noeuds (nodes, f) dans une boucle de type «while» avec une condition portant sur un critère de convergence. La condition de convergence porte sur la différence qui doit être inférieure à une valeur suffisamment petite, par exemple .
Q27. On suppose que la valeur de ncross a été calculée dans les étapes précédentes du code. Donner l'algorithme (le code est demandé à la question suivante) permettant de calculer la valeur de , notée e pour l'itération suivante et la valeur du critère de convergence, noté critere.
Q28. Donner le code correspondant à la boucle permettant d'obtenir la valeur de par dichotomie. Elle doit faire intervenir les deux fonctions calcul_f(e) et calcul_y_noeuds (nodes, ).
La résolution numérique de l'équation de Schrödinger stationnaire pour l'oscillateur harmonique donne les valeurs suivantes pour les niveaux d'énergie (tableau 1) :
Niveau Energie (sans dimension)
0 0,5
1 1,5
2 2,5
3 3,5
4 4,5
5 5,5
Tableau 1 - Évolution de l'énergie en fonction de .
Q29. Proposer une expression permettant de déterminer la valeur de en fonction de pour tout compris entre 0 et 5 .
Le calcul de l'entropie à partir des énergies déterminées précédemment ne sera pas abordé ici. La contribution que l'on obtiendrait à la température de serait égale à .

II. 3 - Comparaison des différents traitements de la rotation interne du groupe méthyle

Le tableau 2 donne les valeurs de la contribution de la rotation du groupe méthyle à l'entropie de la molécule d'éthane pour les différents modèles et pour plusieurs températures. Les modèles utilisés pour le calcul sont le modèle de la rotation libre, celui de l'oscillateur harmonique et celui de la rotation empêchée qui correspond à la résolution de l'équation de Schrödinger avec le potentiel déterminé à la question Q4.
Température 100 K 500 K 1000 K
Modèle de l'oscillateur harmonique 0,7 6,1 10,0 15,6
Modèle de la rotation libre 7,5 12,0 14,2 17,1
Modèle de la rotation empêchée 0,7 6,8 11,2 16,1
Tableau 2 - Valeurs de la contribution de la rotation du groupe méthyle à l'entropie de la molécule d'éthane (unité : ).
Q30. Commenter l'évolution globale avec la température de la contribution de la rotation du groupe méthyle à l'entropie de la molécule d'éthane. Justifier de manière qualitative la tendance observée.
Q31. En admettant que le modèle de la rotation empêchée fournit la meilleure estimation de la contribution de la rotation du groupe méthyle à l'entropie de la molécule d'éthane quelle que soit la température, émettre des recommandations quant à la possible utilisation des deux autres modèles.
Q32. Justifier de manière qualitative l'ordre des valeurs de la contribution de la rotation du groupe méthyle à l'entropie de la molécule d'éthane obtenue pour les trois modèles rotation libre rotation empêchée oscillateur harmonique .

ANNEXE Fonctions de Python

Bibliothèque numpy de Python

Dans les exemples ci-dessous, la bibliothèque numpy a préalablement été importée à l'aide de la commande : import numpy as np.
On peut alors utiliser les fonctions de la bibliothèque, dont voici quelques exemples :

np.array(liste)

Description : fonction permettant de créer une matrice (de type tableau) à partir d'une liste. Argument d'entrée : une liste définissant un tableau à 1 dimension (vecteur) ou 2 dimensions (matrice).
Argument de sortie : un tableau (matrice).
Exemples: np.array([4,3,2])

np.array([[5],[7],[1]])
[[5]
[7]
[1]]
np.array([[3,4,10],[1,8,7]])

[1187]]
.
Description : fonction qui retourne l'élément ( ) de la matrice . Pour accéder à l'intégralité de la ligne de la matrice , on écrit . De même, pour obtenir toute la colonne de la matrice , on utilise la syntaxe .
Arguments d'entrée : une liste contenant les coordonnées de l'élément dans le tableau .
Argument de sortie : l'élément (i ) de la matrice .
ATTENTION: en langage Python, les lignes d'un tableau de dimension sont numérotées de à -1 et les colonnes sont numérotées de à -1
Exemple : np.array
A[0,2]



A[:,2]
[10 7]

np.zeros((n,m))

Description : fonction créant une matrice (tableau) de dimensions dont tous les éléments sont nuls.
Arguments d'entrée : un tuple de deux entiers correspondant aux dimensions de la matrice à créer.
Argument de sortie : un tableau (matrice) d'éléments nuls.
Exemple: np.zeros((3,4))

[llll]
[llll]

np.linspace(Min,Max,nbElements)

Description: fonction créant un vecteur (tableau) de nbElements nombres espacés régulièrement entre et . Le élément est égal à Min, le dernier est égal à Max et les éléments sont espacés de (Max-Min)/(nbElements - 1).
Arguments d'entrée : un tuple de 3 entiers.
Argument de sortie : un tableau (vecteur).
Exemple : np.linspace(3,25,5)

np.loadtxt('nom_fichier',delimiter='string',usecols=[n])

Description : fonction permettant de lire les données sous forme de matrice dans un fichier texte et de les stocker sous forme de vecteurs.
Arguments d'entrée : le nom du fichier qui contient les données à charger, le type de caractère utilisé dans ce fichier pour séparer les données (par exemple un espace ou une virgule) et le numéro de la colonne à charger (ATTENTION, la première colonne porte le numéro 0 ).
Argument de sortie : un tableau.
Exemple : data np.loadtxt('fichier.txt',delimiter=' ',usecols=[0])
#dans cet exemple data est un vecteur qui correspond à la première #colonne de la matrice contenue dans le fichier 'fichier.txt'.
CCINP Modélisation PC 2020 - Version Web LaTeX | WikiPrépa | WikiPrépa