serialisation.spec.ts 13.99 KiB
import { ConduiteDistrib, ConduiteDistribParams } from "../../src/cond_distri";
import { ParallelStructure, ParamDefinition, ParamValueMode, SectionParametree, Session, Nub } from "../../src/index";
import { MacroRugo } from "../../src/macrorugo/macrorugo";
import { RegimeUniforme } from "../../src/regime_uniforme";
import { CourbeRemous, CourbeRemousParams, MethodeResolution } from "../../src/remous";
import { cSnCirc, ParamsSectionCirc } from "../../src/section/section_circulaire";
import { cSnTrapez, ParamsSectionTrapez } from "../../src/section/section_trapez";
import { Cloisons } from "../../src/structure/cloisons";
import { CloisonsParams } from "../../src/structure/cloisons_params";
import { Dever, DeverParams } from "../../src/structure/dever";
import { CreateStructure } from "../../src/structure/factory_structure";
import { RectangularStructure } from "../../src/structure/rectangular_structure";
import { LoiDebit } from "../../src/structure/structure_props";
import {
    RectangularStructureParams,
    StructureWeirSubmergedLarinier
} from "../../src/structure/structure_weir_submerged_larinier";
/**
 * 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";
function createEnv() {
    // create complex session
    const dever: Dever = new Dever(
        new DeverParams(
            0,     // rQ Débit total (m3/s)
            102,   // rZ1 Cote de l'eau amont (m)
            2,     // rBR Largeur du cours d'eau amont (m)
            100    // rZR Cote du lit du cours d'eau amont (m)
        false // debug
    dever.addChild(CreateStructure(LoiDebit.TriangularTruncWeirFree, dever, false));
    const cloisons: Cloisons = new Cloisons(
        new CloisonsParams(
            0,      // Débit total (m3/s)
            102,    // Cote de l'eau amont (m)
            10,     // Longueur des bassins (m)
            1,      // Largeur des bassins (m)
            1,      // Profondeur moyenne (m)
            0.5     // Hauteur de chute (m)
        false       // debug
    const fente: StructureWeirSubmergedLarinier = new StructureWeirSubmergedLarinier(
        new RectangularStructureParams(
            101,
            102,
            101.5,
            0.2,
            0.65
    cloisons.addChild(fente);
    const prmsCD = new ConduiteDistribParams(undefined, // débit Q
        1.2, // diamètre D
        0.6, // perte de charge J
        100, // Longueur de la conduite Lg
        1e-6, // Viscosité dynamique Nu
    const conduite = new ConduiteDistrib(prmsCD);