From 03f8cf9e7d8889afe7ff1b09ccd8795bc889a2ee Mon Sep 17 00:00:00 2001 From: Dorchies David <david.dorchies@irstea.fr> Date: Tue, 28 Apr 2020 15:27:25 +0200 Subject: [PATCH] fix(jet): `arctan` should be used instead of `arcsin` - Calculation code modified - Module test rewrited from simple example of Dominique Courret's Excel sheet Fix #212 --- spec/devalaison/jet.spec.ts | 11 ++++++----- src/devalaison/jet.ts | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/spec/devalaison/jet.spec.ts b/spec/devalaison/jet.spec.ts index 583aaefe..016b0fed 100644 --- a/spec/devalaison/jet.spec.ts +++ b/spec/devalaison/jet.spec.ts @@ -4,7 +4,7 @@ import { MessageCode, ParamCalculability } from "../../src/index"; function newJet(): Jet { return new Jet( - new JetParams(5, 0.3, 77.48, 5, 3.42, 19.0788), + new JetParams(5, 0.03, 0, -5.04928, -6, 5.14768), false ); } @@ -22,10 +22,10 @@ describe("Class Jet − ", () => { const ref: number = p.currentValue; jet.calculatedParam.singleValue = jet.calculatedParam.singleValue / 2; expect(jet.CalcSerie().vCalc).toBeCloseTo(ref, 3); - expect(jet.result.values.t).toBeCloseTo(4, 3); - expect(jet.result.values.Vx).toBeCloseTo(4.770, 3); - expect(jet.result.values.Vz).toBeCloseTo(-37.74, 3); - expect(jet.result.values.Vt).toBeCloseTo(38.04, 3); + expect(jet.result.values.t).toBeCloseTo(1.03, 3); + expect(jet.result.values.Vx).toBeCloseTo(4.99775, 3); + expect(jet.result.values.Vz).toBeCloseTo(-9.95437, 3); + expect(jet.result.values.Vt).toBeCloseTo(11.13853, 3); }); } } @@ -93,6 +93,7 @@ describe("Class Jet − ", () => { expect(res.log.messages[1].code).toBe(MessageCode.WARNING_JET_START_ELEVATION_UNDERGROUND); }); it("jet underground (calculated), there should be two warnings", () => { + jet.prms.S.singleValue = 0.3; jet.prms.D.singleValue = 3.003; jet.prms.ZW.singleValue = 27; jet.prms.ZF.singleValue = 28.5; diff --git a/src/devalaison/jet.ts b/src/devalaison/jet.ts index 160311d9..10298cb1 100644 --- a/src/devalaison/jet.ts +++ b/src/devalaison/jet.ts @@ -272,6 +272,6 @@ export class Jet extends Nub { } private get alpha(): number { - return Math.asin(this.prms.S.v); + return Math.atan(this.prms.S.v); } } -- GitLab