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 TriangularTruncStructureParams extends StructureParams { /** Demi-ouverture du triangle (m) */ public BT: 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 rBT 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, rBT: number, rZT: number, rCd: number, rW: number = Infinity ) { super(rQ, rZDV, rZ1, - Infinity, rW); this.BT = new ParamDefinition(this, "BT", ParamDomainValue.POS, rBT); this.addParamDefinition(this.BT); this.ZT = new ParamDefinition(this, "ZT", ParamDomainValue.POS, rZT, ParamFamily.ELEVATIONS); this.addParamDefinition(this.ZT); this.Cd = new ParamDefinition(this, "Cd", ParamDomainValue.POS, rCd); this.addParamDefinition(this.Cd); } }