using UnityEngine;
///
/// Represents a single discretized point within the Earth's outer core.
/// Holds local physical properties necessary for fluid dynamics and magnetic field calculations.
///
public struct CoreGridPoint
{
public Vector3d position_m; // Position in meters relative to Earth's center
public double temperature_K; // Local temperature in Kelvin
public double compositionalAnomaly; // Local compositional anomaly (e.g., light element concentration)
public Vector3d velocity_m_s; // Local fluid velocity vector (v)
public Vector3d magneticField_T; // Local magnetic field vector (B)
public double density_kg_m3; // Local density
public Vector3d pressureGradient_Pa_m; // NEW: Local pressure gradient vector
// Additional properties for numerical stability/derivatives (e.g., previous values) can be added as needed.
public Vector3d prevVelocity_m_s;
public Vector3d prevMagneticField_T;
///
/// Constructor for a CoreGridPoint.
///
public CoreGridPoint(Vector3d pos, double temp, double compAnom, Vector3d vel, Vector3d magField, double density, Vector3d pressureGrad)
{
position_m = pos;
temperature_K = temp;
compositionalAnomaly = compAnom;
velocity_m_s = vel;
magneticField_T = magField;
density = density;
pressureGradient_Pa_m = pressureGrad; // Initialize new field
prevVelocity_m_s = vel; // Initialize previous to current
prevMagneticField_T = magField; // Initialize previous to current
}
}
Planetary Instability Model PIM - Copyright (C) 2025 James Pacha