import { ParamDefinition, ParamFamily } from "../param/param-definition"; import { ParamDomainValue } from "../param/param-domain"; import { StructureParams } from "./structure_params"; /** * Parameters for rectangular structures (common for all rectangular structure equations) */ export class RectangularStructureParams extends StructureParams { /** Width of the gate or length of the sill (m) */ public L: ParamDefinition; /** Discharge coefficient */ // tslint:disable-next-line:variable-name public Cd: ParamDefinition; /** * Constructeur d'une structure rectangulaire * @param rQ Débit (m3/s) * @param rZDV Cote de la crête du déversoir ou du radier de la vanne (m) * @param rZ1 Cote de l'eau amont (m) * @param rZ2 Cote de l'eau aval (m) * @param rL Largeur de la vanne ou du déversoir (m) * @param rCd Coefficient de débit (-) * @param rW Ouverture de la vanne (m) (Valeur par défaut +infinity pour les déversoirs) */ constructor(rQ: number, rZDV: number, rZ1: number, rZ2: number, rL: number, rCd: number, rW: number = Infinity) { super(rQ, rZDV, rZ1, rZ2, rW); this.L = new ParamDefinition(this, "L", ParamDomainValue.POS, rL, ParamFamily.WIDTHS); this.addParamDefinition(this.L); this.Cd = new ParamDefinition(this, "Cd", ParamDomainValue.POS, rCd); this.addParamDefinition(this.Cd); } }