rectangular_structure_params.ts 1.41 KiB
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);