-
Mathias Chouet authored1721cdb8
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;
}
}