
kalast
Thermophysical model for binary systems of asteroids
Demo

In action
Calculations of the temperature at the surface of the secondary body of a binary system of asteroids:
use kalast::{BinarySystem, Properties, Time, World, ASTRONAUMICAL_UNIT, HOUR, MINUTE, V3, YEAR};
fn main() {
let binary_system = BinarySystem::new(
"Two spheres",
V3::new(1.0, 0.0, 0.0) * ASTRONAUMICAL_UNIT * 1.664,
)
.with_primary(
"rsc/obj/sphere_light.obj",
Properties::new(
1.0 * YEAR, 2.7 * HOUR, 0.0, 100.0, 2146.0, 600.0, 0.1, 0.9, ),
)
.with_secondary(
"rsc/obj/ellipsoid_light.obj",
Properties::new(
11.92 * HOUR, 11.92 * HOUR, 0.0, 500.0, 2146.0, 600.0, 0.07, 0.9, ),
V3::new(-1.0, 0.0, 0.0) * 1e3, );
binary_system.complete_model(true);
binary_system.primary_mut().fixed(true);
binary_system.secondary_mut().fixed(true);
let time = Time::new(
binary_system.secondary().properties.revolution_period() * 50.,
30.0 * MINUTE,
);
let mut world = World::new(time, binary_system);
world.start();
world.save("rsc/data/tmp.txt");
println!(
"{} {}",
world.environment_system.secondary().temperatures().min(),
world.environment_system.secondary().temperatures().max()
);
}
Build source
./compile.sh -r
./kalast
TODO
License