jalhyd
Version:
JaLHyd, a Javascript Library for Hydraulics
134 lines • 4.52 kB
TypeScript
import { ChildNub } from "../internal_modules";
import { ParamDefinition } from "../internal_modules";
import { Result } from "../internal_modules";
import { StructureParams } from "../internal_modules";
import { LoiDebit } from "../internal_modules";
import { Nub } from "../internal_modules";
/**
* Flow mode: weir or orifice flow
*/
export declare enum StructureFlowMode {
/** Weir flow */
WEIR = 0,
/** Orifice flow */
ORIFICE = 1,
/** Zéro flow */
NULL = 2
}
/**
* Flow regime: free flow, partially submerged or submerged
*/
export declare enum StructureFlowRegime {
/** Free flow (unsubmerged) */
FREE = 0,
/** Partially submerged flow */
PARTIAL = 1,
/** Submerged flow */
SUBMERGED = 2,
/** Zéro flow */
NULL = 3
}
/** Type de jet : Sans objet (orifice), plongeant, de surface */
export declare enum StructureJetType {
/** Plongeant */
PLONGEANT = 0,
/** De surface */
SURFACE = 1,
/** Sans objet (orifice) */
SO = 2
}
/**
* classe de calcul sur la conduite distributrice
*/
export declare abstract class Structure extends ChildNub {
/**
* Test générique si VarCalc="Q" pour l'utilisation de Equation
*/
static CheckEquation(sVarCalc: string): void;
/**
* calcul du pourcentage d'ennoiement arrondi à l'unité
*/
computeSubmergencePercentage(H2?: number): number;
/**
* calcul du pourcentage d'ennoiement arrondi à l'unité (version statique)
*/
static computeSubmergencePercentage(h1: number, h2: number): number;
/**
* méthode générique de vérification que l'ennoiement est supérieur à une valeur donnée
* @param min valeur minimum de l'ennoiement
*/
protected checkSubmergenceMin(res: Result, min: number): void;
/**
* fonction appelée dans Calc() pour vérifier l'ennoiement (cf. classes dérivées)
*/
checkSubmergence(res: Result): void;
static filterResultsOnSubmergenceError(res: Result): boolean;
/** Constante utile : Racine de 2g */
protected static readonly R2G: number;
/** Peut-on calculer ZDV ? */
protected _isZDVcalculable: boolean;
private _loiDebit;
constructor(prms: StructureParams, dbg?: boolean);
/**
* true si la structure est une vanne levante
* @see StructureVanLevLarinier
* @see StructureVanLevVillemonte
*/
protected get isVanneLevante(): boolean;
get isZDVcalculable(): boolean;
/**
* paramètres castés au bon type
*/
get prms(): StructureParams;
get W(): number;
get loiDebit(): LoiDebit;
protected setLoiDebit(ld: LoiDebit): void;
setParent(p: Nub): void;
private updateStructureType;
/**
* Returns the nth visible parameter (used in nghyd/PabTable)
*/
getNthVisibleParam(n: number): ParamDefinition;
/**
* Calcul d'une équation quelle que soit l'inconnue à calculer.
* Gestion du débit nul et de l'inversion de débit
* @param sVarCalc nom de la variable à calculer
* @param rInit valeur initiale de la variable à calculer dans le cas de la dichotomie
*/
Calc(sVarCalc: string, rInit?: number): Result;
/**
* Equation preprocessing
* @return true if inverted discharge
*/
Equation(sVarCalc: string): Result;
/**
* Function to implement for the stage discharge equation of hydraulic structure
*/
protected abstract CalcQ(): Result;
protected getResultData(): {
ENUM_StructureFlowMode: StructureFlowMode;
ENUM_StructureFlowRegime: StructureFlowRegime;
ENUM_StructureJetType: StructureJetType;
};
/**
* paramétrage de la calculabilité des paramètres
*/
protected setParametersCalculability(): void;
/**
* Give the flow mode : weir or orifice flow
*/
protected getFlowMode(): StructureFlowMode;
/**
* Give the flow regime for a rectangular section : free, partially submerged or submerged flow
*/
protected getFlowRegime(): StructureFlowRegime;
/**
* Give the Jet Type for weir flow
* Cf. Baudoin J.M., Burgun V., Chanseau M., Larinier M., Ovidio M., Sremski W., Steinbach P. et Voegtle B., 2014.
* Evaluer le franchissement des obstacles par les poissons. Principes et méthodes. Onema. 200 pages
*/
protected getJetType(): StructureJetType;
protected exposeResults(): void;
getFirstAnalyticalParameter(): ParamDefinition;
}
//# sourceMappingURL=structure.d.ts.map