From c35d58cffade917300b4cf99ac31cb5ec0dfb7e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grand?= <francois.grand@inrae.fr> Date: Thu, 23 Mar 2023 08:56:52 +0100 Subject: [PATCH] refactor: check submergence percentage in Calc() instead of CalcSerie() refs #302 --- src/structure/parallel_structure.ts | 14 ++++++-------- src/structure/structure.ts | 14 ++++++++++---- src/structure/structure_weir_submerged.ts | 2 +- src/structure/structure_weir_submerged_larinier.ts | 2 +- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/structure/parallel_structure.ts b/src/structure/parallel_structure.ts index 2a17ac83..be5b634c 100644 --- a/src/structure/parallel_structure.ts +++ b/src/structure/parallel_structure.ts @@ -74,14 +74,7 @@ export class ParallelStructure extends Nub { this._result.globalLog.insert(new Message(MessageCode.ERROR_STRUCTURE_AU_MOINS_UNE)); return this._result; } - const res = super.CalcSerie(rInit); - - // check structures submergence for some discharge laws - for (const st of this.structures) { - st.checkSubmergence(); - } - - return res; + return super.CalcSerie(rInit); } /** @@ -158,6 +151,11 @@ export class ParallelStructure extends Nub { this.result.globalLog.addLog(r.globalLog); } + // check structures submergence for some discharge laws + for (const st of this.structures) { + st.checkSubmergence(); + } + return this.result; } diff --git a/src/structure/structure.ts b/src/structure/structure.ts index 951c1e25..c644f55b 100644 --- a/src/structure/structure.ts +++ b/src/structure/structure.ts @@ -78,11 +78,11 @@ export abstract class Structure extends ChildNub { } /** - * méthode générique de vérification que l'ennoiemment est supérieur à une valeur donnée - * @param min valeur minimum de l'ennoiemment + * méthode générique de vérification que l'ennoiement est supérieur à une valeur donnée + * @param min valeur minimum de l'ennoiement */ protected checkSubmergenceMin(min: number) { - const h2h1ratio = this.prms.h2.V / this.prms.h1.V; + const h2h1ratio = this.prms.h2.v / this.prms.h1.v; if (h2h1ratio < min) { this._result.resultElement.addMessage(new Message( MessageCode.ERROR_STRUCTURE_SUBMERGENCE_LOWER_THAN, @@ -95,7 +95,7 @@ export abstract class Structure extends ChildNub { } /** - * fonction appelée dans Calc() pour vérifier l'ennoiemment (cf. classes dérivées) + * fonction appelée dans Calc() pour vérifier l'ennoiement (cf. classes dérivées) */ public checkSubmergence() { } @@ -278,6 +278,12 @@ export abstract class Structure extends ChildNub { return super.Calc(sVarCalc, rInit); } + public CalcSerie(rInit?: number, resetDepending: boolean = true): Result { + const res = super.CalcSerie(rInit, resetDepending); + this.checkSubmergence(); + return res; + } + /** * Equation preprocessing * @return true if inverted discharge diff --git a/src/structure/structure_weir_submerged.ts b/src/structure/structure_weir_submerged.ts index f64e39ca..e5ef98b9 100644 --- a/src/structure/structure_weir_submerged.ts +++ b/src/structure/structure_weir_submerged.ts @@ -20,7 +20,7 @@ export class StructureWeirSubmerged extends RectangularStructure { } /** - * vérification que l'ennoiemment est supérieur à une valeur donnée + * vérification que l'ennoiement est supérieur à une valeur donnée */ public checkSubmergence() { this.checkSubmergenceMin(0.6); diff --git a/src/structure/structure_weir_submerged_larinier.ts b/src/structure/structure_weir_submerged_larinier.ts index a2e21b1c..ca3843d0 100644 --- a/src/structure/structure_weir_submerged_larinier.ts +++ b/src/structure/structure_weir_submerged_larinier.ts @@ -26,7 +26,7 @@ export class StructureWeirSubmergedLarinier extends RectangularStructure { } /** - * vérification que l'ennoiemment est supérieur à une valeur donnée + * vérification que l'ennoiement est supérieur à une valeur donnée */ public checkSubmergence() { this.checkSubmergenceMin(0.5); -- GitLab