diff --git a/spec/devalaison/jet.spec.ts b/spec/devalaison/jet.spec.ts index 365dc965a476794eb6e93d2c4887551438b1b15b..6a7e57765afbd5df0a883d89a8eb70ab5e17e0a1 100644 --- a/spec/devalaison/jet.spec.ts +++ b/spec/devalaison/jet.spec.ts @@ -3,7 +3,7 @@ import { JetParams } from "../../src/devalaison/jet_params"; function newJet(): Jet { return new Jet( - new JetParams(5, 0.03, 77.87219452081568, 19.83704632206701), + new JetParams(5, 0.03, 77.8803, 19.991), false ); } @@ -20,7 +20,11 @@ fdescribe("Class Jet", () => { jet.calculatedParam = jet.getParameter(p.symbol); const ref: number = p.currentValue; jet.calculatedParam.singleValue = jet.calculatedParam.singleValue / 10; - expect(jet.CalcSerie().vCalc).toBeCloseTo(ref, 2); + expect(jet.CalcSerie().vCalc).toBeCloseTo(ref, 3); + expect(jet.result.values.t).toBeCloseTo(4, 3); + expect(jet.result.values.Vx).toBeCloseTo(4.9978, 3); + expect(jet.result.values.Vz).toBeCloseTo(-39.0901, 3); + expect(jet.result.values.Vt).toBeCloseTo(39.4083, 3); }); } } diff --git a/src/devalaison/jet.ts b/src/devalaison/jet.ts index b51ac4209947c71fd76588c4bb43bfb6f0e740e2..c24a9cc134aae093ea0ca74d2995550860157ea6 100644 --- a/src/devalaison/jet.ts +++ b/src/devalaison/jet.ts @@ -12,12 +12,25 @@ export class Jet extends Nub { return this._prms as JetParams; } + public Calc(sVarCalc: string, rInit?: number): Result { + this.currentResult = super.Calc(sVarCalc, rInit); + this.result.resultElement.values.t = this.prms.D.V / Math.cos(this.alpha) / this.prms.V0.V; + this.result.resultElement.values.Vx = this.prms.V0.V * Math.cos(this.alpha); + this.result.resultElement.values.Vz = + this.prms.V0.V * Math.sin(this.alpha) - this.result.resultElement.values.t * 9.81; + this.result.resultElement.values.Vt = Math.sqrt( + Math.pow(this.result.resultElement.values.Vx, 2) + + Math.pow(this.result.resultElement.values.Vz, 2) + ); + return this.result; + } + public Equation(sVarCalc: string): Result { const g: number = 9.81; let alpha: number; if (sVarCalc !== "S") { // Positive slope for negative angle - alpha = Math.asin(-this.prms.S.v); + alpha = this.alpha; } let v: number; switch (sVarCalc) { @@ -43,4 +56,8 @@ export class Jet extends Nub { this.prms.H.calculability = ParamCalculability.EQUATION; this.prms.D.calculability = ParamCalculability.EQUATION; } + + private get alpha(): number { + return Math.asin(this.prms.S.v); + } }