section_param_trapez_fluvial.spec.ts 3.62 KiB
/// <reference path="../node_modules/@types/jasmine/index.d.ts" />
import { Result } from "../src/base";
import { nub, precDigits, precDist } from "./nubtest";
import { ParamsSectionTrapez, cSnTrapez } from "../src/section/section_trapez";
let paramSection: ParamsSectionTrapez;
let sect: cSnTrapez;
function createSection(prec: number): cSnTrapez {
    paramSection = new ParamsSectionTrapez(2.5, // largeur de fond
        0.56, // fruit
        0.8, // tirant d'eau
        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
    return new cSnTrapez(undefined, paramSection);
describe('Section paramétrée trapèze : ', () => {
    beforeEach(() => {
        sect = createSection(precDist);
    });
    describe('fluvial :', () => {
        // charge spécifique
        it('Hs should equal to 0.813', () => {
            expect(sect.Calc_Hs()).toBeCloseTo(0.813, precDigits);
        });
        // charge critique
        it('Hsc should equal to 0.413', () => {
            expect(sect.Calc_Hsc()).toBeCloseTo(0.413, precDigits);
        });
        // largeur au miroir
        it('B should equal to 3.396', () => {
            expect(sect.Calc_B()).toBeCloseTo(3.396, precDigits);
        });
        // périmètre mouillé
        it('P should equal to 4.334', () => {
            expect(sect.Calc_P()).toBeCloseTo(4.334, precDigits);
        });
        // surface mouillée
        it('S should equal to 2.358', () => {
            expect(sect.Calc_S()).toBeCloseTo(2.358, precDigits);
        });
        // rayon hydraulique
        it('R should equal to 0.544', () => {
            expect(sect.Calc_R()).toBeCloseTo(0.544, precDigits);
        });
        // vitesse moyenne
        it('V should equal to 0.509', () => {
            expect(sect.Calc_V()).toBeCloseTo(0.509, precDigits);
        });
        // nombre de Froude
        it('Fr should equal to 0.195', () => {
            expect(sect.Calc_Fr()).toBeCloseTo(0.195, precDigits);
        });
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
// tirant d'eau critique it('Yc should equal to 0.28', () => { expect(sect.Calc_Yc()).toBeCloseTo(0.28, precDigits); }); // tirant d'eau normal it('Yn should equal to 0.587', () => { expect(sect.Calc_Yn()).toBeCloseTo(0.587, precDigits); }); // tirant d'eau fluvial it('Yf should equal to 0.8', () => { expect(sect.Calc_Yf()).toBeCloseTo(0.8, precDigits); }); // tirant d'eau torrentiel it('Yt should equal to 0.127', () => { expect(sect.Calc_Yt()).toBeCloseTo(0.127, precDigits); }); // tirant d'eau conjugué it('Yco should equal to 0.061', () => { expect(sect.Calc_Yco()).toBeCloseTo(0.061, precDigits); }); // perte de charge it('J should equal to 0.00036', () => { let sect = createSection(0.00001); expect(sect.Calc_J()).toBeCloseTo(0.00036, precDigits); }); // Variation linéaire de l'énergie spécifique it('I-J should equal to 0.001', () => { expect(sect.Calc("I-J")).toBeCloseTo(0.001, precDigits); }); // impulsion hydraulique it('Imp should equal to 9396.158', () => { expect(sect.Calc_Imp()).toBeCloseTo(9396.158, precDigits); }); // force tractrice (contrainte de cisaillement) it('Tau0 should equal to 1.944', () => { expect(sect.Calc_Tau0()).toBeCloseTo(1.944, precDigits); }); }); });