import { ParamDefinition } 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 TriangularTruncStructureParams extends StructureParams { /** Demi-ouverture du triangle (m) */ public B2: ParamDefinition; /** Cote haute du triangle (m) */ public ZT: 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 rB2 Demi-ouverture du triangle (m) * @param rZT Cote haute du triangle (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, rB2: number, rZT: number, rCd: number, rW: number = Infinity ) { super(rQ, rZDV, rZ1, rZ2, rW); this.B2 = new ParamDefinition("B2", ParamDomainValue.POS, rB2); this.addParamDefinition(this.B2); this.ZT = new ParamDefinition("ZT", ParamDomainValue.POS, rZT); this.addParamDefinition(this.ZT); this.Cd = new ParamDefinition("Cd", ParamDomainValue.POS, rCd); this.addParamDefinition(this.Cd); } }