1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
use crateMAXIMUM_MASS as MAXIMUM_STAR_MASS;
use crateMINIMUM_MASS as MINIMUM_STAR_MASS;
/// The minimum separation of binary stars, in AU.
pub const MINIMUM_SEPARATION: f64 = 0.04;
/// The minimum average separation of "close" binary stars, in AU.
pub const MINIMUM_AVERAGE_SEPARATION: f64 = 0.1;
/// The maximum average separation of "close" binary stars, in AU.
pub const MAXIMUM_AVERAGE_SEPARATION: f64 = 6.0;
/// The minimum orbital eccentricity of "close" binary stars (unitless).
pub const MINIMUM_ORBITAL_ECCENTRICITY: f64 = 0.1;
/// The maximum orbital eccentricity of "close" binarsy stars (unitless).
pub const MAXIMUM_ORBITAL_ECCENTRICITY: f64 = 0.7;
/// The minimum combined mass of a binary system.
/// Set it to 4 * minimum main-sequence star mass.
/// We don't want it to be too small.
pub const MINIMUM_COMBINED_MASS: f64 = 4.0 * MINIMUM_STAR_MASS;
/// The maximum combined mass of a binary system.
/// Set it to maximum main-sequence star mass.
/// We don't need binary supergiants.
pub const MAXIMUM_COMBINED_MASS: f64 = MAXIMUM_STAR_MASS;
/// The minimum individual mass of a binary system member.
/// Set it to 1 * minimum main-sequence star mass.
pub const MINIMUM_INDIVIDUAL_MASS: f64 = MINIMUM_STAR_MASS;
/// The maximum individual mass of a binary system member.
/// Set it to 1 * maximum main-sequence star mass.
pub const MAXIMUM_INDIVIDUAL_MASS: f64 = MAXIMUM_STAR_MASS;
/// Assume a star has to be at least this old to have interesting life.
///
/// I'm assuming that life could get started at least a little sooner than on
/// Earth, but figuring it'd take about the same amount of time to get to the
/// interesting parts.
///
/// Measured in Gyr, or billions of years.
pub const MINIMUM_HABITABLE_AGE: f64 = 4.0;
/// The minimum habitable average separation of "close" binary stars, in AU.
pub const MINIMUM_HABITABLE_AVERAGE_SEPARATION: f64 = 0.1;
/// The maximum habitable average separation of "close" habitable binary stars,
/// in AU.
/// I dropped this down from ~6AU because this just was not happening.
pub const MAXIMUM_HABITABLE_AVERAGE_SEPARATION: f64 = 0.4;
/// The minimum orbital eccentricity of "close" binary stars (unitless).
pub const MINIMUM_HABITABLE_ORBITAL_ECCENTRICITY: f64 = 0.2;
/// The maximum orbital eccentricity of "close" binary stars (unitless).
pub const MAXIMUM_HABITABLE_ORBITAL_ECCENTRICITY: f64 = 0.6;
/// Below this is probably too low to support conventional life.
/// Measured in Msol, or solar mass equivalents.
pub const MINIMUM_HABITABLE_COMBINED_MASS: f64 = 1.0;
/// Above this is probably too high to support conventional life.
/// Measured in Msol, or solar mass equivalents.
pub const MAXIMUM_HABITABLE_COMBINED_MASS: f64 = 2.0;
/// Below this is probably too low to support conventional life.
/// Measured in Msol, or solar mass equivalents.
pub const MINIMUM_HABITABLE_INDIVIDUAL_MASS: f64 = 0.1;
/// Above this is probably too high to support conventional life.
/// Measured in Msol, or solar mass equivalents.
pub const MAXIMUM_HABITABLE_INDIVIDUAL_MASS: f64 = 1.25;