diff --git a/src/open-channel/remous.ts b/src/open-channel/remous.ts index 0ffc21316fdfcf0f04342315eb422998b276c49c..f3be273953964158fc045e2edb4a09af19aaabc8 100644 --- a/src/open-channel/remous.ts +++ b/src/open-channel/remous.ts @@ -35,7 +35,7 @@ export class CourbeRemous extends SectionNub { private Dx: number; constructor(s: acSection, crp: CourbeRemousParams, method: MethodeResolution = MethodeResolution.Trapezes, - dbg: boolean = false + dbg: boolean = false ) { super(crp, dbg); this._calcType = CalculatorType.CourbeRemous; @@ -103,6 +103,11 @@ export class CourbeRemous extends SectionNub { res.globalLog.add(new Message(MessageCode.ERROR_REMOUS_NO_WATER_LINE)); return res; } + // si le pas de discrétisation est inférieur à la longueur du bief + if (this.prms.Dx.singleValue >= this.prms.Long.singleValue) { + res.globalLog.add(new Message(MessageCode.ERROR_REMOUS_PAS_SUPERIEUR_BIEF)); + return res; + } // let Yc: number = this.Sn.CalcSection("Yc"); const rYC = this.Sn.CalcSection("Yc"); @@ -471,7 +476,7 @@ export class CourbeRemous extends SectionNub { res.addLog(rVar.log); } else { let val = rVar.vCalc; - if ([ "Hs", "Hsc", "Ycor", "Ycon" ].includes(valACal)) { + if (["Hs", "Hsc", "Ycor", "Ycon"].includes(valACal)) { val += this.getCoteFond(x); } re.addExtraResult(valACal, val); diff --git a/src/util/message.ts b/src/util/message.ts index ae3e98ec3d18ba8969c6616909fbe4664e9fefbe..2d032ccb25110013b1e2fc8bfbc33c6bdc0374a2 100644 --- a/src/util/message.ts +++ b/src/util/message.ts @@ -417,6 +417,11 @@ export enum MessageCode { */ ERROR_REMOUS_PENTE_FORTE, + /** + * courbe de remous : Le pas de discrétisation doit être inférieur ou égal à la longueur du bief + */ + ERROR_REMOUS_PAS_SUPERIEUR_BIEF, + /** * courbe de remous : Condition limite aval < Hauteur critique : pas de calcul possible depuis l'aval */