regime_uniforme_circ.spec.ts 6.53 KiB
/// <reference path="../node_modules/@types/jasmine/index.d.ts" />
import { Result } from "../src/base";
import { RegimeUniforme } from "../src/regime_uniforme";
import { ParamsSectionCirc, cSnCirc } from "../src/section/section_circulaire";
import { precDist, equalEpsilon } from "./nubtest";
function check(val1: Result, val2: number) {
    // expect(val1).toBeCloseTo(val2);
    expect(equalEpsilon(val1.vCalc, val2)).toBeTruthy("expected " + val2 + ", got " + val1.vCalc);
describe('Class RegimeUniforme / section circulaire :', () => {
    describe('pas de débordement : ', () => {
        it('Diamètre should be 6.001', () => {
            let paramSect = new ParamsSectionCirc(undefined, // diamètre
                0.6613,  // 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
            let sect = new cSnCirc(undefined, paramSect);
            let ru = new RegimeUniforme(sect);
            check(ru.Calc("D", 1e-8), 6.001);
        });
        it('Ks should be 40.003', () => {
            let paramSection = new ParamsSectionCirc(6, // diamètre
                0.6613, // tirant d'eau
                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 cSnCirc(undefined, paramSection);
            let ru = new RegimeUniforme(sect);
            check(ru.Calc("Ks", 1e-8), 40.003);
        });
        it('If should be 0.001', () => {
            let paramSection = new ParamsSectionCirc(6, // diamètre
                0.6613, // tirant d'eau
                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 cSnCirc(undefined, paramSection);
            let ru = new RegimeUniforme(sect);
            check(ru.Calc("If"), 0.001);
        });
        it('Q should be 1.2', () => {
            let paramSection = new ParamsSectionCirc(6, // diamètre
                0.6613, // tirant d'eau
                40, //  Ks=Strickler
                undefined,  //  Q=Débit
                0.001, //  If=pente du fond
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
precDist, // précision 1 // YB= hauteur de berge // YCL=Condition limite en cote à l'amont ou à l'aval ); let sect = new cSnCirc(undefined, paramSection); let ru = new RegimeUniforme(sect); check(ru.Calc("Q"), 1.2); }); it('Y should be 0.6613', () => { let paramSection = new ParamsSectionCirc(6, // diamètre undefined, // 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 ); let sect = new cSnCirc(undefined, paramSection); let ru = new RegimeUniforme(sect); check(ru.Calc("Y"), 0.6613); }); }); describe('débordement : ', () => { it('Diamètre should be 2', () => { let paramSect = new ParamsSectionCirc(undefined, // diamètre 2, // tirant d'eau 13.551, // 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 cSnCirc(undefined, paramSect); let ru = new RegimeUniforme(sect); check(ru.Calc("D", 1e-8), 2); }); it('Ks should be 13.551', () => { let paramSection = new ParamsSectionCirc(2, // diamètre 2, // tirant d'eau 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 cSnCirc(undefined, paramSection); let ru = new RegimeUniforme(sect); check(ru.Calc("Ks", 1e-8), 13.551); }); it('If should be 0.001', () => { let paramSection = new ParamsSectionCirc(2, // diamètre 2, // tirant d'eau 13.551, // Ks=Strickler 1.2, // Q=Débit undefined, // If=pente du fond precDist, // précision 1 // YB= hauteur de berge
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
// YCL=Condition limite en cote à l'amont ou à l'aval ); let sect = new cSnCirc(undefined, paramSection); let ru = new RegimeUniforme(sect); check(ru.Calc("If"), 0.001); }); it('Q should be 1.2', () => { let paramSection = new ParamsSectionCirc(2, // diamètre 2, // tirant d'eau 13.551, // 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 cSnCirc(undefined, paramSection); let ru = new RegimeUniforme(sect); check(ru.Calc("Q"), 1.2); }); it('Y should be 2', () => { let paramSection = new ParamsSectionCirc(2, // diamètre undefined, // tirant d'eau 13.551, // 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 cSnCirc(undefined, paramSection); let ru = new RegimeUniforme(sect); check(ru.Calc("Y"), 2); }); }); });