diff --git a/doc/scilab_tests/macrorugo_calcfFr.sci b/doc/scilab_tests/macrorugo_calcfFr.sci index cc1ebd0b2f000682d0338986c3e6b567b978baa2..efd2d19f7b8532bc2147a51e72c2784c548950e9 100644 --- a/doc/scilab_tests/macrorugo_calcfFr.sci +++ b/doc/scilab_tests/macrorugo_calcfFr.sci @@ -1,6 +1,6 @@ function [f] = calcfFr(Frg, rQ) if ~exists("rQ","local") then - rQ = 0.091 * Cd0 + 1.033 + rQ = 0.4 * Cd0 + 0.7 end if abs(Frg) < 1 diff --git a/doc/scilab_tests/macrorugo_find_Q_nat.sci b/doc/scilab_tests/macrorugo_find_Q_nat.sci index e8cc600134a59dd3450111375108cedf88a06599..8c33e69cb4d1fd51588527efac54c9ad54e2505f 100755 --- a/doc/scilab_tests/macrorugo_find_Q_nat.sci +++ b/doc/scilab_tests/macrorugo_find_Q_nat.sci @@ -19,7 +19,7 @@ function [res]=find_Q_nat(Q,ks,D,h,Cd0,S,L,pf,C,sigma,bDbg) fFr = calcfFr(Frg) //Cd=Cd0.*(1+0.4./(pf./D).^2); - Cd=Cd0.*min(3,(1+0.8./(pf./D).^1.5)); + Cd=Cd0.*min(1E9,(1+1./(pf./D).^2)); //Cd=Cd0.*(0.8-2*C).*(1+0.4./(pf./D).^2).*fFr; R=(1-sigma*C);//%.*(1-C.^0.5).^2; if(bDbg) then diff --git a/doc/scilab_tests/macrorugo_resultats_complementaires.sci b/doc/scilab_tests/macrorugo_resultats_complementaires.sci index 778e20908dd61a6e73154e75beb92ada5b5aedfc..8e6d656ecf5fef29775a3bcc45063e9834d3fae5 100644 --- a/doc/scilab_tests/macrorugo_resultats_complementaires.sci +++ b/doc/scilab_tests/macrorugo_resultats_complementaires.sci @@ -36,9 +36,9 @@ function macrorugo_resultComp(z_amont, S, long, Q, L, pf, C, Cd0, h, D) V_technique=4.54*(pf/D)^0.32*S^0.56*(9.81*D)^0.5; end if Cd0 > 1.99 - rv=1.4; + rv=1.5; else - rv=1.2; + rv=1.1; end Vmax=Vg.*sqrt(calcfFr(Fr, rv)); print_r("Vmax"); diff --git a/spec/macrorugo/macrorugo.spec.ts b/spec/macrorugo/macrorugo.spec.ts index 98866c22616b265970c1361b68ed8f4de7b26344..74cb6b1c82e1d9d77ce30c687eddb0451d11af32 100644 --- a/spec/macrorugo/macrorugo.spec.ts +++ b/spec/macrorugo/macrorugo.spec.ts @@ -15,18 +15,18 @@ B: 1.000000, h: 0.400000, C: 0.130000, RESULTS: -find_Q_nat(0.736243)=0.625925 -Q=0.485873 fVal=0.000000 +find_Q_nat(0.736243)=0.913414 +Q=0.370878 fVal=0.000000 ZF2: 12.200000, -Vdeb: 1.214683, -Vg: 1.899590, -Fr: 0.958949, -PV: 595.801953, +Vdeb: 0.927194, +Vg: 1.449999, +Fr: 0.731987, +PV: 454.788830, flowcond: emergent, -Vmax: 1.953423, +Vmax: 1.785249, V_technique: 1.748990, q_technique: 0.312101, -Strickler: 10.006248 +Strickler: 7.637991, */ function macroRugoInstanceEmergentCd1(): MacroRugo { @@ -36,7 +36,7 @@ function macroRugoInstanceEmergentCd1(): MacroRugo { 6, // L 1, // B 0.05, // If - 0.485873, // Q + 0.370878, // Q 0.4, // h 0.01, // Ks 0.13, // C @@ -50,12 +50,12 @@ function macroRugoInstanceEmergentCd1(): MacroRugo { const macroRugoExtraResultEmergentCd1: { [key: string]: number | MacroRugoFlowType } = { ENUM_MacroRugoFlowType: MacroRugoFlowType.EMERGENT, ZF2: 12.200000, - Vdeb: 1.214683, - Vg: 1.899590, - Fr: 0.958949, - PV: 595.801953, - Vmax: 1.953423, - Strickler: 10.006248 + Vdeb: 0.927194, + Vg: 1.449999, + Fr: 0.731987, + PV: 454.788830, + Vmax: 1.785249, + Strickler: 7.637991 }; /* @@ -70,36 +70,36 @@ B: 1.000000, h: 0.400000, C: 0.130000, RESULTS: -find_Q_nat(0.512451)=0.610003 -Q=0.268450 fVal=0.000000 +find_Q_nat(0.512451)=0.770391 +Q=0.204295 fVal=0.000000 ZF2: 12.200000, -Vdeb: 0.671125, -Vg: 1.049543, -Fr: 0.529829, -PV: 329.186776, +Vdeb: 0.510737, +Vg: 0.798720, +Fr: 0.403209, +PV: 250.516618, flowcond: emergent, -Vmax: 1.580263, +Vmax: 1.248838, V_technique: 1.427752, q_technique: 0.266857, -Strickler: 5.528556 +Strickler: 4.207323, */ function macroRugoInstanceEmergentCd2(): MacroRugo { const nub: MacroRugo = macroRugoInstanceEmergentCd1(); nub.prms.Cd0.singleValue = 2; - nub.prms.Q.singleValue = 0.268450; + nub.prms.Q.singleValue = 0.204295; return nub; } const macroRugoExtraResultEmergentCd2: { [key: string]: number | MacroRugoFlowType } = { ENUM_MacroRugoFlowType: MacroRugoFlowType.EMERGENT, ZF2: 12.200000, - Vdeb: 0.671125, - Vg: 1.049543, - Fr: 0.529829, - PV: 329.186776, - Vmax: 1.580263, - Strickler: 5.528556 + Vdeb: 0.510737, + Vg: 0.798720, + Fr: 0.403209, + PV: 250.516618, + Vmax: 1.248838, + Strickler: 4.207323 }; /* @@ -114,31 +114,31 @@ B: 1.000000, h: 0.800000, C: 0.130000, RESULTS: -find_Q_nat(1.472487)=0.092897 -Q=1.546804 fVal=0.000000 +find_Q_nat(1.472487)=0.095732 +Q=1.549073 fVal=0.000000 ZF2: 12.200000, -Vdeb: 1.933505, -Vg: 3.023725, -Fr: 1.079351, -PV: 948.384279, +Vdeb: 1.936341, +Vg: 3.028159, +Fr: 1.080934, +PV: 949.775168, flowcond: immerge, q_technique: 1.060933, -Strickler: 10.033836, +Strickler: 10.048552, */ function macroRugoInstanceSubmerged(): MacroRugo { const nub: MacroRugo = macroRugoInstanceEmergentCd1(); nub.prms.Y.singleValue = 0.8; - nub.prms.Q.singleValue = 1.546804; + nub.prms.Q.singleValue = 1.549073; return nub; } const macroRugoExtraResultSubmerged: { [key: string]: number | MacroRugoFlowType } = { ENUM_MacroRugoFlowType: MacroRugoFlowType.SUBMERGED, ZF2: 12.200000, - Vdeb: 1.933505, - PV: 948.384279, - Strickler: 10.033836 + Vdeb: 1.936341, + PV: 949.775168, + Strickler: 10.048552, }; function MacroRugoFactory(sInstance: string): MacroRugo { @@ -213,10 +213,10 @@ function macroRugoInstanceJalHyd85(): MacroRugo { return nubMR; } -xdescribe("Class MacroRugo: ", () => { +describe("Class MacroRugo: ", () => { - testMacroRugoConfig("EmergentCd1", 0.736243, 0.625925, macroRugoExtraResultEmergentCd1); - testMacroRugoConfig("EmergentCd2", 0.512451, 0.610003, macroRugoExtraResultEmergentCd2); + testMacroRugoConfig("EmergentCd1", 0.736243, 0.913414, macroRugoExtraResultEmergentCd1); + testMacroRugoConfig("EmergentCd2", 0.512451, 0.770391, macroRugoExtraResultEmergentCd2); // Le test passe en debug mais pas sous Jasmine !?? // describe(`Condition Submerged` , () => { // it(`resolveAlpha_t(0.07) should be 0.074752`, () => { @@ -224,7 +224,7 @@ xdescribe("Class MacroRugo: ", () => { // expect(macroRugoInstanceSubmerged()["resolveAlpha_t"](0.07)).toBeCloseTo(0.074752, 5); // }); // }); - testMacroRugoConfig("Submerged", 1.472487, 0.092897, macroRugoExtraResultSubmerged); + testMacroRugoConfig("Submerged", 1.472487, 0.095732, macroRugoExtraResultSubmerged); describe("JalHyd #85", () => { it("CalcSerie Q should return the good result :)", () => { @@ -232,7 +232,7 @@ xdescribe("Class MacroRugo: ", () => { const nubMR2 = macroRugoInstanceJalHyd85(); nubMR.prms.Y.setValues(0.7, 1.2, 0.1); - const aQ: number[] = [0.656297, 0.778636, 1.211155, 1.523789, 1.902439, 2.345380]; + const aQ: number[] = [0.662919, 0.793504, 1.221194, 1.542033, 1.928510, 2.378835]; nubMR.CalcSerie(); for (let i = 0; i < aQ.length; i++) {