Skip to content
Snippets Groups Projects
Commit 5045c988 authored by David Dorchies's avatar David Dorchies :zany_face:
Browse files

test: triangular truncated weir

are triangular and truncated triangulare are equivalent on triangular part?

Refs #354
parent 74272f61
No related branches found
No related tags found
No related merge requests found
import { StructureFlowMode, StructureFlowRegime } from "../../src/structure/structure"; import { StructureFlowMode, StructureFlowRegime } from "../../src/internal_modules";
import { StructureTriangularTruncWeirFree } from "../../src/structure/structure_triangular_trunc_weir"; import { StructureTriangularWeir } from "../../src/internal_modules";
import { TriangularTruncStructureParams } from "../../src/structure/structure_triangular_trunc_weir_params"; import { TriangularStructureParams } from "../../src/internal_modules";
import { StructureTriangularTruncWeirFree } from "../../src/internal_modules";
import { TriangularTruncStructureParams } from "../../src/internal_modules";
import { precDigits } from "../test_config";
import { itCalcQ } from "./functions"; import { itCalcQ } from "./functions";
const structPrm: TriangularTruncStructureParams = let structTest: StructureTriangularTruncWeirFree = new StructureTriangularTruncWeirFree(
new TriangularTruncStructureParams(0, 100.1, 100, 100, 0.9, 101, 1.36); new TriangularTruncStructureParams(0, 100.1, 100, 100, 0.9, 101, 1.36),
const structTest: StructureTriangularTruncWeirFree = new StructureTriangularTruncWeirFree(structPrm, false); false
);
describe("Class StructureTriangularTruncWeirFree: ", () => { describe("Class StructureTriangularTruncWeirFree: ", () => {
beforeEach(() => {
structTest = new StructureTriangularTruncWeirFree(
new TriangularTruncStructureParams(0, 100.1, 100, 100, 0.9, 101, 1.36),
false
);
})
describe("Calcul Q a surface libre avec h1 croissant: ", () => { describe("Calcul Q a surface libre avec h1 croissant: ", () => {
const Z1: number[] = const Z1: number[] =
[100.1, 100.2, 100.3, 100.4, 100.5, 100.6, 100.7, 100.8, 100.9, 101, 101.1, 101.5, 101.8, 102]; [100.1, 100.2, 100.3, 100.4, 100.5, 100.6, 100.7, 100.8, 100.9, 101, 101.1, 101.5, 101.8, 102];
...@@ -20,4 +30,19 @@ describe("Class StructureTriangularTruncWeirFree: ", () => { ...@@ -20,4 +30,19 @@ describe("Class StructureTriangularTruncWeirFree: ", () => {
itCalcQ(structTest, Z1[i], Infinity, Q[i], mode, regime); itCalcQ(structTest, Z1[i], Infinity, Q[i], mode, regime);
} }
}); });
it("Q should be equal to triangular weir on triangular part", () => {
const strTriang = new StructureTriangularWeir(
new TriangularStructureParams(0, 100.1, 100.5, 100, 45, 1.36),
false
);
structTest.prms.Z1.v = 100.5;
const resFree = structTest.Calc("Q");
expect(resFree.vCalc).toBeCloseTo(strTriang.Calc("Q").vCalc, precDigits);
expect(resFree.values.ENUM_StructureFlowRegime).toBe(StructureFlowRegime.FREE);
structTest.prms.Z2.v = 100.4;
strTriang.prms.Z2.v = structTest.prms.Z2.v;
const resSubm = structTest.Calc("Q");
expect(resSubm.vCalc).toBeCloseTo(strTriang.Calc("Q").vCalc, precDigits);
expect(resSubm.values.ENUM_StructureFlowRegime).toBe(StructureFlowRegime.PARTIAL);
});
}); });
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment