示例#1
0
 def define_methods(self, handler):
     InternalStellarStructure.define_methods(self, handler)
     StellarEvolution.define_methods(self, handler)
     handler.add_method("new_particle_method",
                        (units.MSun, handler.NO_UNIT, handler.NO_UNIT,
                         handler.NO_UNIT, units.yr),
                        (handler.INDEX, handler.ERROR_CODE))
     handler.add_method("get_mass_transfer_rate", (handler.INDEX, ), (
         units.MSun / units.yr,
         handler.ERROR_CODE,
     ))
     handler.add_method("get_wind_mass_loss_rate", (handler.INDEX, ), (
         units.MSun / units.yr,
         handler.ERROR_CODE,
     ))
     handler.add_method("get_spin", (handler.INDEX, ), (
         units.day,
         handler.ERROR_CODE,
     ))
     handler.add_method("finalize_stellar_model", (units.yr, ), (
         handler.INDEX,
         handler.ERROR_CODE,
     ))
     handler.add_method("get_stellar_model_element", (
         handler.INDEX,
         handler.INDEX,
     ), (units.MSun, units.MSun, units.RSun, units.g / units.cm**3,
         units.barye, handler.NO_UNIT, units.K, units.LSun, units.amu,
         handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT,
         handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT, handler.NO_UNIT,
         handler.NO_UNIT, handler.ERROR_CODE))
示例#2
0
    def define_particle_sets(self, handler):
        handler.define_set('particles', 'index_of_the_star')
        handler.set_new('particles', 'new_particle_method')
        handler.set_delete('particles', 'delete_star')

        handler.add_getter('particles', 'get_radius', names=('radius', ))
        handler.add_getter('particles',
                           'get_stellar_type',
                           names=('stellar_type', ))
        handler.add_getter('particles', 'get_mass', names=('mass', ))
        handler.add_getter('particles', 'get_age', names=('age', ))
        handler.add_getter('particles', 'get_time_step', names=('time_step', ))
        handler.add_getter('particles', 'get_spin', names=('spin', ))
        handler.add_getter('particles',
                           'get_luminosity',
                           names=('luminosity', ))
        handler.add_getter('particles',
                           'get_temperature',
                           names=('temperature', ))
        handler.add_getter('particles',
                           'get_manual_mass_transfer_rate',
                           names=('mass_transfer_rate', ))
        handler.add_setter('particles',
                           'set_manual_mass_transfer_rate',
                           names=('mass_transfer_rate', ))

        handler.add_method('particles', 'evolve_one_step')
        handler.add_method('particles', 'evolve_for')
        InternalStellarStructure.define_particle_sets(self,
                                                      handler,
                                                      set_name='particles')
        handler.add_method('particles', 'get_stellar_model',
                           'get_internal_structure')
        handler.add_method('particles', 'write_star_to_file')
示例#3
0
文件: interface.py 项目: vdhelm/amuse
    def define_particle_sets(self, object):
        object.define_set('particles', 'index_of_the_star')
        object.set_new('particles', 'new_particle_method')
        object.set_delete('particles', 'delete_star')

        object.add_getter('particles', 'get_radius', names = ('radius',))
        object.add_getter('particles', 'get_stellar_type', names = ('stellar_type',))
        object.add_getter('particles', 'get_mass', names = ('mass',))
        object.add_getter('particles', 'get_age', names = ('age',))
        object.add_getter('particles', 'get_time_step', names = ('time_step',))
        object.add_getter('particles', 'get_spin', names = ('spin',))
        object.add_getter('particles', 'get_luminosity', names = ('luminosity',))
        object.add_getter('particles', 'get_temperature', names = ('temperature',))
        object.add_getter('particles', 'get_manual_mass_transfer_rate', names = ('mass_transfer_rate',))
        object.add_setter('particles', 'set_manual_mass_transfer_rate', names = ('mass_transfer_rate',))

        object.add_method('particles', 'evolve_one_step')
        object.add_method('particles', 'evolve_for')
        InternalStellarStructure.define_particle_sets(self, object, set_name = 'particles')
        object.add_method('particles', 'get_stellar_model', 'internal_structure')
        object.add_method('particles', 'write_star_to_file')
示例#4
0
文件: interface.py 项目: vdhelm/amuse
 def define_methods(self, object):
     InternalStellarStructure.define_methods(self, object)
     StellarEvolution.define_methods(self, object)
     object.add_method(
         "new_particle_method",
         (units.MSun, object.NO_UNIT, object.NO_UNIT, object.NO_UNIT, units.yr),
         (object.INDEX, object.ERROR_CODE)
     )
     object.add_method(
         "get_mass_transfer_rate",
         (object.INDEX,),
         (units.MSun/units.yr, object.ERROR_CODE,)
     )
     object.add_method(
         "get_wind_mass_loss_rate",
         (object.INDEX,),
         (units.MSun/units.yr, object.ERROR_CODE,)
     )
     object.add_method(
         "get_spin",
         (object.INDEX,),
         (units.day, object.ERROR_CODE,)
     )
     object.add_method(
         "finalize_stellar_model",
         (units.yr,),
         (object.INDEX, object.ERROR_CODE,)
     )
     object.add_method(
         "get_stellar_model_element",
         (object.INDEX, object.INDEX,),
         (units.MSun, units.MSun, units.RSun, units.g / units.cm**3, units.barye,
             object.NO_UNIT, units.K, units.LSun, units.amu,
             object.NO_UNIT, object.NO_UNIT, object.NO_UNIT, object.NO_UNIT, object.NO_UNIT,
             object.NO_UNIT, object.NO_UNIT, object.NO_UNIT, object.NO_UNIT, object.ERROR_CODE)
     )
示例#5
0
 def define_errorcodes(self, handler):
     handler.add_errorcode(5, 'Age greater than maximum age limit.')
     handler.add_errorcode(2, 'BACKUP -- tstep reduced below limit; quit')
     InternalStellarStructure.define_errorcodes(self, handler)
示例#6
0
文件: interface.py 项目: vdhelm/amuse
 def define_errorcodes(self, object):
     object.add_errorcode(5, 'Age greater than maximum age limit.')
     object.add_errorcode(2, 'BACKUP -- tstep reduced below limit; quit')
     InternalStellarStructure.define_errorcodes(self, object)