UNPKG

jalhyd

Version:

JaLHyd, a Javascript Library for Hydraulics

149 lines 7.81 kB
import { Nub } from "../internal_modules"; import { EspeceParams } from "../internal_modules"; import { Observer } from "../internal_modules"; import { FishSpecies } from "../internal_modules"; import { Result } from "../internal_modules"; import { FishPass } from "../internal_modules"; import { StructureJetType } from "../internal_modules"; import { MacroRugo } from "../internal_modules"; import { ResultElement } from "../internal_modules"; import { LoiDebit } from "../internal_modules"; import { ParallelStructure } from "../internal_modules"; import { Cloisons } from "../internal_modules"; import { DivingJetSupport } from "../internal_modules"; /** * Settings for a given fish species (or custom settings), to verify crossing capacities on fish passes. * Meant to be used with Verificateur. */ export declare class Espece extends Nub implements Observer { /** Multidimension table of parameters values presets, by pass type and species */ protected presets: any; /** * The Pab, ParSimulation, or MacroRugo[Compound] to check (Par are not supposed to be checked). * Passed by the Verificateur */ protected _passToCheck: FishPass; /** * For variating passes, index of the result to examine. * Passed by the Verificateur */ indexToCheck: number; constructor(prms: EspeceParams, dbg?: boolean); get prms(): EspeceParams; get species(): FishSpecies; /** Changing the fish species will load adequate predefined values */ set species(s: FishSpecies); set passToCheck(p: FishPass); get divingJetSupported(): DivingJetSupport; set divingJetSupported(i: DivingJetSupport); /** * Check that all given criteria are defined before controlling their values * @param symbols list of symbols of criteria that have to be defined * @return undefined if all criteria are present, a Result with appropriate error * log messages otherwise */ protected checkCriteriaPresence(symbols: string[]): Result; /** Returns 1 if the fish can go through the pass, 0 if it cannot */ Equation(): Result; update(sender: any, data: any): void; /** * Checks the diving jet support on every structure of the given wall of a Pab * @param wall the current wall to check * @param res the current result to add logs to, and set value * @param ca crossability array; mark non-crossable devices with "false" value at their index */ protected checkDivingJetSupport(wall: ParallelStructure, res: Result, ca: boolean[]): void; /** * Checks the falls on every structure of the given wall of a Pab * @param wall the current wall to check * @param iRes the current result element to check on the wall result * @param res the current result to add logs to, and set value * @param ca crossability array; mark non-crossable devices with "false" value at their index * @param hasSJet true if current wall has at least one device with a surface jet (or an Orifice) * @param hasPJet true if current wall has at least one device with a diving jet */ protected checkFalls(wall: ParallelStructure, iRes: ResultElement, res: Result, ca: boolean[], hasSJet: boolean, hasPJet: boolean): void; /** * Checks the basin depth on every structure of the given wall of a Pab * @param wall the current wall to check * @param iRes the current result element to check on the wall result * @param res the current result to add logs to, and set value * @param ca crossability array; mark non-crossable devices with "false" value at their index * @param hasSJet true if current wall has at least one device with a surface jet (or an Orifice) * @param hasPJet true if current wall has at least one device with a diving jet */ protected checkBasinDepth(wall: ParallelStructure, iRes: ResultElement, res: Result, ca: boolean[], hasSJet: boolean, hasPJet: boolean): void; /** * Checks the basin length on every structure of the given wall of a Pab * @param wall the current wall to check * @param res the current result to add logs to, and set value * @param ca crossability array; mark non-crossable devices with "false" value at their index * @param hasSJet true if current wall has at least one device with a surface jet (or an Orifice) * @param hasPJet true if current wall has at least one device with a diving jet */ protected checkBasinLength(wall: Cloisons, res: Result, ca: boolean[], hasSJet: boolean, hasPJet: boolean): void; /** * Checks the weirs and slots widths on every structure of the given wall of a Pab * @param wall the Pab wall to check * @param res the current result to add logs to, and set value * @param ca crossability array; mark non-crossable devices with "false" value at their index */ protected checkWeirsAndSlotsWidth(wall: ParallelStructure, res: Result, ca: boolean[]): void; /** * Checks the head on weirs on every structure of the given wall of a Pab * @param wall the Pab wall to check * @param res the current result to add logs to, and set value * @param ca crossability array; mark non-crossable devices with "false" value at their index */ protected checkHeadOnWeirs(wall: ParallelStructure, res: Result, ca: boolean[]): void; /** * Checks the dissipated power on the given wall of a Pab * @param wall the Pab wall to check * @param res the current result to add logs to, and set value */ protected checkDissipatedPowerPAB(wall: ParallelStructure, res: Result): void; /** * Marks orifices as not supposed to be crossable, with a warning (jalhyd#249) * @param wall the Pab wall to check * @param res the current result to add logs to, and set value * @param ca crossability array; mark non-crossable devices with "false" value at their index */ protected checkOrifices(wall: ParallelStructure, res: Result, ca: boolean[]): void; /** * Returns true if given wall has at least one device with a jet type among given jetTypes */ protected hasJet(wall: ParallelStructure, jetTypes: StructureJetType | StructureJetType[]): boolean; /** * Returns indexes of the devices having given jet type, on the given wall * @param wall wall to check devices on * @param t jet type */ protected getDevicesHavingJet(wall: ParallelStructure, t: StructureJetType): number[]; /** * Returns indexes of the devices having given discharge law, on the given wall * @param wall wall to check devices on * @param l discharge law */ protected getDevicesHavingLaw(wall: ParallelStructure, l: LoiDebit | LoiDebit[]): number[]; /** * Checks a MacroRugo pass (factorized to use when checking MacroRugoCompound) * @param pass the MacroRugo pass to check * @param passResult the current result of the pass to check * @param verifResult the result of the check, to add logs to * @param apronNumber if defined, means that we're checking an apron of a MacroRugoCompound */ protected checkMacroRugo(pass: MacroRugo, passResult: ResultElement, verifResult: Result, apronNumber?: number): number; /** * Load ICE tables values into parameters, depending on species * and pass to check */ protected loadPredefinedParametersValues(): void; /** * Load ICE tables values into parameters, for a given species * (used in GUI for loading predefined species) */ loadPredefinedSpecies(sp: FishSpecies): void; /** Parameters other than OK are just settings here, nothing can vary or be calculated */ protected setParametersCalculability(): void; } //# sourceMappingURL=espece.d.ts.map