structure_triangular_weir_free_params.ts 1.40 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 TriangularStructureParams extends StructureParams {
    /** half angle of the triangle top (degrees) */
    public alpha2: 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 rAlpha2    Demi-angle au sommet du triangle (degrés)
     * @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,
        rAlpha2: number, rCd: number, rW: number = Infinity
    ) {
        super(rQ, rZDV, rZ1, - Infinity, rW);
        this.alpha2 = new ParamDefinition(this, "alpha2", ParamDomainValue.POS, rAlpha2);
        this.addParamDefinition(this.alpha2);
        this.Cd = new ParamDefinition(this, "Cd", ParamDomainValue.POS, rCd);
        this.addParamDefinition(this.Cd);