diff --git a/src/structure/structure.ts b/src/structure/structure.ts index 3f5b891a4172ceda543a45e82c5d95b49fb1a4e7..951c1e259087875f0bd19e2d0c96af1336017328 100644 --- a/src/structure/structure.ts +++ b/src/structure/structure.ts @@ -77,24 +77,27 @@ export abstract class Structure extends ChildNub { return 100; } - private checkSubmergenceMin(loi: LoiDebit, min: number) { - if (this.loiDebit === loi) { - 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, - { - submergencePerc: this.computeSubmergencePercentage().toString(), - min: min - } - )); - } + /** + * 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 + */ + protected checkSubmergenceMin(min: number) { + 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, + { + submergencePerc: this.computeSubmergencePercentage().toString(), + min: min + } + )); } } + /** + * fonction appelée dans Calc() pour vérifier l'ennoiemment (cf. classes dérivées) + */ public checkSubmergence() { - this.checkSubmergenceMin(LoiDebit.WeirSubmergedLarinier, 0.5); - this.checkSubmergenceMin(LoiDebit.WeirSubmerged, 0.6); } /** Constante utile : Racine de 2g */ diff --git a/src/structure/structure_weir_submerged.ts b/src/structure/structure_weir_submerged.ts index 727c1ab3ad0d17b7767b3c3de772020d5dcc4328..f64e39cadb01b7f0127a0d6510e7d0212a23aad2 100644 --- a/src/structure/structure_weir_submerged.ts +++ b/src/structure/structure_weir_submerged.ts @@ -19,6 +19,13 @@ export class StructureWeirSubmerged extends RectangularStructure { this.prms.CdWS.visible = true; } + /** + * vérification que l'ennoiemment est supérieur à une valeur donnée + */ + public checkSubmergence() { + this.checkSubmergenceMin(0.6); + } + public Calc(sVarCalc: string, rInit?: number): Result { this.currentResultElement = super.Calc(sVarCalc, rInit); const h2h1ratio = this.prms.h2.v / this.prms.h1.v; diff --git a/src/structure/structure_weir_submerged_larinier.ts b/src/structure/structure_weir_submerged_larinier.ts index 22db3d6e11bc9093cf323f3e523547de24dfe485..a2e21b1c7a3dbd65924081210a8d848b6f62d5d1 100644 --- a/src/structure/structure_weir_submerged_larinier.ts +++ b/src/structure/structure_weir_submerged_larinier.ts @@ -25,6 +25,13 @@ export class StructureWeirSubmergedLarinier extends RectangularStructure { return this._prms as RectangularStructureParams; } + /** + * vérification que l'ennoiemment est supérieur à une valeur donnée + */ + public checkSubmergence() { + this.checkSubmergenceMin(0.5); + } + public Calc(sVarCalc: string, rInit?: number): Result { this.currentResultElement = super.Calc(sVarCalc, rInit); const h2h1ratio = this.prms.h2.v / this.prms.h1.v;