Commit a993808e authored by Grand Francois's avatar Grand Francois
Browse files

remous : correction d'un bug de calcul du paramètre supplémentaire lorsqu'un...

remous : correction d'un bug de calcul du paramètre supplémentaire lorsqu'un la ligne fluviale ou torrentiel était vide
Showing with 61 additions and 1 deletion
+61 -1
...@@ -378,4 +378,64 @@ describe('Class Remous / section rectangulaire :', () => { ...@@ -378,4 +378,64 @@ describe('Class Remous / section rectangulaire :', () => {
compareLog(rem.log, expLog); compareLog(rem.log, expLog);
}); });
it("faible pente, pas de fluvial, torrentiel tronqué, calcul Hs", () => {
let prms = new ParamsSectionRectang(undefined, // tirant d'eau
2.5, // largeur de fond
40, // Ks=Strickler
2, // Q=Débit
0.001, // If=pente du fond
precDist, // précision
1 // YB=hauteur de berge
);
let sect = new cSnRectang(prms);
let prem = new CourbeRemousParams(sect, 0.15, // Yamont = tirant amont
0.4, // Yaval = tirant aval
100, // Long= Longueur du bief
5, // Dx=Pas d'espace
MethodeResolution.Trapezes
);
let rem = new CourbeRemous(prem);
let res = rem.calculRemous("Hs");
// données de validation : version PHP (Oct 2017) méthode trapèzes
expect(Object.keys(res["flu"]).length == 0).toBeTruthy("la ligne d'eau fluviale ne devrait comporter aucune valeur");
let t = { 0.000: 0.15, 5.000: 0.239, 10.000: 0.34 };
compareObject("Ytorrentiel", res["tor"], t, 0.008);
let x = [0.000, 5.000, 10.000];
compareArray("abscisses", res["trX"], x);
let extraHS = { 0.000: 1.6, 5.000: 0.808, 10.000: 0.618 };
compareObject("extra (Hs)", res["tRes"], extraHS, 0.001);
let expLog = new cLog();
let m = new Message(MessageCode.ERROR_REMOUS_LARGEUR_BERGE);
m.extraVar["B"] = 2.5;
expLog.add(m);
m = new Message(MessageCode.ERROR_REMOUS_H_CRITIQUE);
m.extraVar["Yc"] = 0.403;
expLog.add(m);
m = new Message(MessageCode.ERROR_REMOUS_H_NORMALE);
m.extraVar["Yn"] = 0.953;
expLog.add(m);
expLog.add(new Message(MessageCode.ERROR_REMOUS_PAS_CALCUL_DEPUIS_AVAL));
expLog.add(new Message(MessageCode.ERROR_REMOUS_CALCUL_TORRENTIEL));
m = new Message(MessageCode.ERROR_REMOUS_ARRET_CRITIQUE);
m.extraVar["x"] = 15;
expLog.add(m);
compareLog(rem.log, expLog);
});
}); });
...@@ -664,7 +664,7 @@ export class CourbeRemous extends Nub { ...@@ -664,7 +664,7 @@ export class CourbeRemous extends Nub {
// Calcul de la variable à calculer // Calcul de la variable à calculer
let tRes: { [key: number]: number } = {}; let tRes: { [key: number]: number } = {};
if (val_a_cal != undefined && nFlu != 0 && nTor != 0) { if (val_a_cal != undefined && (nFlu != 0 || nTor != 0)) {
for (let rX of trX) { for (let rX of trX) {
let rY = undefined; let rY = undefined;
let hasFlu: boolean = crbFlu[+rX] != undefined; let hasFlu: boolean = crbFlu[+rX] != undefined;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment