triangular_trunc_structure_params.ts 1.61 KiB
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);