rectangular_structure.ts 1.28 KiB
import { ParamCalculability } from "../param/param-definition";
import { RectangularStructureParams } from "./rectangular_structure_params";
import { Structure } from "./structure";
/**
 * Classe mère pour toutes les structures ayant une base rectangulaire (vannes, seuils)
 */
export abstract class RectangularStructure extends Structure {
    constructor(prms: RectangularStructureParams, dbg: boolean = false) {
        super(prms, dbg);
        this.prms.CdGR.visible = false;
        this.prms.CdWR.visible = false;
        this.prms.CdWSL.visible = false;
    /**
     * paramètres castés au bon type
    get prms(): RectangularStructureParams {
        return this._prms as RectangularStructureParams;
    /**
     * Calcul de l'aire d'écoulement sur le seuil ou dans l'orifice
    public calcA(): number {
            return Math.min(Math.max(this.prms.h1.v, this.prms.h2.v), this.W) * this.prms.L.v;
    /**
     * paramétrage de la calculabilité des paramètres
    protected setParametersCalculability() {
        super.setParametersCalculability();
        this.prms.L.calculability = ParamCalculability.DICHO;
        this.prms.CdGR.calculability = ParamCalculability.DICHO;
        this.prms.CdWR.calculability = ParamCalculability.DICHO;