regime_uniforme_puissance.spec.ts 4.33 KiB
/// <reference path="../node_modules/@types/jasmine/index.d.ts" />
import { Result } from "../src/base";
import { RegimeUniforme } from "../src/regime_uniforme";
import { ParamsSectionPuiss, cSnPuiss } from "../src/section/section_puissance";
import { precDigits, precDist } from "./nubtest";
describe('Class RegimeUniforme / section puissance: ', () => {
    beforeAll(() => {
    });
    describe('Calc(): ', () => {
        it('k should be 0.635', () => {
            let prms = new ParamsSectionPuiss(undefined, // coef
                0.8, // tirant d'eau
                4, // largeur de berge
                40, //  Ks=Strickler
                1.2,  //  Q=Débit
                0.001, //  If=pente du fond
                precDist, // précision
                1 // YB= hauteur de berge
                // YCL=Condition limite en cote à l'amont ou à l'aval
            let sect = new cSnPuiss(undefined, prms);
            let ru = new RegimeUniforme(sect, false);
            expect(ru.Calc("k").vCalc).toBeCloseTo(0.635, precDigits);
        });
        it('LargeurBerge should be 3.474', () => {
            let prms = new ParamsSectionPuiss(0.5, // coef
                0.8, // tirant d'eau
                undefined, // largeur de berge
                40, //  Ks=Strickler
                1.2,  //  Q=Débit
                0.001, //  If=pente du fond
                precDist, // précision
                1 // YB= hauteur de berge
                // YCL=Condition limite en cote à l'amont ou à l'aval
            let sect = new cSnPuiss(undefined, prms);
            let ru = new RegimeUniforme(sect, false);
            expect(ru.Calc("LargeurBerge").vCalc).toBeCloseTo(3.474, 2);
        });
        it('Strickler should be 33.774', () => {
            let prms = new ParamsSectionPuiss(0.5, // coef
                0.8, // tirant d'eau
                4, // largeur de berge
                undefined, //  Ks=Strickler
                1.2,  //  Q=Débit
                0.001, //  If=pente du fond
                precDist, // précision
                1 // YB= hauteur de berge
                // YCL=Condition limite en cote à l'amont ou à l'aval
            let sect = new cSnPuiss(undefined, prms);
            let ru = new RegimeUniforme(sect, false);
            expect(ru.Calc("Ks", 1e-8).vCalc).toBeCloseTo(33.774, 2);
        });
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
it('If should be 0.002', () => { let prms = new ParamsSectionPuiss(0.5, // coef 0.8, // tirant d'eau 4, // largeur de berge 40, // Ks=Strickler 1.2, // Q=Débit undefined, // If=pente du fond precDist, // précision 1 // YB= hauteur de berge // YCL=Condition limite en cote à l'amont ou à l'aval ); let sect = new cSnPuiss(undefined, prms); let ru = new RegimeUniforme(sect, false); expect(ru.Calc("If").vCalc).toBeCloseTo(0.002, 2); }); it('Q should be 1.421', () => { let prms = new ParamsSectionPuiss(0.5, // coef 0.8, // tirant d'eau 4, // largeur de berge 40, // Ks=Strickler undefined, // Q=Débit 0.001, // If=pente du fond precDist, // précision 1 // YB= hauteur de berge // YCL=Condition limite en cote à l'amont ou à l'aval ); let sect = new cSnPuiss(undefined, prms); let ru = new RegimeUniforme(sect, false); expect(ru.Calc("Q").vCalc).toBeCloseTo(1.421, precDigits); }); it('Y should be 0.742', () => { let paramCnl = new ParamsSectionPuiss(0.5, // coef undefined, // tirant d'eau 4, // largeur de berge 40, // Ks=Strickler 1.2, // Q=Débit 0.001, // If=pente du fond precDist, // précision 1 // YB= hauteur de berge // YCL=Condition limite en cote à l'amont ou à l'aval ); let sect = new cSnPuiss(undefined, paramCnl); let ru = new RegimeUniforme(sect, false); expect(ru.Calc("Y").vCalc).toBeCloseTo(0.742, precDigits); }); }); });