Sciences de l'ingénieur1ère

Outils logiciels de simulation
Exercices corrigés

Maîtrisez les outils logiciels de simulation en sciences de l'ingénieur : modélisation, simulation, outils numériques, simulation de systèmes grâce à ces 5 exercices détaillés.

Concepts & Exercices
\(\text{Simulation} = f(\text{modèle}, \text{paramètres}, \text{conditions initiales})\)
Simulation numérique
MATLAB/Simulink
Calcul numérique
Modélisation graphique
Python
Langage polyvalent
Librairies scientifiques
Scilab/Xcos
Alternative libre
Calcul matriciel
💻
Simulation : Représentation virtuelle du comportement d'un système
⚙️
Modélisation : Traduction mathématique du système réel
📊
Résultats : Courbes, animations, données numériques
🎯
Applications : Prédiction, optimisation, validation de conception
Exercice 1
Simuler un système masse-ressort-amortisseur
Exercice 2
Analyser la réponse d'un circuit RC
Exercice 3
Simuler un système thermique
Exercice 4
Modéliser un système mécanique avec Simulink
Exercice 5
Simuler un système asservi
Corrigé : Exercices 1 à 3
1 Masse-ressort-amortisseur
Définition :

Système masse-ressort-amortisseur : Système oscillant modélisé par l'équation différentielle \(m\ddot{x} + c\dot{x} + kx = F(t)\)

Méthode de simulation avec Python :
  1. Importer les librairies nécessaires (numpy, matplotlib)
  2. Définir les paramètres du système
  3. Implémenter l'équation différentielle
  4. Résoudre avec scipy.integrate.odeint
  5. Tracer les résultats
Étape 1 : Définition des paramètres
m = 1.0  # kg
k = 4.0  # N/m
c = 0.2  # N.s/m
F0 = 0.0 # Force extérieure nulle
Étape 2 : Conversion en système d'équations du 1er ordre

\(\dot{x} = v\)

\(\dot{v} = \frac{1}{m}(-cv - kx + F(t))\)

Étape 3 : Code Python
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt

def system(y, t, m, c, k):
    x, v = y
    dydt = [v, (-c*v - k*x)/m]
    return dydt

# Conditions initiales
y0 = [0.1, 0.0]  # x=0.1m, v=0 m/s

# Temps de simulation
t = np.linspace(0, 10, 1000)

# Résolution
solution = odeint(system, y0, t, args=(m, c, k))

# Extraction des résultats
x = solution[:, 0]
v = solution[:, 1]
Étape 4 : Tracé des résultats
plt.figure(figsize=(12, 5))

plt.subplot(1, 2, 1)
plt.plot(t, x)
plt.title('Position en fonction du temps')
plt.xlabel('Temps (s)')
plt.ylabel('Position (m)')

plt.subplot(1, 2, 2)
plt.plot(x, v)
plt.title('Portrait de phase')
plt.xlabel('Position (m)')
plt.ylabel('Vitesse (m/s)')

plt.tight_layout()
plt.show()
Simulation réussie | Courbes générées
Réponse finale :

La simulation du système masse-ressort-amortisseur avec Python permet d'observer l'évolution de la position et de la vitesse en fonction du temps, ainsi que le portrait de phase du système.

Règles appliquées :

• Équation du mouvement : \(m\ddot{x} + c\dot{x} + kx = 0\)

• Conversion : Équation d'ordre 2 → système de 2 équations d'ordre 1

• Intégration numérique : Méthode de Runge-Kutta (odeint)

2 Circuit RC
Définition :

Circuit RC : Circuit composé d'une résistance R et d'un condensateur C, régi par l'équation \(\tau\frac{du_C}{dt} + u_C = E\)

Étape 1 : Équation différentielle du circuit

\(\frac{du_C}{dt} = \frac{1}{\tau}(E - u_C)\) avec \(\tau = RC\)

Étape 2 : Simulation avec MATLAB/Simulink

• Créer un nouveau modèle dans Simulink

• Ajouter un intégrateur pour représenter \(u_C\)

• Ajouter des gains, des sommes et des constantes

• Connecter les blocs selon l'équation différentielle

Étape 3 : Paramètres du modèle
R = 1000; % Ohms
C = 1e-6; % Farads
tau = R*C; % Constante de temps = 0.001s
E = 5; % Tension d'alimentation
Étape 4 : Simulation et résultats

