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

thorne_zytkow.h

00001 /*
00002  * thorne_zytkow.h: derived class for Thorne-Zytkow
00003  *
00004  *.....................................................................
00005  *     version 1:  Jan 1994   Simon F. Portegies Zwart
00006  *     version 2:
00007  *...................................................................
00008  *     This file includes:
00009  *  1) definition of class thorne_zytkow 
00010  *
00011  *....................................................................
00012  */
00013 
00014 #ifndef    _THORNE_ZYTKOW 
00015 #   define _THORNE_ZYTKOW
00016 
00017 #include "single_star.h"
00018 #include "neutron_star.h"
00019 #include "black_hole.h"
00020 
00021 class main_sequence;
00022 
00023 /*-----------------------------------------------------------------------------
00024  *  thorne_zytkow  --  a derived class for element evolution.
00025  *-----------------------------------------------------------------------------
00026  */
00027 class thorne_zytkow : public single_star {
00028       public :
00029 
00030          thorne_zytkow(main_sequence &);
00031          thorne_zytkow(node* n) : single_star(n) {}
00032          ~thorne_zytkow() {}
00033 
00034          stellar_type get_element_type() {return Thorn_Zytkow;}
00035          bool giant_star()             {return true;}
00036 
00037          void instantaneous_element();
00038          void evolve_element(const real);
00039          void accrete_from_envelope(const real);
00040          void update();
00041 
00042 //           Mass transfer utilities.
00043         real add_mass_to_accretor(const real);
00044         real add_mass_to_accretor(real , const real);
00045         star* reduce_mass(const real);
00046         star* subtrac_mass_from_donor(const real, real&);
00047         void adjust_accretor_age(const real, const bool=true);
00048         void adjust_next_update_age();
00049 
00050         real gyration_radius_sq();
00051 
00052         friend neutron_star::neutron_star(thorne_zytkow &);
00053         friend black_hole::black_hole(thorne_zytkow &);
00054 };
00055 #endif          // _THORNE_ZYTKOW
00056 
00057 //         void adjust_initial_star();
00058 //       real stellar_radius(const real m, const real t);

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