download
raw
3.01 kB
import streamlit as st
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from scipy import linalg
import plotly.graph_objects as go
from plotly.subplots import make_subplots
import time
def show_introduction():
"""Affiche l'introduction aux concepts de jumeaux numériques"""
st.header("📚 Introduction aux Jumeaux Numériques")
col1, col2 = st.columns([2, 1])
with col1:
st.markdown("""
### Définition et concepts clés
Un **jumeau numérique** est une réplique virtuelle d'un système physique qui :
1. **Intègre des modèles physiques** de différentes fidélités
2. **Assimile des données** issues de capteurs en temps réel
3. **Permet le pilotage** du système physique
4. **Évolue avec le système** tout au long de son cycle de vie
### Composants essentiels
- **Modèles de connaissance** : équations de la mécanique
- **Capteurs et données** : mesures réelles du système
- **Algorithmes d'estimation** : Filtre de Kalman
- **Algorithmes de contrôle** : PID, contrôle optimal
- **Interfaces** : visualisation, interaction
""")
with col2:
st.image("https://via.placeholder.com/400x300/4A90E2/FFFFFF?text=Digital+Twin+Architecture",
caption="Architecture d'un jumeau numérique")
# Démonstration interactive simple
st.subheader("🔄 Démonstration interactive")
col1, col2, col3 = st.columns(3)
with col1:
model_fidelity = st.slider("Fidélité du modèle", 0.1, 1.0, 0.7, 0.1,
help="Compromis précision/coût calcul")
with col2:
sensor_noise = st.slider("Bruit des capteurs", 0.0, 0.5, 0.1, 0.05,
help="Niveau de bruit de mesure")
with col3:
control_gain = st.slider("Gain de contrôle", 0.1, 2.0, 1.0, 0.1,
help="Agressivité du contrôleur")
# Visualisation simple
fig = go.Figure()
# Système réel (simulé)
t = np.linspace(0, 10, 100)
system_response = np.sin(t) + np.random.normal(0, sensor_noise, len(t))
# Modèle du jumeau numérique
model_response = model_fidelity * np.sin(t) + 0.1
fig.add_trace(go.Scatter(x=t, y=system_response,
mode='lines', name='Système réel',
line=dict(color='blue', dash='dash')))
fig.add_trace(go.Scatter(x=t, y=model_response,
mode='lines', name='Jumeau numérique',
line=dict(color='red')))
fig.update_layout(title="Comparaison système réel / jumeau numérique",
xaxis_title="Temps (s)",
yaxis_title="Réponse du système",
height=400)
st.plotly_chart(fig, use_container_width=True)

Xet Storage Details

Size:
3.01 kB
·
Xet hash:
44ea17c5616f62691772b2df508be012b38a31fb162b22a78ab8e2910fbc0c27

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.