An error occurred while loading the file. Please try again.
-
Mathias Chouet authored
added jasmine tests (indirect linked parameters, value modes consistency) improved session management protection against special "Pr" case in many parameter iterations fixed many parameters-related bugs in Section / Remous / Strcuture
adb30c1f
// tslint:disable-next-line:max-line-length
import { CreateStructure, cSnCirc, LoiDebit, ParamsSectionCirc, StructureType, Session } from "../../src";
import { RegimeUniforme } from "../../src/regime_uniforme";
import { Dever, DeverParams } from "../../src/structure/dever";
/**
* 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";
describe("référence d'un paramètre à un résultat complémentaire multivalué : ", () => {
it("test 1", () => {
// cas de figure : déversoir / seuil rectangulaire
// on itère sur la cote amont
// master Nub
const prms1 = new DeverParams(0.5, 102, 10, 99);
prms1.Pr.v = 0.01;
const nub1 = new Dever(prms1);
nub1.addStructure(
CreateStructure(
StructureType.SeuilRectangulaire,
LoiDebit.WeirFree,
nub1,
false
)
);
// variating Z1
prms1.Z1.setValues(110, 204, 10);
nub1.calculatedParam = prms1.Q;
// slave Nub
const paramSect = new ParamsSectionCirc(
2, // diamètre
0.6613, // tirant d'eau
40, // Ks=Strickler
1.2, // Q=Débit
0.001, // If=pente du fond
1, // YB= hauteur de berge
);
const sect = new cSnCirc(paramSect);
const nub2 = new RegimeUniforme(sect);
Session.getInstance().clear();
Session.getInstance().registerNub(nub1);
Session.getInstance().registerNub(nub2);
// link and calc
nub2.calculatedParam = paramSect.Ks;
nub2.prms.Q.defineReference(nub1, "CvQT");
nub2.CalcSerie();
const refVals = [ 113.534, 321.398, 590.624, 909.467, 1271.138,
1671.060, 2105.872, 2572.971, 3070.261, 3596.009 ];
let i = 0;
for (const v of nub2.getParameter("Q").valueList) {
expect(v).toBeDefined();
expect(v).toBeCloseTo(refVals[i]);
i++;
}
});
});