00001 /* 00002 * disintegrated.h: derived class for evolution of nothing 00003 * 00004 *..................................................................... 00005 * version 1: Jan 1994 Simon F. Portegies Zwart 00006 * version 2: 00007 *................................................................... 00008 * This file includes: 00009 * 1) definition of class disintegrated 00010 * 00011 *.................................................................... 00012 */ 00013 00014 #ifndef _DISINTEGRATED 00015 # define _DISINTEGRATED 00016 00017 #include "stdinc.h" 00018 #include "single_star.h" 00019 #include "black_hole.h" 00020 00021 class super_giant; 00022 class helium_giant; 00023 class white_dwarf; 00024 /*----------------------------------------------------------------------------- 00025 * disintegrated -- a derived class for element evolution. 00026 *----------------------------------------------------------------------------- 00027 */ 00028 class disintegrated : public single_star { 00029 protected : 00030 real suddenly_lost_mass; 00031 public : 00032 disintegrated(super_giant &); 00033 disintegrated(helium_giant &); 00034 disintegrated(white_dwarf &); 00035 disintegrated(node* n) : single_star(n) {suddenly_lost_mass=0;} 00036 ~disintegrated() {} 00037 00038 stellar_type get_element_type() {return Disintegrated;} 00039 bool remnant() {return false;} 00040 bool hydrogen_envelope_star() {return false;} 00041 int no_of_elements() {return 0;} 00042 00043 void instantaneous_element(); 00044 void evolve_element(const real); 00045 void update(); 00046 bool super_nova(); 00047 void adjust_next_update_age() {} 00048 00049 star* reduce_mass(const real); 00050 real mass_transfer_timescale(mass_transfer_type &type); 00051 star* subtrac_mass_from_donor(const real, real&); 00052 real add_mass_to_accretor(const real); 00053 real add_mass_to_accretor(real, const real); 00054 00055 star* merge_elements(star*); 00056 00057 real temperature(); 00058 real magnitude(); 00059 real bolometric_correction(); 00060 void stellar_wind(const real); 00061 real gyration_radius_sq(); 00062 00063 real sudden_mass_loss(); 00064 00065 }; 00066 #endif // _DISINTEGRATED 00067 00068 00069 00070 00071 00072 00073 00074 00075 00076 00077 00078 00079 00080 00081 00082 00083