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

refactor: check submergence percentage in structure derived classes

refs #302
Showing with 31 additions and 14 deletions
+31 -14
...@@ -77,24 +77,27 @@ export abstract class Structure extends ChildNub { ...@@ -77,24 +77,27 @@ export abstract class Structure extends ChildNub {
return 100; return 100;
} }
private checkSubmergenceMin(loi: LoiDebit, min: number) { /**
if (this.loiDebit === loi) { * méthode générique de vérification que l'ennoiemment est supérieur à une valeur donnée
const h2h1ratio = this.prms.h2.v / this.prms.h1.v; * @param min valeur minimum de l'ennoiemment
if (h2h1ratio < min) { */
this._result.resultElement.addMessage(new Message( protected checkSubmergenceMin(min: number) {
MessageCode.ERROR_STRUCTURE_SUBMERGENCE_LOWER_THAN, const h2h1ratio = this.prms.h2.V / this.prms.h1.V;
{ if (h2h1ratio < min) {
submergencePerc: this.computeSubmergencePercentage().toString(), this._result.resultElement.addMessage(new Message(
min: min 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() { public checkSubmergence() {
this.checkSubmergenceMin(LoiDebit.WeirSubmergedLarinier, 0.5);
this.checkSubmergenceMin(LoiDebit.WeirSubmerged, 0.6);
} }
/** Constante utile : Racine de 2g */ /** Constante utile : Racine de 2g */
......
...@@ -19,6 +19,13 @@ export class StructureWeirSubmerged extends RectangularStructure { ...@@ -19,6 +19,13 @@ export class StructureWeirSubmerged extends RectangularStructure {
this.prms.CdWS.visible = true; 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 { public Calc(sVarCalc: string, rInit?: number): Result {
this.currentResultElement = super.Calc(sVarCalc, rInit); this.currentResultElement = super.Calc(sVarCalc, rInit);
const h2h1ratio = this.prms.h2.v / this.prms.h1.v; const h2h1ratio = this.prms.h2.v / this.prms.h1.v;
......
...@@ -25,6 +25,13 @@ export class StructureWeirSubmergedLarinier extends RectangularStructure { ...@@ -25,6 +25,13 @@ export class StructureWeirSubmergedLarinier extends RectangularStructure {
return this._prms as RectangularStructureParams; 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 { public Calc(sVarCalc: string, rInit?: number): Result {
this.currentResultElement = super.Calc(sVarCalc, rInit); this.currentResultElement = super.Calc(sVarCalc, rInit);
const h2h1ratio = this.prms.h2.v / this.prms.h1.v; const h2h1ratio = this.prms.h2.v / this.prms.h1.v;
......
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