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 {
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 */
......
......@@ -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;
......
......@@ -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;
......
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