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

Version interactive avec LaTeX compilé

Banque PT Modélisation PT 2023

Notez ce sujet en cliquant sur l'étoile
0.0(0 votes)
Logo banque-pt
2025_09_04_dd4b48479574398916bcg

Epreuve d'Informatique et Modélisation de Systèmes Physiques

Durée 4 h

Si, au cours de l'épreuve, un candidat repère ce qui lui semble être une erreur d'énoncé, d'une part il le signale au chef de salle, d'autre part il le signale sur sa copie et poursuit sa composition en indiquant les raisons des initiatives qu'il est amené à prendre.

L'usage de calculatrices est interdit.

AVERTISSEMENT

La présentation, la lisibilité, l'orthographe, la qualité de la rédaction, la clarté et la précision des raisonnements entreront pour une part importante dans l'appréciation des copies. En particulier, les résultats non justifiés ne seront pas pris en compte. Les candidats sont invités à encadrer les résultats de leurs calculs.

Un document en annexe se trouve en page 16 du sujet.

CONSIGNES:

  • Composer lisiblement sur les copies avec un stylo à bille à encre foncée : bleue ou noire.
  • L'usage de stylo à friction, stylo plume, stylo feutre, liquide de correction et dérouleur de ruban correcteur est interdit.
  • Remplir sur chaque copie en MAJUSCULES toutes vos informations d'identification : nom, prénom, numéro inscription, date de naissance, le libellé du concours, le libellé de l'épreuve et la session.
  • Une feuille, dont l'entête n'a pas été intégralement renseigné, ne sera pas prise en compte.
  • Il est interdit aux candidats de signer leur composition ou d'y mettre un signe quelconque pouvant indiquer sa provenance.

Partie Modélisation

Notations :
  • : produit vectoriel de avec
  • : produit scalaire de avec
  • : dérivée partielle de par rapport à , évaluée en
Lors de la réalisation d'un test PCR (Polymerase Chain Reaction), une portion d'ADN double brin est copiée (amplifiée) un très grand nombre de fois par une enzyme (la polymérase).
Toutes les séquences d'ADN double brin ne sont pas éligibles pour cette méthode. Les propriétés physiques de l'ADN dépendent de la séquence de paires de bases (nommées ou ) et si la séquence que l'on souhaite copier donne lieu à un objet trop rigide le cheminement de la polymérase le long du morceau d'ADN risque de ne pas se dérouler correctement.
Ce sujet propose d'aborder les méthodes utilisées pour essayer de prédire ainsi que de mesurer une partie des propriétés mécaniques de l'ADN.
Figure 1 - Double hélice d'ADN. Chaque brin est constitué d'une séquence de paires de bases reliées par des liaisons covalentes (en gris). Les deux brins sont reliés par des liaisons hydrogène (en pointillé) qui sont moins résistantes que les liaisons covalentes.

Partie I : Modèle NaïF de l'Élasticité de brins d'ADN courts (<30 paires de bases)

On modélise d'abord un simple brin d'ADN par une succession de bases reliées par des ressorts.
Figure 2 - Une portion d'un simple brin d'ADN (ici "G-C-C") est modélisée par une succession de deux ressorts.
À l'équilibre
On repère le déplacement de par rapport à sa position d'équilibre par , et le déplacement de par rapport à l'équilibre par . On pourra considérer que la longueur à vide de ces ressorts est la longueur qui sépare les points et lorsqu'ils sont à l'équilibre, on note cette longueur . La raideur d'une liaison covalente G-C est notée et celle d'une liaison covalente C-C est notée . Dans tout l'énoncé, les effets de la gravité sont négligés.
  1. Les deux points ( et ) sont déplacés de leur position au repos. Faire l'inventaire des forces qui s'exercent sur le point A. Donner leur expression vectorielle. Faire de même pour le point B. Donner vos réponses en fonction de et des paramètres de l'énoncé.