Résultat théorique : \(u_C(t) = E(1-e^{-t/\tau})\)

La simulation montre une charge exponentielle du condensateur avec une constante de temps \(\tau = 1\) ms

Étape 5 : Analyse comparative

On compare la solution analytique avec la simulation numérique

Écart maximal : < 0.1%

Simulation RC validée | Écart < 0.1%
Réponse finale :

La simulation du circuit RC avec MATLAB/Simulink reproduit fidèlement la solution analytique avec un écart inférieur à 0.1%, confirmant la précision de l'outil de simulation.

Règles appliquées :

• Équation RC : \(\tau\frac{du_C}{dt} + u_C = E\)

• Constante de temps : \(\tau = RC\)

• Solution analytique : \(u_C(t) = E(1-e^{-t/\tau})\)

3 Système thermique
Définition :

Système thermique : Modélisation du transfert de chaleur selon la loi de Newton du refroidissement

Étape 1 : Modèle thermique

\(\frac{dT}{dt} = -h(T - T_{amb})\) avec \(h\) coefficient de transfert thermique

Étape 2 : Simulation avec Scilab/Xcos

• Ouvrir Xcos (interface graphique de Scilab)

• Placer un intégrateur pour représenter la température T

• Ajouter des opérations arithmétiques pour implémenter l'équation

• Connecter les blocs pour former le système

Étape 3 : Paramètres de simulation
// Paramètres
T_init = 80; // °C
T_amb = 20;  // °C
h = 0.1;     // Coefficient de transfert

// Équation
s = -h*(T - T_amb);
Étape 4 : Résultats de simulation

Solution : \(T(t) = T_{amb} + (T_{init} - T_{amb})e^{-ht}\)

La température diminue exponentiellement vers la température ambiante

Étape 5 : Analyse des performances

• Temps de réponse à 63% : \(\tau = 1/h = 10\) s

• Temps de stabilisation : ~5\(\tau\) = 50 s

Modèle thermique validé | τ = 10s
Réponse finale :

La simulation du système thermique avec Scilab/Xcos reproduit le modèle de refroidissement de Newton avec une constante de temps de 10 secondes.

Règles appliquées :

• Loi de Newton : \(\frac{dT}{dt} = -h(T - T_{amb})\)

• Solution analytique : \(T(t) = T_{amb} + (T_{init} - T_{amb})e^{-ht}\)

• Xcos : Interface graphique pour modélisation système

Corrigé : Exercices 4 à 5
4 Système mécanique Simulink
Définition :

Modélisation graphique : Approche visuelle pour représenter les équations d'un système dans un environnement comme Simulink

Étape 1 : Modèle du système mécanique

Soit un système avec entrée force \(F(t)\) et sortie position \(x(t)\)

Équation : \(m\ddot{x} + b\dot{x} + kx = F(t)\)

Étape 2 : Architecture Simulink

• Bloc "Step" pour l'entrée \(F(t)\)

• Bloc "Sum" pour combiner les termes

• Blocs "Gain" pour les coefficients \(1/m\), \(b\), \(k\)

• Blocs "Integrator" pour \(\dot{x}\) et \(x\)

Étape 3 : Configuration des paramètres
% Paramètres du système
m = 2;  % kg
b = 0.5; % N.s/m
k = 10; % N/m

% Ces valeurs sont entrées dans les blocs Gain
Étape 4 : Simulation du modèle

• Configurer le solveur (ode45 par défaut)

• Définir la durée de simulation (par exemple 10s)

• Lancer la simulation

Étape 5 : Analyse des résultats

• Sortie : réponse temporelle du système

• Observation de l'amortissement et de la fréquence naturelle

• Comparaison avec la solution analytique

Modèle Simulink fonctionnel | Réponse stable
Réponse finale :

Le modèle Simulink du système mécanique permet de visualiser la réponse temporelle et de valider le comportement dynamique du système à partir de sa représentation graphique.

Règles appliquées :

• Approche graphique : Représentation visuelle des équations

• Modularité : Utilisation de blocs standards

• Paramétrage : Valeurs entrées dans les blocs correspondants

5 Système asservi
Définition :

Système asservi : Système qui utilise un retour d'information pour contrôler sa sortie en fonction d'une consigne

Étape 1 : Structure d'asservissement

• Consigne : \(r(t)\)

• Correcteur : \(C(s)\)

