AsteroidThermoPhysicalModels.jl
is a comprehensive Julia-based toolkit for thermophysical modeling (TPM) of asteroids. It allows you to simulate the temperature distribution of asteroids and predict non-gravitational perturbations on their dynamics (Yarkovsky and YORP effects).
For detailed documentation, please visit:
Sample notebooks are available in Astroshaper-examples.
using Pkg
Pkg.add(url="https://github.com/Astroshaper/AsteroidThermoPhysicalModels.jl")
using AsteroidThermoPhysicalModels
You can update the package and run tests as follows:
Pkg.update("AsteroidThermoPhysicalModels")
Pkg.test("AsteroidThermoPhysicalModels")
- Heat Conduction: 1-dimensional heat diffusion in depth direction
- Self-Shadowing: Local shadows cast by topography
- Self-Heating: Re-absorption of scattered and radiated photons by surrounding facets
- Binary Systems: Support for mutual shadowing (eclipses) and mutual heating between primary and secondary bodies
- Supports Wavefront OBJ format (*.obj)
- Yarkovsky Effect: Orbital perturbation due to asymmetric thermal emission
- YORP Effect: Rotational perturbation due to asymmetric thermal emission
- Surface roughness modeling (at scales smaller than facets of the shape model)
Temperature distribution of asteroid Didymos and its satellite Dimorphos:
using AsteroidThermoPhysicalModels
# Load shape model
shape = load_shape_obj("asteroid_shape.obj"; scale=1000, find_visible_facets=true)
# Set thermal parameters
thermo_params = ThermoParams(
8.0 * 3600, # Rotation period [s]
0.05, # Thermal skin depth [m]
200.0, # Thermal inertia [J m⁻² K⁻¹ s⁻¹/²]
0.1, # Reflectance in visible light [-]
0.0, # Reflectance in thermal infrared [-]
0.9, # Emissivity [-]
0.5, # Depth of lower boundary [m]
0.0125, # Depth step width [m]
41 # Number of depth steps
)
# Create and run TPM model
# See documentation for complete examples
The package produces detailed output files including:
- Surface and subsurface temperature distributions
- Thermal forces and torques
- Energy conservation metrics
Contributions are welcome! Please feel free to submit a Pull Request.