chore: update documentation to reflect recent architectural changes and improve clarity

This commit is contained in:
Sepehr
2026-03-10 22:59:04 +01:00
parent d88914a44f
commit 891c4ba436
530 changed files with 2544 additions and 1513 deletions

View File

@@ -250,7 +250,19 @@ fn main() {
let result = config.solve(&mut system);
let mut html = String::new();
html.push_str("<html><head><meta charset=\"utf-8\"><title>Cycle Solver Integration Results</title>");
html.push_str("<style>body{font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; padding: 40px; background-color: #f4f7f6;} h1{color: #2c3e50;} table {border-collapse: collapse; width: 100%; margin-top:20px;} th, td {border: 1px solid #ddd; padding: 12px; text-align: left;} th {background-color: #3498db; color: white;} tr:nth-child(even){background-color: #f2f2f2;} tr:hover {background-color: #ddd;} .success{color: #27ae60; font-weight:bold;} .error{color: #e74c3c; font-weight:bold;} .info-box {background-color: #ecf0f1; border-left: 5px solid #3498db; padding: 15px; margin-bottom: 20px;}</style>");
html.push_str("<style>body{font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; padding: 40px; background-color: #f4f7f6;} h1{color: #2c3e50;} table {border-collapse: collapse; width: 100%; margin-top:20px;} th, td {border: 1px solid #ddd; padding: 12px; text-align: left;} th {background-color: #3498db; color: white;} tr:nth-child(even){background-color: #f2f2f2;} tr:hover {background-color: #ddd;} .success{color: #27ae60; font-weight:bold;} .error{color: #e74c3c; font-weight:bold;} .info-box {background-color: #ecf0f1; border-left: 5px solid #3498db; padding: 15px; margin-bottom: 20px;}");
html.push_str(".cycle-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; max-width: 700px; margin: 50px auto; position: relative; }");
html.push_str(".cycle-node { background: white; padding: 30px 20px; border-radius: 20px; box-shadow: 0 10px 40px rgba(0,0,0,0.08); text-align: center; position: relative; border: 1px solid #edf2f7; transition: transform 0.3s ease, box-shadow 0.3s ease; }");
html.push_str(".cycle-node:hover { transform: translateY(-5px); box-shadow: 0 15px 50px rgba(0,0,0,0.12); }");
html.push_str(".node-comp { border-bottom: 8px solid #e53e3e; }");
html.push_str(".node-cond { border-bottom: 8px solid #dd6b20; }");
html.push_str(".node-valve { border-bottom: 8px solid #38a169; }");
html.push_str(".node-evap { border-bottom: 8px solid #3182ce; }");
html.push_str(".node-icon { font-size: 40px; margin-bottom: 15px; }");
html.push_str(".node-title { font-weight: 800; color: #2d3748; font-size: 20px; letter-spacing: -0.5px; }");
html.push_str(".node-subtitle { font-size: 14px; color: #718096; margin-top: 6px; font-weight: 500; }");
html.push_str(".state-label { position: absolute; background: #2d3748; color: white; padding: 6px 12px; border-radius: 20px; font-size: 12px; font-weight: 600; box-shadow: 0 4px 10px rgba(0,0,0,0.1); white-space: nowrap; z-index: 10;}");
html.push_str("</style>");
html.push_str("</head><body>");
html.push_str("<h1>Résultats de l'Intégration du Cycle Thermodynamique (Contrôle Inverse)</h1>");
@@ -263,6 +275,42 @@ fn main() {
html.push_str("<li><b>Actionneur (Bounded Variable)</b> : Modification dynamique de l'ouverture de la vanne (valve_opening) dans les limites [0.0 - 1.0].</li>");
html.push_str("</ul></div>");
html.push_str("<div class=\"cycle-grid\">");
// Compressor (Top Left)
html.push_str("<div class=\"cycle-node node-comp\">");
html.push_str("<div class=\"state-label\" style=\"top: 20px; right: -70px;\">HP Gaz 🌡️➔</div>");
html.push_str("<div class=\"node-icon\">⚙️</div>");
html.push_str("<div class=\"node-title\">Compresseur</div>");
html.push_str("<div class=\"node-subtitle\">Compression isentropique</div>");
html.push_str("</div>");
// Condenser (Top Right)
html.push_str("<div class=\"cycle-node node-cond\">");
html.push_str("<div class=\"state-label\" style=\"bottom: -20px; left: 50%; transform: translateX(-50%);\">⬇️ HP Liquide 💧</div>");
html.push_str("<div class=\"node-icon\">♨️</div>");
html.push_str("<div class=\"node-title\">Condenseur</div>");
html.push_str("<div class=\"node-subtitle\">Rejet de chaleur (Désurchauffe/Condensation)</div>");
html.push_str("</div>");
// Evaporator (Bottom Left)
html.push_str("<div class=\"cycle-node node-evap\">");
html.push_str("<div class=\"state-label\" style=\"top: -20px; left: 50%; transform: translateX(-50%);\">⬆️ BP Gaz 🌀</div>");
html.push_str("<div class=\"node-icon\">❄️</div>");
html.push_str("<div class=\"node-title\">Évaporateur</div>");
html.push_str("<div class=\"node-subtitle\">Absorption chaleur utile (Surchauffe visée)</div>");
html.push_str("</div>");
// Valve (Bottom Right)
html.push_str("<div class=\"cycle-node node-valve\">");
html.push_str("<div class=\"state-label\" style=\"top: 20px; left: -80px;\">⬅️ BP Mixte 🌫️</div>");
html.push_str("<div class=\"node-icon\">🎛️</div>");
html.push_str("<div class=\"node-title\">Vanne de Détente</div>");
html.push_str("<div class=\"node-subtitle\">Détente isenthalpique (variable)</div>");
html.push_str("</div>");
html.push_str("</div>");
match result {
Ok(converged) => {
html.push_str(&format!("<p class='success'>✅ Modèle Résolu Thermodynamiquement avec succès en {} itérations de Newton-Raphson.</p>", converged.iterations));