keplerian-core
Version:
High-performance TypeScript library for orbital mechanics calculations, providing numerical integration, state propagation, and perturbation modeling for Keplerian orbits.
32 lines (31 loc) • 1.78 kB
TypeScript
import { OrbitalState } from 'packages/keplerian-core/src/types/physics';
import { Vector2D } from 'packages/Keplerian-core/src/types/math';
/**
* Applies an impulsive burn (delta-v) to the orbital state.
* This instantaneously changes the velocity vector of the spacecraft.
* @param state The current orbital state.
* @param deltaV The change in velocity vector to apply.
* @returns The new orbital state after the burn.
*/
export declare function applyImpulsiveBurn(state: OrbitalState, deltaV: Vector2D): OrbitalState;
/**
* Calculates the acceleration due to continuous thrust.
* This is a simplified 2D model where thrust is applied in a specific direction.
* @param thrustMagnitude The magnitude of the thrust force.
* @param spacecraftMass The mass of the spacecraft.
* @param thrustDirection The normalized direction vector of the thrust.
* @returns The acceleration vector due to thrust.
*/
export declare function calculateThrustAcceleration(thrustMagnitude: number, spacecraftMass: number, thrustDirection: Vector2D): Vector2D;
/**
* Placeholder for modeling continuous thrust over a duration.
* This would typically involve integrating the thrust acceleration over time
* within the simulation loop.
* @param state The current orbital state.
* @param thrustMagnitude The magnitude of the thrust force.
* @param spacecraftMass The mass of the spacecraft.
* @param thrustDirection The normalized direction vector of the thrust.
* @param deltaTime The time step over which thrust is applied.
* @returns The new orbital state after applying continuous thrust for deltaTime.
*/
export declare function applyContinuousThrust(state: OrbitalState, thrustMagnitude: number, spacecraftMass: number, thrustDirection: Vector2D, deltaTime: number): OrbitalState;