cloisons_params.ts 2.34 KiB
import { ParamDefinition, ParamFamily } from "../param/param-definition";
import { ParamDomainValue } from "../param/param-domain";
import { ParallelStructureParams } from "../structure/parallel_structure_params";
/**
 * Common parameters of hydraulic structure equations
 */
export class CloisonsParams extends ParallelStructureParams {
    /** Largeur des bassins (m) */
    public BB: ParamDefinition;
    /** Longueur des bassins (m) */
    public LB: ParamDefinition;
    /** Profondeur moyenne (m) */
    public PB: ParamDefinition;
    /** Hauteur de chute (m) */
    public DH: ParamDefinition;
    /** Cote radier mi-bassin (m) */
    public ZRMB: ParamDefinition;
    /** Cote radier amont paroi (m) */
    public ZRAM: ParamDefinition;
    /** Débit d'attrait (m3/s) */
    public QA: ParamDefinition;
    /**
     * Paramètres communs à toutes les équations de structure
     * @param rQ Débit total (m3/s)
     * @param rZ1 Cote de l'eau amont (m)
     * @param rLB Longueur des bassins (m)
     * @param rBB Largeur des bassins (m)
     * @param rPB Profondeur moyenne (m)
     * @param rDH Hauteur de chute (m)
    constructor(rQ: number, rZ1: number, rLB: number, rBB: number, rPB: number, rDH: number) {
        super(rQ, rZ1, rZ1 - rDH);
        this.LB = new ParamDefinition(this, "LB", ParamDomainValue.POS, rLB, ParamFamily.LENGTHS);
        this.addParamDefinition(this.LB);
        this.BB = new ParamDefinition(this, "BB", ParamDomainValue.POS, rBB, ParamFamily.WIDTHS);
        this.addParamDefinition(this.BB);
        this.PB = new ParamDefinition(this, "PB", ParamDomainValue.POS, rPB, ParamFamily.HEIGHTS);
        this.addParamDefinition(this.PB);
        this.DH = new ParamDefinition(this, "DH", ParamDomainValue.POS, rDH, ParamFamily.BASINFALLS);
        this.addParamDefinition(this.DH);
        this.ZRMB = new ParamDefinition(this, "ZRMB", ParamDomainValue.ANY, 0, ParamFamily.ELEVATIONS);
        this.addParamDefinition(this.ZRMB);
        this.ZRAM = new ParamDefinition(this, "ZRAM", ParamDomainValue.ANY, 0, ParamFamily.ELEVATIONS);
        this.addParamDefinition(this.ZRAM);
        this.QA = new ParamDefinition(this, "QA", ParamDomainValue.ANY, 0);
        this.addParamDefinition(this.QA);
        this.Z2.visible = false;
        this.ZRAM.visible = false;
        this.ZRMB.visible = false;
        this.QA.visible = false;