pab.spec.ts 2.54 KiB
/**
 * IMPORTANT !
 * Décommenter temporairement la ligne suivante (import { } from "./mock_jasmine")
 * Pour exécuter ce code dans le débugger.
 * Faire de même avec le fichier test_func.ts
 */
// import { describe, expect, it, xdescribe, xit } from "../mock_jasmine";
import { Pab, PabParams } from "../../src/pab/pab";
import { PabCloisons } from "../../src/pab/pab_cloisons";
import { Cloisons, CloisonsParams } from "../../src/structure/cloisons";
import { ParallelStructure, ParallelStructureParams } from "../../src/structure/parallel_structure";
import { RectangularStructureParams } from "../../src/structure/rectangular_structure_params";
import { StructureKivi, StructureKiviParams } from "../../src/structure/structure_kivi";
import { StructureWeirSubmergedLarinier } from "../../src/structure/structure_weir_submerged_larinier";
const dbg: boolean = false;
/**
 * Exemple formation Cassiopée 2018-09
// Modèle de cloison
const modelCloisons = new Cloisons(
    new CloisonsParams(
        0.773,      // Débit total (m3/s)
        78.27,    // Cote de l'eau amont (m)
        3.1,     // Longueur des bassins (m)
        2.5,      // Largeur des bassins (m)
        1.5,      // Profondeur moyenne (m)
        0.23     // Hauteur de chute (m)
const rectStructPrms = new RectangularStructureParams(
    0.773,  // Q
    76.67,        // ZDV
    0,        // Z1
    0,      // Z2
    0.35,          // L
    0.65        // Cd pour un seuil rectangulaire
    // W = Infinity par défaut pour un seuil
// Ajout d'ouvrage dans la cloison
modelCloisons.addChild(new StructureWeirSubmergedLarinier(rectStructPrms));
// Création de la cloison aval
const downWall = new ParallelStructure(new ParallelStructureParams(0, 0, 0));
const kiviPrms = new StructureKiviParams(
    0.773,  // Q
    73.95,        // ZDV
    0,        // Z1
    0,      // Z2
    0.6,          // L
    0.4,        // Cd pour un seuil rectangulaire
    73.435
downWall.addChild(new StructureKivi(kiviPrms));
// Création de la passe
const pab: Pab = new Pab(
    new PabParams(
        modelCloisons.prms.Q.v,
        modelCloisons.prms.Z1.v,
        74.86
    downWall,
    dbg
7172737475767778798081828384858687888990
); // Ajout des cloisons const pabCloison = new PabCloisons(modelCloisons, 0, dbg); for (let i = 0; i < 14; i++) { pab.addChild(pabCloison); } // Tests describe("Class Pab: ", () => { describe("Calc(Z1) Exemple Formation 2018-09 p.14", () => { it("vCalc(Z1) should return 78.27", () => { expect(pab.Calc("Z1").vCalc).toBeCloseTo(78.27, 2); }); }); });