On tire sur le point avec une force jusqu'à ce que l'ensemble se retrouve dans une nouvelle position d'équilibre.
2. Montrer que tout se passe comme si le point était attaché à l'origine via un unique ressort dont on donnera la raideur.
On suppose que les liaisons covalentes qui relient une paire de base (par exemple G-G, G-C, T-A, etc) ont toutes une raideur équivalente identique. Dans l'exemple de la figure 2 , cela signifie que .
3. Quelle est la raideur d'un brin de séquence : GCTGAGG?
Un double brin d'ADN est en fait une succession de "paires de base". Chaque base est reliée à une base complémentaire ( G avec avec A ) via des liaisons hydrogène :
Figure 3 - Schématisation d'un morceau d'ADN double brin.
On néglige l'effet des liaisons hydrogène qui relient deux bases opposées. On tire sur une extrémité du double brin, l'autre restant attachée.
4. Quelle est la raideur d'un double brin constitué de 7 paires de bases, exprimée en fonction de ?
FIGURE 4 - Force de rappel (en pN ) versus extension (allongement relatif) d'un morceau d'ADN double brin. [D'après Caron et al., "DNA : an extensible molecule"].
  1. Sur quel domaine d'extension le modèle proposé ci-dessus semble-t-il valide?
  2. Sachant que la longueur à vide de séparation entre deux paires de bases est de l'ordre de 3 pm, donner un ordre de grandeur de , la raideur d'une unique liaison covalente.

Partie II : Élasticité d'un long brin d' ADN (> 200 paires de bases)

Ce modèle devient inapproprié pour les longues molécules d'ADN. La flexibilité de celui-ci fait qu'on peut le considérer comme une chaîne de bâtonnets rigides, chaque bâtonnet ayant une centaine de paires
de bases de longueur environ.
Les forces dites "entropiques" dues aux collisions avec les molécules environnantes (typiquement, des molécules d'eau) font que, en pratique, on observe, pour un brin d'ADN dont les deux extrémités sont séparées d'une distance , une énergie potentielle :
ou est une constante qui dépend uniquement de la température, et est décrit plus bas. Le brin d'ADN est modélisé comme une chaine de petits fragments rigides de longueur .
FIGURE 5 - Modélisation d'un long morceau d'ADN sous la forme d'une chaîne de bâtonnets.
On appelle le vecteur déplacement associé au fragment . On considère la direction des bâtonnets comme indépendantes les unes des autres, c'est à dire que l'angle formé par les vecteurs et est aléatoire, réparti uniformément entre 0 et , si .
7. Quelle est la valeur moyenne du produit scalaire lorsque ?
8. Quelle est, dans ce cas, la valeur moyenne de ? Même question pour la valeur de moyenne de .
9. En envisageant une déformation unidimensionnelle, en déduire l'expression de la force élastique exercée par un brin d'ADN de longueur totale , et dont les extrémités sont séparées de . Donner votre réponse en fonction de et .

Partie III : MANIPULATION DES MOLÉCULES D'ADN

Pour mesurer ces forces, une méthode fréquemment utilisée est la pince optique. Cette méthode consiste à attacher le brin d'ADN à une petite bille de polystyrène, et la bille de polystyrène est elle même piégée par un faisceau lumineux. L'objectif de cette partie est de comprendre comment un faisceau lumineux peut piéger la bille.
FIGURE 6 - Schéma expérimental d'une pince optique. Le niveau de gris indique l'intensité lumineuse du faisceau laser.
Lorsque la bille est illuminée par une lumière cohérente (celle d'un laser par exemple), un pôle chargé positivement apparait sur la bille, ainsi qu'un pôle négatif du fait de la nature électromagnétique de la lumière. Du point de vue électrique, tout se passe comme si la bille était constituée de deux points ( ), et ( ). La neutralité de la bille garantie que les deux charges sont exactement opposées l'une de l'autre.
Figure 7 - Modélisation de la distribution de charge sur la bille.
On note le centre de la bille, et . Dans tout le problème, on néglige le champ électrique que génèrent les deux charges situées en et par rapport au champ électrique extérieur.
10. On soumet cette bille à un champ électrique extérieur uniforme. Quelle est la force électrique exercée sur la charge située en ? Quelle est la force électrique exercée sur la charge située en ? En déduire la force électrique totale exercée sur la bille?
La charge située en est possiblement en mouvement à une vitesse . De même pour qui se déplace à la vitesse .
11. On soumet cette bille à un champ magnétique extérieur uniforme. Quelle est la force magnétique exercée sur la charge située en ? Quelle est la force magnétique exercée sur la charge située en ? En déduire que la force magnétique totale exercée sur la bille s'exprime sous la forme :
On modélise le caractère local de l'éclairage lumineux de la pince optique par un champ électrique d'amplitude non-uniforme. Plus exactement, on suppose que le champ électrique prend la forme suivante :
est une constante connue.
12. Quelle est la direction de propagation ainsi que la polarisation de cette onde de champ électrique?
Lorsque le champ électromagnétique n'est pas trop intense, on peut montrer que les forces électriques et magnétiques exercées sur la bille se mettent sous la forme forme :
avec
est une constante caractéristique du matériau de la bille et de l'environnement. Enfin, on rappelle la définition de moyenne temporelle d'une fonction de période :
  1. Donner l'expression de la moyenne temporelle de la force exercée sur la bille.
  2. Donner l'expression de la moyenne temporelle de la dérivée d'une fonction périodique : . En déduire la valeur moyenne de la force exercée sur la bille.
  3. Calculer l'intensité lumineuse associée à ce champ électromagnétique.
  4. En déduire que la force électromagnétique moyenne peut se mettre sous la forme :
est proportionnel à l'intensité lumineuse.
17. Faire un schéma qui illustre l'orientation de la force électromagnétique moyenne exercée sur la bille, lorsqu'elle est dans un profil lumineux conforme à la figure 6.

Partie Informatique

On pourra dans la suite du sujet utiliser les objets python de type liste ou les objets de type numpy . ndarray pour représenter une liste ou un tableau. Les listes entrées en argument seront non vides. Un document en annexe rappelle les opérations et fonctions usuelles des librairies numpy et matplotlib. On considère que ces librairies ont été importées avec le code :
import numpy as np
import matplotlib.pyplot as plt

Principe d'une mesure d'Élasticité d' ADN

On s'intéresse dans cette partie du sujet à la mesure de l'effort qui s'exerce sur un brin d'ADN dont on souhaite déterminer les caractéristiques mécaniques. Le dispositif utilisé est un piège optique tel que décrit dans la première partie. La puissance du laser est imposée à une valeur constante. Le brin d'ADN est fixé à la bille par une de ses extrémités. L'autre extrémité est liée à un plateau mobile. La force agissant sur la bille est déduite par la mesure interférométrique de la position de la bille par rapport au centre du piège. Le capteur renvoie une tension proportionnelle au déplacement et donc à la force exercée par le montage sur la bille. Pour déplacer finement l'échantillon ( d'amplitude maximale), le plateau mobile est actionné par des cales piézo-électriques associées à une mesure capacitive de déplacement. Le déplacement est asservi, ce qui permet d'imposer une position avec une précision au nanomètre.
Figure 8 - Dispositif de mesure
On donne figure 9 les caractéristiques de la tension en fonction du déplacement de la bille par rapport au centre optique (chaque courbe correspond à des billes de diamètres différents).
18. Pour quel intervalle de déplacement de la bille la tension est-elle une loi affine du déplacement? Donner alors et tels que : .
La tension est numérisée et codée par un entier naturel sur 16 bits.
19. Quel est l'ordre de grandeur de la résolution de la mesure de permise par cette mesure?
Figure 9 - Tension mesurée en fonction du déplacement de la bille.
Le diamètre de des billes est de l'ordre de grandeur de la longueur d'onde du laser et ne permet donc pas d'utiliser simplement les règles de l'électromagnétisme, ni de l'optique géométrique pour calculer la force exercée par la lumière sur la bille. Il faut donc procéder à une calibration expérimentale. Nous allons étudier deux méthodes différentes de calibration.

Fonctions de base :

Nous allons définir des fonctions qui devront être utilisées dans la suite du sujet. Les fonctions sum() et mean() sont proscrites.
20. Écrire une fonction somme(a) qui prend pour argument une liste et retourne la somme de ses éléments.
21. Écrire une fonction moyenne(a) qui prend pour argument une liste et retourne la moyenne de ses éléments.
On rappelle que la variance est la moyenne des écarts à la moyenne au carré :
désigne la moyenne des
22. Écrire une fonction variance(a) qui prend pour argument une liste et retourne la variance de ses éléments.

Méthode 1 : OSCILLATIONS FORCÉES DE LA BILLE DANS UN LIQUIDE

Le principe de l'expérience consiste à capturer une bille dans le piège, à faire osciller l'échantillon et enfin, à mesurer la réponse de la bille. La figure 10 représente sur un même graphique la mesure du déplacement de la bille via la tension ainsi que le déplacement sinusoïdal imposé par les cales piézo-électriques. Dans un intervalle de fréquence bien choisi, l'amplitude du mouvement de la bille est proportionnelle au mouvement de l'échantillon et en quadrature de phase avec le déplacement imposé, de telle sorte que :
avec le déplacement imposé, la raideur du piège et le coefficient de frottement de l'eau. Cette méthode donne in fine la constante telle que la force recherchée vérifie :
Figure 10 - Évolution temporelle des tensions mesurées avec la méthode 1.
On réitère la mesure pour différentes fréquences puis l'on cherche la corrélation entre et la fréquence par une régression linéaire via une minimisation de l'erreur au carré comme représenté Figure 11
Figure 11 - Tensions mesurées par la méthode 1. Régression linéaire en fonction de la fréquence.
Le principe de la méthode des moindres carrés linéaires consiste à chercher la solution qui minimise la somme des erreurs au carré entre les données expérimentales et une fonction de la forme :
où les fonctions sont connues, et où les coefficients sont les inconnues du problème. On cherche alors les coefficients qui minimisent :
Notons qu'il faut que , la taille des données soit telle que .
Pour faire une régression linéaire, on choisit donc :
Et donc :
  1. Montrer que:
On admet que peut également s'écrire :
  1. Écrire une fonction regression_lineaire( ) qui prend pour arguments deux listes d'abscisses et d'ordonnées y et qui retourne les coefficients et tels que définis ci-dessus.
  2. Évaluer l'ordre de la complexité d'un appel à la fonction regression_lineaire en fonction de la taille des données .
  3. Écrire un script qui permet de tracer la figure ci-dessus à partir de la liste des tensions et des fréquences correspondantes, les barres d'erreur ne sont pas à représenter.
Afin d'améliorer la corrélation on peut effectuer plusieurs mesures de la tension pour une même fréquence . On retiendra alors la moyenne des mesures pour une fréquence et l'on pourra évaluer la qualité de la mesure à cette fréquence en calculant la variance. On considère à présent que l'on dispose d'une liste f de dimension et d'une liste de liste U de dimension . U[i] est donc la liste des mesures effectuées à la fréquence .
27. Écrire une fonction traitement (a) qui prend pour argument une liste de liste de dimension et retourne une liste de liste de même dimension calculant la moyenne et la variance pour tout élément de . On aura donc len(traitement(a) [i])=2.
On peut généraliser la méthode de régression linéaire estimée par les moindres carrés, pour tout ordre par:
où l'on a appelé
  • les coefficients de la régression
  • et les listes des données expérimentales,
  • la matrice "Jacobienne".
  • est la matrice (diagonale) des poids, étant la variance de la mesure .
Les mesures et leur variance seront fournies dans une même liste de listes yv telle que yv [i] retourne
28. Écrire une fonction regression_lineaire_gen( , listf) qui prend pour argument une liste d'abscisses , une liste de liste d'ordonnées et leur variances yv, une liste de fonction listf et qui retourne les coefficients de la régression linéaire comme défini ci-dessus. On rappelle qu'une documentation partielle est disponible en annexe.
29. Évaluer l'ordre de la complexité d'un appel à la fonction regression_lineaire_gen() pour et quelconques. Comparer à la question 25. pour .

Méthode 2 : ANALYSE DU MOUVEMENT BROWNIEN D'UNE BILLE PIÉGÉE

On analyse dans cette méthode le mouvement brownien de la bille. Une équation approchée de ce mouvement est donnée par l'équation de Langevin :
avec et des constantes.
La force de Langevin correspond à un bruit blanc. Son "spectre de puissance" correspond au module de la fonction de transfert harmonique au carré. Il est noté : et a pour expression :
avec la constante de Boltzmann, et la température.
30. En transformant l'équation de Langevin dans le domaine de Laplace harmonique (à condition initiale nulles) avec , exprimer le spectre de puissance du mouvement brownien de la bille en fonction de et .
31. Montrer que est la fréquence du signal. Donner l'expression de .
Le déplacement de la bille est mesuré par le même dispositif que pour la méthode 1 et l'on dispose de son image en tension . On réalise une série de mesures à partir desquelles on établit numériquement la densité spectrale liée à la tension . La Figure 12 représente la densité spectrale déterminée expérimentalement et une régression de cette densité telle que nous allons l'établir.
FIGURE 12 - Densité spectrale et identification
En exploitant les calculs précédents on montre que la force exercée sur la bille est liée à la tension par :
l'aire sous la courbe du spectre de puissance expérimental . On dispose d'une liste Su et d'une liste de dimension qui contiennent respectivement les valeurs numériques du spectre de puissance et de la fréquence correspondante. On souhaite à présent déterminer et .
32. Écrire une fonction aire ( ) qui détermine l'aire sous la courbe définie par une liste d'abscisses x et d'ordonnées y de même dimension. Vous expliciterez clairement la méthode choisie.
Pour évaluer nous allons dans un premier temps chercher la fonction de la forme (voir question 31.) :
qui minimise l'erreur au carré avec le spectre expérimental. Le problème de minimisation étant cette fois non linéaire, on applique la méthode de descente du gradient qui consiste, comme pour la méthode de Newton, à rechercher itérativement les coefficients et qui annulent le gradient de l'erreur définie par:
Le principe de l'algorithme est le suivant :
  • On choisit d'initialiser et à deux valeurs et .
  • On choisit le pas de résolution et la condition d'arrêt du gradient.
  • On calcule de façon itérative les coefficients et :
  • L'algorithme s'arrête lorsque :
  1. Donner les expressions analytiques de et .
  2. Écrire les fonctions et dG_da1 (f, a ) qui retournent respectivement la valeur de et en fonction de leurs arguments.
  3. Donner les expressions analytiques de et , en fonction de et et des données.
  4. Écrire une fonction methode_gradient ( , err) qui détermine et retourne les paramètres optimaux et .
  5. En considérant que itérations sont nécessaires pour atteindre la condition d'arrêt de l'algorithme, donner la complexité de la méthode du gradient en fonction de la taille des données expérimentales
  6. Écrire une fonction force(Su,f, h, a00, a10) qui détermine et retourne la force exercée sur la bille.

Fin de l'énoncé

Documentation partielle

Fonction plot

matplotlib.pyplot.plot(*args, **kwargs)
Plot lines and/or markers to the Axes. args is a variable length argument, allowing for multiple pairs with an optional format string. For example, each of the following is legal :
plot(x, y) # plot x and y using default line style and color
plot(x, y, 'bo') # plot x and y using blue circle markers
plot(x, y, 'gs') # ditto, but with green square markers
plot(y) # plot y using x as index array 0..N-1
plot(y, 'r+') # ditto, but with red plusses
En plus de la fonction plot, le module matplotlib. pyplot propose diverses fonctions dédiées à la mise en forme des graphiques. En voici quelques-unes :
  • xlabel(s) : écrit le contenu de la chaîne s comme étiquette des abscisses.
  • ylabel(s) : écrit le contenu de la chaîne s comme étiquette des ordonnées.
  • title(s) : écrit le contenu de la chaîne s comme titre du graphique.
  • legend (L) : donne une légende au graphique. L doit être une liste de chaînes : L [0] est la légende de la première courbe, L[1] de la deuxième, etc.

Opérations de base sur les tableaux de type numpy :

  • numpy . crée un nouveau tableau contenant les éléments de la séquence u. La taille et le type des éléments de ce tableau sont déduits du contenu de u.
  • numpy.empty( , dtype), numpy.empty(( ), dtype) crée respectivement un vecteur à éléments ou un tableau à n lignes et colonnes dont les éléments, de valeurs indéterminées, sont de type dtype qui peut être un type standard (bool, int, float, . . .) ou un type spécifique numpy (numpy.int16, numpy.float32, ...). Si le paramètre dtype n'est pas précisé, il prend la valeur float par défaut.
  • numpy. zeros(n, dtype), numpy. zeros((n, m), dtype) fonctionne comme numpy.empty en initialisant chaque élément à la valeur zéro pour les types numériques ou False pour les types booléens.
  • a.ndim nombre de dimensions du tableau a.
  • a.shape tuple donnant la taille du tableau a pour chacune de ses dimensions.
  • len (a) taille du tableau a dans sa première dimension, équivalent à a.shape [0]
  • a.size nombre total d'éléments du tableau a.
  • numpy.transpose(a) renvoie le transposé du tableau a.
  • numpy. calcule le produit matriciel des tableaux a et b.
  • numpy.linalg.inv(a) renvoie l'inverse du tableau a, lève l'exception ValueError si a n'est pas un tableau carré à deux dimensions et LinAlgError si a n'est pas inversible.
Banque PT Modélisation PT 2023 - Version Web LaTeX | WikiPrépa | WikiPrépa