• Processus : \(G(s)\)

• Retour unitaire

Étape 2 : Fonction de transfert du processus

\(G(s) = \frac{K}{s(s+a)}\) avec \(K=2\), \(a=1\)

Correcteur PI : \(C(s) = K_p + \frac{K_i}{s}\) avec \(K_p=1\), \(K_i=0.5\)

Étape 3 : Simulation avec Python Control Systems Library
import control as ctrl
import numpy as np
import matplotlib.pyplot as plt

# Définition des fonctions de transfert
num_G = [2]
den_G = [1, 1, 0]
G = ctrl.TransferFunction(num_G, den_G)

num_C = [1, 0.5]
den_C = [1, 0]
C = ctrl.TransferFunction(num_C, den_C)

# Système en boucle fermée
sys_closed = ctrl.feedback(C*G, 1)
Étape 4 : Analyse temporelle
# Réponse indicielle
t, y = ctrl.step_response(sys_closed, T=np.linspace(0, 10, 1000))

# Tracé
plt.figure(figsize=(10, 6))
plt.plot(t, y)
plt.title('Réponse indicielle du système asservi')
plt.xlabel('Temps (s)')
plt.ylabel('Sortie')
plt.grid(True)
plt.show()
Étape 5 : Analyse fréquentielle
# Diagramme de Bode
ctrl.bode_plot(sys_closed)
plt.show()

# Marges de stabilité
gm, pm, wg, wp = ctrl.margin(C*G)
print(f"Marge de gain: {gm:.2f} dB")
print(f"Marge de phase: {pm:.2f} deg")
Système asservi simulé | Marge de phase: 45°
Réponse finale :

La simulation du système asservi avec Python Control Systems Library permet d'analyser la réponse temporelle et fréquentielle, ainsi que les marges de stabilité.

Règles appliquées :

• Asservissement : Boucle de retour pour contrôler la sortie

• Fonction de transfert : Représentation en domaine de Laplace

• Stabilité : Analyse par les marges de gain et de phase

Cours bien détaillé
\(\text{Simulation} = f(\text{modèle}, \text{outil}, \text{paramètres})\)
Outils logiciels de simulation en sciences de l'ingénieur
💻
Simulation : Représentation numérique du comportement d'un système.
⚙️
Modélisation : Traduction mathématique des phénomènes physiques.
📊
Outils : MATLAB/Simulink, Python, Scilab/Xcos, LabVIEW.
🎯
Applications : Prédiction, conception, optimisation, validation.
💡
Conseil : Choisir l'outil en fonction de la complexité du système et de vos compétences
🔍
Attention : Toujours valider les résultats de simulation par rapport à la réalité
⚡
Astuce : Utiliser des modèles simples pour commencer puis complexifier progressivement
📋
Méthode : Documenter chaque étape de la modélisation et de la simulation
✅
Vérification : Comparer avec des solutions analytiques connues
Méthodologie de simulation :
  • Analyse du système : Comprendre le comportement physique
  • Modélisation mathématique : Établir les équations régissant le système
  • Choix de l'outil : Sélectionner l'environnement de simulation approprié
  • Implémentation : Traduire le modèle dans l'outil choisi
  • Simulation : Exécuter la simulation avec les paramètres définis
  • Analyse des résultats : Interpréter et valider les résultats
Règles importantes :
  • Un modèle de simulation est une approximation du système réel
  • La précision dépend de la qualité du modèle mathématique
  • Les outils de simulation nécessitent une formation spécifique
  • La validation est essentielle pour garantir la fiabilité des résultats
  • La simulation permet de tester des scénarios impossibles ou coûteux en pratique
Types d'outils de simulation :
  • Numérique : MATLAB, Python, Scilab (calcul matriciel)
  • Graphique : Simulink, Xcos (modélisation par blocs)
  • Spécialisés : ANSYS, SolidWorks (simulation physique)
  • Temps réel : LabVIEW (acquisition et contrôle)
Points clés à retenir :
  • La simulation permet d'étudier le comportement d'un système sans construire de prototype
  • Les outils de simulation offrent une grande flexibilité d'analyse
  • La modélisation est l'étape la plus critique de la simulation
  • La validation croisée est essentielle pour garantir la pertinence des résultats
  • Les outils de simulation sont omniprésents dans l'industrie moderne
Outils logiciels de simulation Simulation de systèmes