00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _CONSTANTS
00025 # define _CONSTANTS
00026
00027 #include "star_support.h"
00028 #include "double_support.h"
00029 #include "star_support.h"
00030
00031 #define TRUE 1
00032 #define FALSE 0
00033
00034 #define SEBA_VERSION 2.0
00035
00036 enum kick_distribution = {Delta_function,
00037 Gaussian,
00038 Maxwellian,
00039 Paczinski};
00040
00041
00042 class {
00043 public:
00044 struct {
00045 d const real one_third = 0.333333333333333;
00046 d const real two_third = 0.666666666666666;
00047 } math;
00048 struct {
00049 const real G = 6.67e-8;
00050 const real C = 2.9979e+10;
00051
00052 d const real Myear = 3.15e+13;
00053 const real days = 86400;
00054 const real km_s = 1.0e+5;
00055 } phys;
00056 struct {
00057 const real mass = 1.989e+33;
00058 const real radius = 6.96e+10;
00059 const real lumi = 3.862e+33;
00060 } sun;
00061 struct {
00062 const real parsec = 3.0857e+18;
00063 const real AU = 1.496e+13;
00064 const real Rsun2AU = 4.65e-3;
00065 const real Rsun2pc = 2.26e-8;
00066 } astro;
00067 struct {
00068 const real nucleair_efficiency = 0.0007;
00069 const real black_hole = 0.1;
00070 const real neutron_star = 0.05;
00071 const real white_dwarf = 0.01;
00072 } accretion;
00073 struct {
00074 const real chandrasekhar_mass = 1.44;
00075 const real M_NS = 1.35;
00076 const real R_NS = 1.5e-5;
00077 const real M_NSmax = 2.0;
00078 const real M_NSmin = 8.0;
00079 const real M_HE_NS = 2.2;
00080 const real M_BHmin = 40.0;
00081 const real M_HE_BH = 15.0;
00082 const real M_MSmax = 100.0;
00083 const real M_MSmin = 0.075;
00084 const real M_HEmin = 2.20;
00085 const real M_HE_WDmin = 0.33;
00086 c const real LOW_MASS_STAR = 1.5;
00087 const real M_MSW = 0.6;
00088 c const real MEDIUM_MASS_STAR = 15.0;
00089 } mass;
00090 struct {
00091 const bool exp_HE_lifetime = FALSE;
00092 const bool Hyper_critical_accretion = FALSE;
00093 bool GBROWN = FALSE
00094
00095
00096 const bool AARSETH = FALSE;
00097 const real mean_kick = 450.0;
00098 const real sigma_kick = 90.0;
00099 const distribution distr_kick = Paczinski;
00100 } evolution;
00101 struct {
00102 const real COROTATION_E_LIMIT = 0.001;
00103 const real TNF_MASS_FR = 0.05;
00104 const real Be_limit = 0.10;
00105 const real Ba_limit = 0.01;
00106 const real Bs_limit = 0.05;
00107 const real ALPHA = 1.0;
00108 const real LAMBDA = 0.5;
00109 const real GAMMA_mb = 2.5;
00110 const real OVERSHOOT = 0.125;
00111 const real TEN_PERCENT = 0.1;
00112 const real STABLE_ZETA = 15;
00113 const real J_SPI_FR = 0.5;
00114 const real TIDAL_RANGE = 4.0;
00115 const real SPI_TIME = 1.e-7;
00116 const real POST_AGB_TIME = 0.005;
00117 } model;
00118 c struct {
00119 c const real MIN_DT_FACTOR = 0.01;
00120 c const real timestep_factor = 0.01;
00121 c
00122 c
00123 c const real ABSOLUTE_DT_MIN = 1.e-7;
00124 c const real ABSOLUTE_MDOT_MIN = 1.e-10;
00125 c const real Maximal_timestep = 2.5;
00126 c const int MAXIMUM_RECURSIVE_CALLS = 1000;
00127 c } safety;
00128 } static cnsts;
00129
00130 #define N_FATE 8
00131
00132 enum binary_history {ms_ms = 0, bs_ms, bs_bs, he_ms, heN_ms,
00133 wr_ms, he_he, rscvn,
00134 wuma, wdxb,
00135 lmxb, mmxb, hmxb, spi, spi_2,
00136 wd_ms, wd_he, wd_wd, wd_ns, wdXns,
00137 pr_ms, pr_he, pr_st, prXst, pr_pr, prXpr,
00138 ns_ms, ns_he, ns_st, nsXst, ns_ns, nsXns, st_st,
00139 no_of_type};
00140
00141
00142 enum Be_binaries {be_ms=0, be_he, be_wd, be_ns, no_of_be_binary};
00143
00144 #endif // _CONSTANTS
00145
00146