Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

constants_new.h

00001 
00002        //=======================================================//    _\|/_
00003       //  __  _____           ___                    ___       //      /|\ ~
00004      //  /      |      ^     |   \  |         ^     |   \     //          _\|/_
00005     //   \__    |     / \    |___/  |        / \    |___/    //            /|\ ~
00006    //       \   |    /___\   |  \   |       /___\   |   \   // _\|/_
00007   //     ___/   |   /     \  |   \  |____  /     \  |___/  //   /|\ ~
00008  //                                                       //            _\|/_
00009 //=======================================================//              /|\ ~
00010 
00011 /*
00012  *  constants.h: header file for constants.
00013  *           
00014  *.............................................................................
00015  *    version 1:  May 1993   Simon F. Portegies Zwart
00016  *    version 2:  Jan 1998   Simon F. Portegies Zwart
00017  *.............................................................................
00018  *     This file includes:
00019  *  1) definition of physical constants, assumed numbers and pre set
00020  *     numbers.
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 // Mathematical constants.
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;                      // [cgs]
00050     const real C = 2.9979e+10;                   // [cm/s]
00051 
00052 d    const real Myear = 3.15e+13;                 // [s]
00053     const real days   = 86400;                   // [s]
00054     const real km_s   = 1.0e+5;                  // [cm/s]
00055   } phys;
00056   struct {
00057     const real mass   = 1.989e+33;               // [gr]
00058     const real radius = 6.96e+10;                // [cm]
00059     const real lumi   = 3.862e+33;               // [erg/s]
00060   }  sun;
00061   struct  {
00062     const real parsec  = 3.0857e+18;             // [cm]
00063     const real AU      = 1.496e+13;              // [cm]
00064     const real Rsun2AU = 4.65e-3;                // [Rsun]
00065     const real Rsun2pc = 2.26e-8;                // [Rsun]
00066   } astro;
00067   struct  {
00068     const real nucleair_efficiency = 0.0007;  // nucleair energy production eff. 
00069     const real black_hole   = 0.1;      // 0.1 Mass fraction accretes to core.
00070     const real neutron_star = 0.05;     // 0.01 Mass fraction accretes to core.
00071     const real white_dwarf  = 0.01;     // 0.01 Mass fraction accretes to core.
00072   } accretion;
00073   struct  {
00074     const real chandrasekhar_mass  =  1.44;      // [Msun].
00075     const real M_NS                =  1.35;      // [Msun].
00076     const real R_NS                =  1.5e-5;    // [Rsun].
00077     const real M_NSmax             =  2.0;       // [Msun].
00078     const real M_NSmin             =  8.0;       // [Msun].
00079     const real M_HE_NS             =  2.2;       // [Msun].
00080     const real M_BHmin             =  40.0;      // [Msun].
00081     const real M_HE_BH             =  15.0;      // [Msun].
00082     const real M_MSmax             = 100.0;      // [Msun].
00083     const real M_MSmin             =   0.075;    // [Msun]. (Pop III: 0.095)
00084     const real M_HEmin             =   2.20;     // [Msun]. (3: v/d Heuvel' 90)
00085     const real M_HE_WDmin          =   0.33;     // [Msun].
00086 c    const real LOW_MASS_STAR       =   1.5;      // [Msun].
00087     const real M_MSW               =   0.6;      // Magnetic Stellar Wind AML
00088 c    const real MEDIUM_MASS_STAR    =  15.0;      // [Msun].
00089   } mass;
00090   struct  {
00091     const bool exp_HE_lifetime = FALSE; // exponential he star lifetime fits.
00092     const bool Hyper_critical_accretion = FALSE;  
00093     bool GBROWN  = FALSE // Special neutron star in common envelope treatment.
00094                   // According to Gerry Brown, Neutron star collapse to 
00095                   // black holes during the spiral-in.
00096     const bool AARSETH = FALSE; //This parameter is defined in star.C
00097     const real mean_kick  = 450.0;                      // km/s
00098     const real sigma_kick = 90.0;                       // km/s
00099     const distribution distr_kick = Paczinski;
00100   } evolution;
00101   struct  {
00102     const real  COROTATION_E_LIMIT = 0.001;  // minimum eccentricity for corotation.
00103     const real  TNF_MASS_FR        = 0.05;   // 0.05Envelope fraction causes TNF.(CV)
00104     const real  Be_limit = 0.10;      // Accrete fraction Msun for Be star.
00105     const real  Ba_limit = 0.01;      // Accrete fraction of mass for Ba.
00106     const real  Bs_limit = 0.05;      // fraction of TO mass for Bs detection.
00107     const real  ALPHA     = 1.0;     // 0<alpha<1: masstransfer efficiency.
00108     const real  LAMBDA    = 0.5;     // envelope binding constant (0.5).
00109     const real  GAMMA_mb  = 2.5;     // (or 4) magnetic braking index.
00110     const real  OVERSHOOT = 0.125;   // 0.125 convective overshooting parameter.
00111     const real  TEN_PERCENT = 0.1;
00112     const real  STABLE_ZETA = 15;
00113     const real  J_SPI_FR    = 0.5;      //Pols 93 advises 1/3
00114     const real  TIDAL_RANGE = 4.0;      // tidal synchronization distance in [Rstar].
00115     const real  SPI_TIME             = 1.e-7;   // Spiral in duration time.
00116     const real  POST_AGB_TIME      = 0.005;   // time to lose giant envelope.
00117   } model;
00118 c  struct  {
00119 c    const real MIN_DT_FACTOR       = 0.01;
00120 c    const real timestep_factor     = 0.01;
00121 c                           // WARNING Tricky number: enlargment causes errors!!
00122 c                           // (0.01) as does making the number too small!!!!
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;     // Safety parameter mostly 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 

Generated on Wed Jul 20 12:43:36 2005 for Starlab by  doxygen 1.4.3