NKTgLaw
New Coder
// NKTg Law Mercury Orbit Simulation
// Based on constant position–momentum parameter
// Constant parameter
const C = 8.90e38;
// Mass values
const mass2025 = 3.301e23;
// 2025 position dataset (meters)
const positions2025 = [
{ date: "1/1/2025", x: 5.16e10, vNASA: 53400 },
{ date: "4/1/2025", x: 6.97e10, vNASA: 38900 },
{ date: "7/1/2025", x: 5.49e10, vNASA: 50400 },
{ date: "10/1/2025", x: 6.83e10, vNASA: 39800 },
{ date: "12/31/2025", x: 4.61e10, vNASA: 58900 }
];
// Compute velocity from NKTg Law
function computeVelocity(C, x, m) {
return C / (x * m);
}
// Compute relative error
function computeRelativeError(vModel, vNASA) {
return ((vModel - vNASA) / vNASA) * 100;
}
// Compute NKTg2 term
function computeNKTg2(dm_dt, m, v) {
const p = m * v;
return dm_dt * p;
}
// Mass variation rate
const dm_dt = -0.5;
console.log("NKTg Law Mercury Orbit Simulation Results");
console.log("--------------------------------------------------");
positions2025.forEach(data => {
const vModel = computeVelocity(C, data.x, mass2025);
const error = computeRelativeError(vModel, data.vNASA);
const nktg2 = computeNKTg2(dm_dt, mass2025, vModel);
console.log("Date:", data.date);
console.log("Position (x):", data.x);
console.log("Velocity (Model):", vModel.toExponential(5));
console.log("Velocity (NASA):", data.vNASA);
console.log("Relative Error (%):", error.toFixed(4));
console.log("NKTg2:", nktg2.toExponential(5));
console.log("--------------------------------------------------");
});
// Based on constant position–momentum parameter
// Constant parameter
const C = 8.90e38;
// Mass values
const mass2025 = 3.301e23;
// 2025 position dataset (meters)
const positions2025 = [
{ date: "1/1/2025", x: 5.16e10, vNASA: 53400 },
{ date: "4/1/2025", x: 6.97e10, vNASA: 38900 },
{ date: "7/1/2025", x: 5.49e10, vNASA: 50400 },
{ date: "10/1/2025", x: 6.83e10, vNASA: 39800 },
{ date: "12/31/2025", x: 4.61e10, vNASA: 58900 }
];
// Compute velocity from NKTg Law
function computeVelocity(C, x, m) {
return C / (x * m);
}
// Compute relative error
function computeRelativeError(vModel, vNASA) {
return ((vModel - vNASA) / vNASA) * 100;
}
// Compute NKTg2 term
function computeNKTg2(dm_dt, m, v) {
const p = m * v;
return dm_dt * p;
}
// Mass variation rate
const dm_dt = -0.5;
console.log("NKTg Law Mercury Orbit Simulation Results");
console.log("--------------------------------------------------");
positions2025.forEach(data => {
const vModel = computeVelocity(C, data.x, mass2025);
const error = computeRelativeError(vModel, data.vNASA);
const nktg2 = computeNKTg2(dm_dt, mass2025, vModel);
console.log("Date:", data.date);
console.log("Position (x):", data.x);
console.log("Velocity (Model):", vModel.toExponential(5));
console.log("Velocity (NASA):", data.vNASA);
console.log("Relative Error (%):", error.toFixed(4));
console.log("NKTg2:", nktg2.toExponential(5));
console.log("--------------------------------------------------");
});