import { Result } from "../util/result"; import { RectangularStructure } from "./rectangular_structure"; import { RectangularStructureParams } from "./rectangular_structure_params"; import { Structure, StructureFlowMode, StructureFlowRegime } from "./structure"; export { RectangularStructureParams }; /** * Equation de la fente noyé * d'après Larinier, M., Travade, F., Porcher, J.-P., Gosset, C., 1992. * Passes à poissons : expertise et conception des ouvrages de franchissement */ export class StructureWeirSubmergedLarinier extends RectangularStructure { /** * Calcul analytique Q = f(Cd, L, h1, h2, W) seuil dénoyé * @param sVarCalc Variable à calculer (doit être "Q") */ public Equation(sVarCalc: string): Result { Structure.CheckEquation(sVarCalc); const data = this.getResultData(); const v = this.prms.Cd.v * this.prms.L.v * Structure.R2G * this.prms.h1.v * Math.sqrt(this.prms.h1.v - this.prms.h2.v); return new Result(v, data); } protected getFlowRegime() { return StructureFlowRegime.SUBMERGED; } protected getFlowMode() { return StructureFlowMode.WEIR; } }