예제 #1
0
파일: interface.py 프로젝트: Ingwar/amuse
 def define_state(self, object):
     CommonCode.define_state(self, object)
     object.add_transition('INITIALIZED','EDIT','commit_parameters')
     object.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False)
     object.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False)
     object.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False)
     object.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters')
     object.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters')
     object.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters')
     
     object.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
     object.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
     object.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter')
     
     object.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
     object.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
     object.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter')
     object.add_method('RUN', 'before_get_parameter')
     object.add_method('EDIT', 'before_get_parameter')
     object.add_method('UPDATE','before_get_parameter')
     
     object.add_method('EDIT', 'new_particle')
     object.add_method('EDIT', 'delete_particle')
     object.add_method('UPDATE', 'new_particle')
     object.add_method('UPDATE', 'delete_particle')
     object.add_transition('EDIT', 'RUN', 'commit_particles')
     object.add_transition('RUN', 'UPDATE', 'new_particle', False)
     object.add_transition('RUN', 'UPDATE', 'delete_particle', False)
     object.add_transition('UPDATE', 'RUN', 'recommit_particles')
     object.add_method('RUN', 'calculate_densities')
     object.add_method('RUN', 'do_hop')
     object.add_method('RUN', 'get_mass')
     object.add_method('RUN', 'get_position')
     object.add_method('RUN', 'get_density')
     object.add_method('RUN', 'get_group_id')
예제 #2
0
 def define_state(self, handler):
     CommonCode.define_state(self, handler)
     for method_name in [
         'initialize_from_dyn',
         'initialize_from_elements',
         'transform_to_time',
         'advance_to_radius',
         'return_to_radius',
         'advance_to_periastron',
         'advance_to_apastron',
         'return_to_periastron',
         'return_to_apastron',
         'get_total_mass',
         'get_time',
         'get_period',
         'get_elements',
         'get_integrals',
         'get_separation_vector',
         'get_separation',
         'set_periastron',
         'get_periastron',
         'get_apastron',
         'get_velocity_vector',
         'get_angles',
         'set_longitudinal_unit_vector',
         'set_normal_unit_vector',
         'get_longitudinal_unit_vector',
         'get_transverse_unit_vector',
         'set_transverse_unit_vector',
         'get_normal_unit_vector',
         'print_all',
         'set_random',
         'get_random',
         'make_binary_scattering']:
         handler.add_method('!UNINITIALIZED!END', method_name)
예제 #3
0
파일: interface.py 프로젝트: Ingwar/amuse
 def define_state(self, object):
     CommonCode.define_state(self, object)
     for method_name in [
         'initialize_from_dyn',
         'initialize_from_elements',
         'transform_to_time',
         'advance_to_radius',
         'return_to_radius',
         'advance_to_periastron',
         'advance_to_apastron',
         'return_to_periastron',
         'return_to_apastron',
         'get_total_mass',
         'get_time',
         'get_period',
         'get_elements',
         'get_integrals',
         'get_separation_vector',
         'get_separation',
         'set_periastron',
         'get_periastron',
         'get_apastron',
         'get_velocity_vector',
         'get_angles',
         'set_longitudinal_unit_vector',
         'set_normal_unit_vector',
         'get_longitudinal_unit_vector',
         'get_transverse_unit_vector',
         'set_transverse_unit_vector',
         'get_normal_unit_vector',
         'print_all',
         'set_random',
         'get_random',
         'make_binary_scattering']:
         object.add_method('!UNINITIALIZED!END', method_name)
예제 #4
0
 def define_state(self, handler):
     CommonCode.define_state(self, handler)
     handler.add_transition('INITIALIZED','EDIT','commit_parameters')
     handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False)
     handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False)
     handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False)
     handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters')
     handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters')
     handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters')
     
     handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
     handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
     handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter')
     
     handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
     handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
     handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter')
     handler.add_method('RUN', 'before_get_parameter')
     handler.add_method('EDIT', 'before_get_parameter')
     handler.add_method('UPDATE','before_get_parameter')
     
     handler.add_method('EDIT', 'new_particle')
     handler.add_method('EDIT', 'delete_particle')
     handler.add_method('UPDATE', 'new_particle')
     handler.add_method('UPDATE', 'delete_particle')
     handler.add_transition('EDIT', 'RUN', 'commit_particles')
     handler.add_transition('RUN', 'UPDATE', 'new_particle', False)
     handler.add_transition('RUN', 'UPDATE', 'delete_particle', False)
     handler.add_transition('UPDATE', 'RUN', 'recommit_particles')
     handler.add_method('RUN', 'calculate_densities')
     handler.add_method('RUN', 'do_hop')
     handler.add_method('RUN', 'get_mass')
     handler.add_method('RUN', 'get_position')
     handler.add_method('RUN', 'get_density')
     handler.add_method('RUN', 'get_group_id')
예제 #5
0
    def define_state(self, handler): 
        CommonCode.define_state(self, handler)   
        handler.add_transition('INITIALIZED','RUN','commit_parameters')
        handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False)
        handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters')
        
        handler.add_method('RUN', 'before_get_parameter')
        handler.add_method('INITIALIZED', 'before_set_parameter')
        handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')

        handler.add_method('RUN', 'startup_viz')
        handler.add_method('RUN', 'new_resource')
        handler.add_method('RUN', 'new_pilot')
        handler.add_method('RUN', 'submit_script_job')
        handler.add_method('RUN', 'submit_function_job')
        handler.add_method('RUN', 'get_resource_state')
        handler.add_method('RUN', 'get_pilot_state')
        handler.add_method('RUN', 'get_pilot_status')
        handler.add_method('RUN', 'get_script_job_state')
        handler.add_method('RUN', 'get_script_job_status')
        handler.add_method('RUN', 'get_function_job_state')
        handler.add_method('RUN', 'get_function_job_status')
        handler.add_method('RUN', 'get_worker_state')
        handler.add_method('RUN', 'get_worker_status')
        handler.add_method('RUN', 'use_for_distributed_workers')
        handler.add_method('RUN', 'use_for_all_workers')
예제 #6
0
 def define_state(self, object): 
     CommonCode.define_state(self, object)   
     object.add_transition('END', 'INITIALIZED', 'initialize_code', False)    
     object.add_transition('INITIALIZED', 'EDIT', 'commit_parameters')
     object.add_transition('RUN', 'CHANGE_PARAMETERS_RUN', 'before_set_parameter', False)
     object.add_transition('EDIT', 'CHANGE_PARAMETERS_EDIT', 'before_set_parameter', False)
     object.add_transition('UPDATE', 'CHANGE_PARAMETERS_UPDATE', 'before_set_parameter', False)
     object.add_transition('CHANGE_PARAMETERS_RUN', 'RUN', 'recommit_parameters')
     object.add_transition('CHANGE_PARAMETERS_EDIT', 'EDIT', 'recommit_parameters')
     object.add_transition('CHANGE_PARAMETERS_UPDATE', 'UPDATE', 'recommit_parameters')
     
     object.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
     object.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
     object.add_method('CHANGE_PARAMETERS_UPDATE', 'before_set_parameter')
     object.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
     object.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
     object.add_method('CHANGE_PARAMETERS_UPDATE', 'before_get_parameter')
     object.add_method('RUN', 'before_get_parameter')
     object.add_method('EDIT', 'before_get_parameter')
     object.add_method('UPDATE','before_get_parameter')
     
     object.add_method('EDIT', 'new_particle')
     object.add_method('EDIT', 'delete_particle')
     object.add_method('UPDATE', 'new_particle')
     object.add_method('UPDATE', 'delete_particle')
     object.add_transition('EDIT', 'RUN', 'commit_particles')
     object.add_transition('RUN', 'UPDATE', 'new_particle', False)
     object.add_transition('RUN', 'UPDATE', 'delete_particle', False)
     object.add_transition('UPDATE', 'RUN', 'recommit_particles')
     
     GravityFieldCode.define_state(self, object)
     object.add_method('RUN', 'get_potential_energy')
예제 #7
0
파일: interface.py 프로젝트: Ingwar/amuse
    def define_state(self, object):
        CommonCode.define_state(self, object)
        
        object.add_transition('INITIALIZED','EDIT','commit_parameters')
        object.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False)
        object.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False)
        object.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False)
        object.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters')
        object.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters')
        object.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters')
        
        object.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
        object.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
        object.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter')
        
        object.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
        object.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
        object.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter')
        object.add_method('RUN', 'before_get_parameter')
        object.add_method('EDIT', 'before_get_parameter')
        object.add_method('UPDATE','before_get_parameter')
        object.add_method('EVOLVED','before_get_parameter')
        object.add_method('RUNCOMMIT','before_get_parameter')
        
        
        
        object.add_method('EDIT', 'new_particle')
        object.add_method('EDIT', 'delete_particle')
        object.add_transition('EDIT', 'RUNCOMMIT', 'commit_particles')
        object.add_transition('RUN', 'UPDATE', 'new_particle', False)
        object.add_transition('RUN', 'UPDATE', 'delete_particle', False)
        object.add_transition('UPDATE', 'RUN', 'recommit_particles')
        object.add_transition('RUN','RUNCOMMIT', 'recommit_particles')
        object.add_transition('RUNCOMMIT','RUN', 'auto_go_to_run')
        object.add_transition('RUNCOMMIT', 'EVOLVED', 'evolve_model', False)
#        object.add_method('EVOLVED', 'evolve_model')
        object.define_state('RUNCOMMIT')
        object.add_transition('EVOLVED','RUN', 'synchronize_model')
        object.add_method('RUN', 'synchronize_model')
        object.add_method('RUN', 'get_state')
        object.add_method('RUN', 'get_density')
        object.add_method('RUN', 'get_position')
        object.add_method('RUN', 'get_flux')
        object.add_method('RUN', 'get_ionisation')
        object.add_method('RUN', 'get_internal_energy')
        object.add_method('RUN', 'set_dinternal_energy_dt')
        object.add_method('RUN', 'get_dinternal_energy_dt')
        object.add_method('UPDATE', 'set_dinternal_energy_dt')
        object.add_method('UPDATE', 'get_dinternal_energy_dt')

        object.add_method('INITIALIZED', 'set_hilbert_order')
        object.add_method('INITIALIZED', 'set_box_size')
        object.add_method('INITIALIZED', 'set_timestep')
        object.add_method('INITIALIZED', 'set_source_Teff')
        object.add_method('INITIALIZED', 'set_number_frequency_bins')
        object.add_method('INITIALIZED', 'set_thermal_evolution')
        object.add_method('INITIALIZED', 'set_blackbody_spectrum')
        object.add_method('INITIALIZED', 'set_metal_cooling')
        object.add_method('INITIALIZED', 'set_recombination_radiation')
        object.add_method('INITIALIZED', 'set_collisional_ionization')
예제 #8
0
파일: interface.py 프로젝트: Ingwar/amuse
    def define_state(self, object): 
        CommonCode.define_state(self, object)   
        object.add_transition('INITIALIZED','RUN','commit_parameters')
        object.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False)
        object.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters')
        
        object.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
        object.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
        object.add_method('RUN', 'before_get_parameter')

        object.add_method('RUN', 'new_resource')
        object.add_method('RUN', 'new_pilot')
        object.add_method('RUN', 'submit_script_job')
        object.add_method('RUN', 'submit_function_job')
        object.add_method('RUN', 'get_resource_state')
        object.add_method('RUN', 'get_pilot_state')
        object.add_method('RUN', 'get_pilot_status')
        object.add_method('RUN', 'get_script_job_state')
        object.add_method('RUN', 'get_script_job_status')
        object.add_method('RUN', 'get_function_job_state')
        object.add_method('RUN', 'get_function_job_status')
        object.add_method('RUN', 'get_worker_state')
        object.add_method('RUN', 'get_worker_status')
        object.add_method('RUN', 'use_for_distributed_workers')
        object.add_method('RUN', 'use_for_all_workers')
        object.add_method('RUN', 'get_worker_port')
예제 #9
0
파일: interface.py 프로젝트: Ingwar/amuse
 def define_state(self, object):
     CommonCode.define_state(self, object)
     object.add_transition('INITIALIZED','EDIT','commit_parameters')
     object.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False)
     object.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False)
     object.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False)
     object.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters')
     object.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters')
     object.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters')
     
     object.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
     object.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
     object.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter')
     
     object.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
     object.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
     object.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter')
     object.add_method('RUN', 'before_get_parameter')
     object.add_method('EDIT', 'before_get_parameter')
     object.add_method('UPDATE','before_get_parameter')
     
     object.add_transition('EDIT', 'UPDATE', 'generate_particles', False)
     object.add_transition('UPDATE', 'RUN', 'update_particle_set')
     object.add_transition('RUN', 'EDIT', 'clear_particle_set')
     object.add_method('RUN', 'invoke_state_change_updated')
     object.add_method('EDIT', 'get_number_of_particles_updated')
     object.add_method('UPDATE', 'get_number_of_particles_updated')
     object.add_method('RUN', 'get_number_of_particles_updated')
     object.add_method('RUN', 'get_mass')
     object.add_method('RUN', 'get_position')
     object.add_method('RUN', 'get_velocity')
예제 #10
0
파일: interface.py 프로젝트: rjfarmer/amuse
 def define_state(self, handler):
     CommonCode.define_state(self, handler)
     handler.add_transition('INITIALIZED','EDIT','commit_parameters')
     handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False)
     handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False)
     handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False)
     handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters')
     handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters')
     handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters')
     
     handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
     handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
     handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter')
     
     handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
     handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
     handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter')
     handler.add_method('RUN', 'before_get_parameter')
     handler.add_method('EDIT', 'before_get_parameter')
     handler.add_method('UPDATE','before_get_parameter')
     
     handler.add_transition('EDIT', 'UPDATE', 'generate_particles', False)
     handler.add_transition('UPDATE', 'RUN', 'update_particle_set')
     handler.add_transition('RUN', 'EDIT', 'clear_particle_set')
     handler.add_method('RUN', 'invoke_state_change_updated')
     handler.add_method('EDIT', 'get_number_of_particles_updated')
     handler.add_method('UPDATE', 'get_number_of_particles_updated')
     handler.add_method('RUN', 'get_number_of_particles_updated')
     handler.add_method('RUN', 'get_mass')
     handler.add_method('RUN', 'get_position')
     handler.add_method('RUN', 'get_velocity')
예제 #11
0
    def define_state(self, object):
        CommonCode.define_state(self, object)
        
        object.add_transition('INITIALIZED','EDIT','commit_parameters')
        object.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False)
        object.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False)
        object.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False)
        object.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters')
        object.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters')
        object.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters')
        
        object.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
        object.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
        object.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter')
        
        object.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
        object.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
        object.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter')
        object.add_method('RUN', 'before_get_parameter')
        object.add_method('EDIT', 'before_get_parameter')
        object.add_method('UPDATE','before_get_parameter')
        object.add_method('EVOLVED','before_get_parameter')
        
        object.add_method('EDIT', 'new_gas_particle')
        object.add_method('EDIT', 'remove_gas_particle')
        object.add_method('EDIT', 'new_src_particle')
        object.add_method('EDIT', 'remove_src_particle')
        object.add_transition('EDIT', 'RUN', 'commit_particles')
        object.add_transition('RUN', 'UPDATE', 'new_gas_particle', False)
        object.add_transition('RUN', 'UPDATE', 'remove_gas_particle', False)
        object.add_transition('RUN', 'UPDATE', 'new_src_particle', False)
        object.add_transition('RUN', 'UPDATE', 'remove_src_particle', False)
        
        object.add_transition('RUN', 'UPDATE', 'set_pos_gas', False)
        object.add_transition('RUN', 'UPDATE', 'set_rho_gas', False)
        object.add_transition('RUN', 'UPDATE', 'set_hsml_gas', False)
        object.add_transition('RUN', 'UPDATE', 'set_u_gas', False)
        object.add_transition('RUN', 'UPDATE', 'set_dudt_gas', False)
        object.add_transition('RUN', 'UPDATE', 'set_state_gas', False)
        object.add_transition('RUN', 'UPDATE', 'set_state_src', False)
        object.add_transition('RUN', 'UPDATE', 'set_luminosity_src', False)
        
        object.add_transition('UPDATE', 'RUN', 'recommit_particles')
        object.add_method('RUN', 'evolve_model')
        object.add_method('RUN', 'get_state_gas')
        object.add_method('RUN', 'get_state_src')

        object.add_method('INITIALIZED', 'set_momentum_kicks')
        object.add_method('INITIALIZED', 'set_isothermal')
        object.add_method('INITIALIZED', 'set_boxsize')
        object.add_method('INITIALIZED', 'set_globalHefraction')
        object.add_method('INITIALIZED', 'set_raynumber')
        object.add_method('INITIALIZED', 'set_iontempsolver')
        object.add_method('INITIALIZED', 'set_boundary')
        object.add_method('INITIALIZED', 'set_H_caseA')
        object.add_method('INITIALIZED', 'set_He_caseA')
예제 #12
0
    def define_state(self, handler):
        CommonCode.define_state(self, handler)
        
        handler.add_transition('INITIALIZED','EDIT','commit_parameters')
        handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False)
        handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False)
        handler.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False)
        handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters')
        handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters')
        handler.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters')
        
        handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
        handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
        handler.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter')
        
        handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
        handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
        handler.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter')
        handler.add_method('RUN', 'before_get_parameter')
        handler.add_method('EDIT', 'before_get_parameter')
        handler.add_method('UPDATE','before_get_parameter')
        handler.add_method('EVOLVED','before_get_parameter')
        
        handler.add_method('EDIT', 'new_gas_particle')
        handler.add_method('EDIT', 'remove_gas_particle')
        handler.add_method('EDIT', 'new_src_particle')
        handler.add_method('EDIT', 'remove_src_particle')
        handler.add_transition('EDIT', 'RUN', 'commit_particles')
        handler.add_transition('RUN', 'UPDATE', 'new_gas_particle', False)
        handler.add_transition('RUN', 'UPDATE', 'remove_gas_particle', False)
        handler.add_transition('RUN', 'UPDATE', 'new_src_particle', False)
        handler.add_transition('RUN', 'UPDATE', 'remove_src_particle', False)
        
        handler.add_transition('RUN', 'UPDATE', 'set_pos_gas', False)
        handler.add_transition('RUN', 'UPDATE', 'set_rho_gas', False)
        handler.add_transition('RUN', 'UPDATE', 'set_hsml_gas', False)
        handler.add_transition('RUN', 'UPDATE', 'set_u_gas', False)
        handler.add_transition('RUN', 'UPDATE', 'set_dudt_gas', False)
        handler.add_transition('RUN', 'UPDATE', 'set_state_gas', False)
        handler.add_transition('RUN', 'UPDATE', 'set_state_src', False)
        handler.add_transition('RUN', 'UPDATE', 'set_luminosity_src', False)
        
        handler.add_transition('UPDATE', 'RUN', 'recommit_particles')
        handler.add_method('RUN', 'evolve_model')
        handler.add_method('RUN', 'get_state_gas')
        handler.add_method('RUN', 'get_state_src')

        handler.add_method('INITIALIZED', 'set_momentum_kicks')
        handler.add_method('INITIALIZED', 'set_isothermal')
        handler.add_method('INITIALIZED', 'set_boxsize')
        handler.add_method('INITIALIZED', 'set_globalHefraction')
        handler.add_method('INITIALIZED', 'set_raynumber')
        handler.add_method('INITIALIZED', 'set_iontempsolver')
        handler.add_method('INITIALIZED', 'set_boundary')
        handler.add_method('INITIALIZED', 'set_H_caseA')
        handler.add_method('INITIALIZED', 'set_He_caseA')
예제 #13
0
    def define_state(self, object):
        CommonCode.define_state(self, object)
        object.add_transition('END', 'INITIALIZED', 'initialize_code', False)

        object.add_transition('INITIALIZED', 'EDIT', 'commit_parameters')
        object.add_transition('RUN', 'CHANGE_PARAMETERS_RUN',
                              'before_set_parameter', False)
        object.add_transition('EDIT', 'CHANGE_PARAMETERS_EDIT',
                              'before_set_parameter', False)
        object.add_transition('UPDATE', 'CHANGE_PARAMETERS_UPDATE',
                              'before_set_parameter', False)
        object.add_transition('CHANGE_PARAMETERS_RUN', 'RUN',
                              'recommit_parameters')
        object.add_transition('CHANGE_PARAMETERS_EDIT', 'EDIT',
                              'recommit_parameters')
        object.add_transition('CHANGE_PARAMETERS_UPDATE', 'UPDATE',
                              'recommit_parameters')

        object.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
        object.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
        object.add_method('CHANGE_PARAMETERS_UPDATE', 'before_set_parameter')

        object.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
        object.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
        object.add_method('CHANGE_PARAMETERS_UPDATE', 'before_get_parameter')
        object.add_method('RUN', 'before_get_parameter')
        object.add_method('EDIT', 'before_get_parameter')
        object.add_method('UPDATE', 'before_get_parameter')

        object.add_method('EDIT', 'new_star_particle')
        object.add_method('EDIT', 'new_gas_particle')
        object.add_method('EDIT', 'new_sphere_particle')
        object.add_method('EDIT', 'new_marker_particle')
        object.add_method('EDIT', 'delete_particle')
        object.add_method('UPDATE', 'new_star_particle')
        object.add_method('UPDATE', 'new_gas_particle')
        object.add_method('UPDATE', 'new_sphere_particle')
        object.add_method('UPDATE', 'new_marker_particle')
        object.add_method('UPDATE', 'delete_particle')
        object.add_transition('EDIT', 'RUN', 'commit_particles')
        object.add_transition('RUN', 'UPDATE', 'new_star_particle', False)
        object.add_transition('RUN', 'UPDATE', 'new_gas_particle', False)
        object.add_transition('RUN', 'UPDATE', 'new_sphere_particle', False)
        object.add_transition('RUN', 'UPDATE', 'new_marker_particle', False)
        object.add_transition('RUN', 'UPDATE', 'delete_particle', False)
        object.add_transition('UPDATE', 'RUN', 'recommit_particles')

        object.add_method('RUN', 'store_view')
        object.add_method('RUN', 'set_position')
        object.add_method('RUN', 'set_color')
        object.add_method('RUN', 'set_opacity')
        object.add_method('RUN', 'get_position')
        object.add_method('RUN', 'get_color')
        object.add_method('RUN', 'get_opacity')
예제 #14
0
 def define_state(self, handler): 
     CommonCode.define_state(self, handler)       
     #handler.add_transition('END', 'INITIALIZED', 'initialize_code', False)
     
     handler.add_method('INITIALIZED', 'set_parallel_decomposition')
     handler.add_transition('INITIALIZED','EDIT','commit_parameters')
     handler.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False)
     handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False)
     handler.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters')
     handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters')
     
     handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
     handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
     
     handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
     handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
     handler.add_method('RUN', 'before_get_parameter')
     handler.add_method('EDIT', 'before_get_parameter')
     
     handler.add_transition('EDIT', 'RUN', 'initialize_grid')
     handler.add_method('RUN', 'evolve_model')
     handler.add_method('RUN', 'get_hydro_state_at_point')
     
     for state in ['EDIT', 'RUN']:
         for methodname in [
                 'get_grid_state',
                 'set_grid_state',
                 'get_grid_density',
                 'set_grid_density',
                 'set_grid_energy_density',
                 'get_grid_energy_density',
                 'get_grid_momentum_density',
                 'set_grid_momentum_density', 
                 'get_position_of_index',
                 'get_index_of_position',
                 'set_grid_scalar',
                 'get_grid_scalar',
                 'get_mesh_size',
                 'set_gravity_field',
                 'get_gravity_field',
                 'get_boundary_state',
                 'set_boundary_state',
                 'get_boundary_position_if_index',
                 'get_boundary_index_range_inclusive'
             ]:
             handler.add_method(state, methodname)
             
     self.stopping_conditions.define_state(handler)    
예제 #15
0
파일: interface.py 프로젝트: Ingwar/amuse
 def define_state(self, object): 
     CommonCode.define_state(self, object)   
     object.add_transition('END', 'INITIALIZED', 'initialize_code', False)    
     
     object.add_transition('INITIALIZED','EDIT','commit_parameters')
     object.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False)
     object.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False)
     object.add_transition('UPDATE','CHANGE_PARAMETERS_UPDATE','before_set_parameter', False)
     object.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters')
     object.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters')
     object.add_transition('CHANGE_PARAMETERS_UPDATE','UPDATE','recommit_parameters')
     
     object.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
     object.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
     object.add_method('CHANGE_PARAMETERS_UPDATE','before_set_parameter')
     
     object.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
     object.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
     object.add_method('CHANGE_PARAMETERS_UPDATE','before_get_parameter')
     object.add_method('RUN', 'before_get_parameter')
     object.add_method('EDIT', 'before_get_parameter')
     object.add_method('UPDATE','before_get_parameter')
     
     object.add_method('EDIT', 'new_star_particle')
     object.add_method('EDIT', 'new_gas_particle')
     object.add_method('EDIT', 'new_sphere_particle')
     object.add_method('EDIT', 'new_marker_particle')
     object.add_method('EDIT', 'delete_particle')
     object.add_method('UPDATE', 'new_star_particle')
     object.add_method('UPDATE', 'new_gas_particle')
     object.add_method('UPDATE', 'new_sphere_particle')
     object.add_method('UPDATE', 'new_marker_particle')
     object.add_method('UPDATE', 'delete_particle')
     object.add_transition('EDIT', 'RUN', 'commit_particles')
     object.add_transition('RUN', 'UPDATE', 'new_star_particle', False)
     object.add_transition('RUN', 'UPDATE', 'new_gas_particle', False)
     object.add_transition('RUN', 'UPDATE', 'new_sphere_particle', False)
     object.add_transition('RUN', 'UPDATE', 'new_marker_particle', False)
     object.add_transition('RUN', 'UPDATE', 'delete_particle', False)
     object.add_transition('UPDATE', 'RUN', 'recommit_particles')
     
     object.add_method('RUN', 'store_view')
     object.add_method('RUN', 'set_position')
     object.add_method('RUN', 'set_color')
     object.add_method('RUN', 'set_opacity')
     object.add_method('RUN', 'get_position')
     object.add_method('RUN', 'get_color')
     object.add_method('RUN', 'get_opacity')
예제 #16
0
파일: interface.py 프로젝트: Ingwar/amuse
 def define_state(self, object): 
     CommonCode.define_state(self, object)       
     #object.add_transition('END', 'INITIALIZED', 'initialize_code', False)
     
     object.add_method('INITIALIZED', 'set_parallel_decomposition')
     object.add_transition('INITIALIZED','EDIT','commit_parameters')
     object.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False)
     object.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False)
     object.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters')
     object.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters')
     
     object.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
     object.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
     
     object.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
     object.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
     object.add_method('RUN', 'before_get_parameter')
     object.add_method('EDIT', 'before_get_parameter')
     
     object.add_transition('EDIT', 'RUN', 'initialize_grid')
     object.add_method('RUN', 'evolve_model')
     object.add_method('RUN', 'get_hydro_state_at_point')
     
     for state in ['EDIT', 'RUN']:
         for methodname in [
                 'get_grid_state',
                 'set_grid_state',
                 'get_grid_density',
                 'set_grid_density',
                 'set_grid_energy_density',
                 'get_grid_energy_density',
                 'get_grid_momentum_density',
                 'set_grid_momentum_density', 
                 'get_position_of_index',
                 'get_index_of_position',
                 'set_grid_scalar',
                 'get_grid_scalar',
                 'get_mesh_size',
                 'set_gravity_field',
                 'get_gravity_field',
                 'get_boundary_state',
                 'set_boundary_state',
                 'get_boundary_position_if_index',
                 'get_boundary_index_range_inclusive'
             ]:
             object.add_method(state, methodname)
             
     self.stopping_conditions.define_state(object)    
예제 #17
0
 def define_state(self, object):
    CommonCode.define_state(self, object)
    object.add_transition('INITIALIZED', 'RUN', 'commit_parameters')
    object.add_transition('RUN', 'CHANGE_PARAMETERS_RUN', 'before_set_parameter', False)
    object.add_transition('CHANGE_PARAMETERS_RUN', 'RUN', 'recommit_parameters')
    object.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
    object.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
    object.add_method('RUN', 'before_get_parameter')
    GravityFieldCode.define_state(self, object)
    object.add_method('RUN', 'get_local_density')
    object.add_method('RUN', 'get_velcirc')
    object.add_method('RUN', 'get_epifreq')
    object.add_method('RUN', 'get_spiral_density')
    object.add_method('RUN', 'get_tidal_tensor')
    object.add_method('RUN', 'get_eigen_values')
    object.add_method('RUN', 'get_tidal_radius')
예제 #18
0
파일: interface.py 프로젝트: rjfarmer/amuse
 def define_state(self, handler):
     CommonCode.define_state(self, handler)
     handler.add_transition('INITIALIZED','EDIT','commit_parameters')
     handler.add_transition('RUN','PARAMETER_CHANGE_A','invoke_state_change2')
     handler.add_transition('EDIT','PARAMETER_CHANGE_B','invoke_state_change2')
     handler.add_transition('PARAMETER_CHANGE_A','RUN','recommit_parameters')
     handler.add_transition('PARAMETER_CHANGE_B','EDIT','recommit_parameters')
     handler.add_method('EDIT', 'new_particle')
     handler.add_method('EDIT', 'delete_particle')
     handler.add_transition('EDIT', 'RUN', 'commit_particles')
     handler.add_transition('RUN', 'UPDATE', 'new_particle', False)
     handler.add_transition('RUN', 'UPDATE', 'delete_particle', False)
     handler.add_transition('UPDATE', 'RUN', 'recommit_particles')
     handler.add_method('RUN', 'evolve_model')
     handler.add_method('RUN', 'get_state')
     handler.add_method('RUN', 'get_abundance')
예제 #19
0
파일: interface.py 프로젝트: Ingwar/amuse
 def define_state(self, object):
     CommonCode.define_state(self, object)
     object.add_transition('INITIALIZED','EDIT','commit_parameters')
     object.add_transition('RUN','PARAMETER_CHANGE_A','invoke_state_change2')
     object.add_transition('EDIT','PARAMETER_CHANGE_B','invoke_state_change2')
     object.add_transition('PARAMETER_CHANGE_A','RUN','recommit_parameters')
     object.add_transition('PARAMETER_CHANGE_B','EDIT','recommit_parameters')
     object.add_method('EDIT', 'new_particle')
     object.add_method('EDIT', 'delete_particle')
     object.add_transition('EDIT', 'RUN', 'commit_particles')
     object.add_transition('RUN', 'UPDATE', 'new_particle', False)
     object.add_transition('RUN', 'UPDATE', 'delete_particle', False)
     object.add_transition('UPDATE', 'RUN', 'recommit_particles')
     object.add_method('RUN', 'evolve_model')
     object.add_method('RUN', 'get_state')
     object.add_method('RUN', 'get_abundance')
예제 #20
0
 def define_state(self, handler):
    CommonCode.define_state(self, handler)
    handler.add_transition('INITIALIZED', 'RUN', 'commit_parameters')
    handler.add_transition('RUN', 'CHANGE_PARAMETERS_RUN', 'before_set_parameter', False)
    handler.add_transition('CHANGE_PARAMETERS_RUN', 'RUN', 'recommit_parameters')
    handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
    handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
    handler.add_method('RUN', 'before_get_parameter')
    GravityFieldCode.define_state(self, handler)
    handler.add_method('RUN', 'get_local_density')
    handler.add_method('RUN', 'get_velcirc')
    handler.add_method('RUN', 'get_epifreq')
    handler.add_method('RUN', 'get_spiral_density')
    handler.add_method('RUN', 'get_tidal_tensor')
    handler.add_method('RUN', 'get_eigen_values')
    handler.add_method('RUN', 'get_tidal_radius')
예제 #21
0
 def define_state(self, handler):
     CommonCode.define_state(self, handler)
     handler.add_transition('INITIALIZED','EDIT','commit_parameters')
     handler.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False)
     handler.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters')
     
     handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
     
     handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
     handler.add_method('RUN', 'before_get_parameter')
     handler.add_method('EDIT', 'before_get_parameter')
     
     handler.add_transition('EDIT', 'RUN', 'generate_particles', False)
     handler.add_transition('RUN', 'EDIT', 'clear_particle_set')
     handler.add_method('EDIT', 'get_number_of_particles_updated')
     handler.add_method('RUN', 'get_number_of_particles_updated')
     handler.add_method('RUN', 'get_state')
예제 #22
0
파일: interface.py 프로젝트: vdhelm/amuse
    def define_state(self, object):
        CommonCode.define_state(self, object)
        object.add_transition("INITIALIZED", "EDIT", "commit_parameters")
        object.add_transition("EDIT", "CHANGE_PARAMETERS_EDIT", "before_set_parameter", False)
        object.add_transition("CHANGE_PARAMETERS_EDIT", "EDIT", "recommit_parameters")

        object.add_method("CHANGE_PARAMETERS_EDIT", "before_set_parameter")

        object.add_method("CHANGE_PARAMETERS_EDIT", "before_get_parameter")
        object.add_method("RUN", "before_get_parameter")
        object.add_method("EDIT", "before_get_parameter")

        object.add_transition("EDIT", "RUN", "generate_particles", False)
        object.add_transition("RUN", "EDIT", "clear_particle_set")
        object.add_method("EDIT", "get_number_of_particles_updated")
        object.add_method("RUN", "get_number_of_particles_updated")
        object.add_method("RUN", "get_state")
예제 #23
0
 def define_state(self, object):
     CommonCode.define_state(self, object)
     object.add_transition('INITIALIZED', 'EDIT', 'commit_parameters')
     object.add_transition('RUN', 'PARAMETER_CHANGE_A',
                           'invoke_state_change2')
     object.add_transition('EDIT', 'PARAMETER_CHANGE_B',
                           'invoke_state_change2')
     object.add_transition('PARAMETER_CHANGE_A', 'RUN',
                           'recommit_parameters')
     object.add_transition('PARAMETER_CHANGE_B', 'EDIT',
                           'recommit_parameters')
     object.add_transition('EDIT', 'UPDATE', 'generate_particles', False)
     object.add_transition('UPDATE', 'RUN', 'update_particle_set')
     object.add_transition('RUN', 'EDIT', 'clear_particle_set')
     object.add_method('RUN', 'invoke_state_change_updated')
     object.add_method('EDIT', 'get_number_of_particles_updated')
     object.add_method('UPDATE', 'get_number_of_particles_updated')
     object.add_method('RUN', 'get_number_of_particles_updated')
     object.add_method('RUN', 'get_mass')
     object.add_method('RUN', 'get_position')
     object.add_method('RUN', 'get_velocity')
예제 #24
0
    def define_state(self, object):
        CommonCode.define_state(self, object)

        object.add_transition("INITIALIZED", "EDIT", "commit_parameters")
        object.add_transition("RUN", "CHANGE_PARAMETERS_RUN", "before_set_parameter", False)
        object.add_transition("EDIT", "CHANGE_PARAMETERS_EDIT", "before_set_parameter", False)
        object.add_transition("UPDATE", "CHANGE_PARAMETERS_UPDATE", "before_set_parameter", False)
        object.add_transition("CHANGE_PARAMETERS_RUN", "RUN", "recommit_parameters")
        object.add_transition("CHANGE_PARAMETERS_EDIT", "EDIT", "recommit_parameters")
        object.add_transition("CHANGE_PARAMETERS_UPDATE", "UPDATE", "recommit_parameters")

        object.add_method("CHANGE_PARAMETERS_RUN", "before_set_parameter")
        object.add_method("CHANGE_PARAMETERS_EDIT", "before_set_parameter")
        object.add_method("CHANGE_PARAMETERS_UPDATE", "before_set_parameter")

        object.add_method("CHANGE_PARAMETERS_RUN", "model_present")
        object.add_method("CHANGE_PARAMETERS_EDIT", "model_present")
        object.add_method("CHANGE_PARAMETERS_UPDATE", "model_present")
        object.add_method("INITIALIZED", "model_present")

        object.add_method("CHANGE_PARAMETERS_RUN", "before_get_parameter")
        object.add_method("CHANGE_PARAMETERS_EDIT", "before_get_parameter")
        object.add_method("CHANGE_PARAMETERS_UPDATE", "before_get_parameter")
        object.add_method("RUN", "before_get_parameter")
        object.add_method("EDIT", "before_get_parameter")
        object.add_method("UPDATE", "before_get_parameter")

        object.add_transition("EDIT", "UPDATE", "generate_particles", False)
        object.add_transition("UPDATE", "RUN", "update_particle_set")
        object.add_transition("RUN", "EDIT", "clear_particle_set")
        object.add_method("RUN", "invoke_state_change_updated")
        object.add_method("EDIT", "get_number_of_particles_updated")
        object.add_method("UPDATE", "get_number_of_particles_updated")
        object.add_method("RUN", "get_number_of_particles_updated")
        object.add_method("RUN", "get_number_of_particles")
        object.add_method("RUN", "get_mass")
        object.add_method("RUN", "get_position")
        object.add_method("RUN", "get_velocity")
예제 #25
0
파일: interface.py 프로젝트: Ingwar/amuse
    def define_state(self, object): 
        CommonCode.define_state(self, object)   
        object.add_transition('END', 'INITIALIZED', 'initialize_code', False)
        
        object.add_transition('INITIALIZED','EDIT','commit_parameters')
        object.add_transition('RUN','CHANGE_PARAMETERS_RUN','before_set_parameter', False)
        object.add_transition('EDIT','CHANGE_PARAMETERS_EDIT','before_set_parameter', False)
        object.add_transition('CHANGE_PARAMETERS_RUN','RUN','recommit_parameters')
        object.add_transition('CHANGE_PARAMETERS_EDIT','EDIT','recommit_parameters')
        
        object.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
        object.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
        
        object.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
        object.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
        object.add_method('RUN', 'before_get_parameter')
        object.add_method('EDIT', 'before_get_parameter')
        
        object.add_transition('EDIT', 'RUN', 'initialize_grid')
        object.add_method('RUN', 'evolve_model')
        object.add_method('RUN', 'get_hydro_state_at_point')
        
        for state in ['EDIT', 'RUN']:
            for methodname in [
                    'get_grid_state',
                    'set_grid_state',
                    'get_potential_at_point',
                    'get_potential',
                    'get_gravity_at_point',
#                    'set_potential',
                    'get_grid_density',
                    'set_grid_density',
                    'set_grid_energy_density',
                    'get_grid_energy_density',
                    'get_grid_momentum_density',
                    'set_grid_momentum_density',
                    'get_grid_velocity',
                    'set_grid_velocity', 
                    'get_position_of_index',
                    'get_index_of_position',
                    'get_max_refinement',
#                    'set_grid_scalar',
#                    'get_grid_scalar',
                    'get_number_of_grids',
                    'get_index_range_inclusive',
                    'get_cell_volume',
                    'get_number_of_procs',
                    'get_all_local_num_grids',
                    'get_data_all_local_blks',
                    'get_1blk_cell_coords',
                    'get_leaf_indices',
                    'kick_grid',
                    'kick_block',
#                    'get_boundary_state',
#                    'set_boundary_state',
#                    'get_boundary_position_if_index',
#                    'get_boundary_index_range_inclusive',
                    'get_timestep',
                    'set_timestep',
                    'get_end_time',
                    'set_end_time',
                    'get_time',
                    'get_max_num_steps',
                    'set_max_num_steps',
                    'get_restart',
                    'get_number_of_particles',
                    'get_accel_gas_on_particles',
                    'get_particle_position',
                    'set_particle_position',
                    'get_particle_velocity',
                    'set_particle_velocity',
                    'make_sink',
                    'get_particle_mass',
                    'set_particle_mass',
                    'set_particle_gpot',
                    'get_particle_gpot',
                    'get_particle_tags',
                    'get_particle_proc',
                    'get_particle_block',
                    'get_new_tags',
                    'get_number_of_new_tags',
                    'clear_new_tags',
                    'particles_gather',
                    #'make_particle_tree',
                    'write_chpt'
                ]:
                object.add_method(state, methodname)
예제 #26
0
    def define_state(self, handler):
        CommonCode.define_state(self, handler)
        handler.add_transition('END', 'INITIALIZED', 'initialize_code', False)

        handler.add_transition('INITIALIZED', 'EDIT', 'commit_parameters')
        handler.add_transition('RUN', 'CHANGE_PARAMETERS_RUN',
                               'before_set_parameter', False)
        handler.add_transition('EDIT', 'CHANGE_PARAMETERS_EDIT',
                               'before_set_parameter', False)
        handler.add_transition('CHANGE_PARAMETERS_RUN', 'RUN',
                               'recommit_parameters')
        handler.add_transition('CHANGE_PARAMETERS_EDIT', 'EDIT',
                               'recommit_parameters')

        handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
        handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')

        handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
        handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
        handler.add_method('RUN', 'before_get_parameter')
        handler.add_method('EDIT', 'before_get_parameter')

        handler.add_transition('EDIT', 'RUN', 'initialize_grid')
        handler.add_method('RUN', 'evolve_model')
        handler.add_method('RUN', 'get_hydro_state_at_point')

        for state in ['EDIT', 'RUN']:
            for methodname in [
                    'get_grid_state',
                    'set_grid_state',
                    'get_potential_at_point',
                    'get_potential',
                    'get_gravity_at_point',
                    #                    'set_potential',
                    'get_grid_density',
                    'set_grid_density',
                    'set_grid_energy_density',
                    'get_grid_energy_density',
                    'get_grid_momentum_density',
                    'set_grid_momentum_density',
                    'get_grid_velocity',
                    'set_grid_velocity',
                    'get_position_of_index',
                    'get_index_of_position',
                    'get_max_refinement',
                    #                    'set_grid_scalar',
                    #                    'get_grid_scalar',
                    'get_number_of_grids',
                    'get_index_range_inclusive',
                    'get_cell_volume',
                    'get_number_of_procs',
                    'get_all_local_num_grids',
                    'get_data_all_local_blks',
                    'get_1blk_cell_coords',
                    'get_leaf_indices',
                    'kick_grid',
                    'kick_block',
                    #                    'get_boundary_state',
                    #                    'set_boundary_state',
                    #                    'get_boundary_position_if_index',
                    #                    'get_boundary_index_range_inclusive',
                    'get_timestep',
                    'set_timestep',
                    'get_end_time',
                    'set_end_time',
                    'get_time',
                    'get_max_num_steps',
                    'set_max_num_steps',
                    'get_restart',
                    'get_number_of_particles',
                    'get_accel_gas_on_particles',
                    'get_particle_position',
                    'set_particle_position',
                    'get_particle_velocity',
                    'set_particle_velocity',
                    'make_sink',
                    'get_particle_mass',
                    'set_particle_mass',
                    'set_particle_gpot',
                    'get_particle_gpot',
                    'get_particle_tags',
                    'get_particle_proc',
                    'get_particle_block',
                    'get_new_tags',
                    'get_number_of_new_tags',
                    'clear_new_tags',
                    'particles_gather',
                    #'make_particle_tree',
                    'write_chpt'
            ]:
                handler.add_method(state, methodname)
예제 #27
0
    def define_state(self, handler):
        CommonCode.define_state(self, handler)

        handler.add_transition('INITIALIZED', 'EDIT', 'commit_parameters')
        handler.add_transition('RUN', 'CHANGE_PARAMETERS_RUN',
                               'before_set_parameter', False)
        handler.add_transition('EDIT', 'CHANGE_PARAMETERS_EDIT',
                               'before_set_parameter', False)
        handler.add_transition('UPDATE', 'CHANGE_PARAMETERS_UPDATE',
                               'before_set_parameter', False)
        handler.add_transition('CHANGE_PARAMETERS_RUN', 'RUN',
                               'recommit_parameters')
        handler.add_transition('CHANGE_PARAMETERS_EDIT', 'EDIT',
                               'recommit_parameters')
        handler.add_transition('CHANGE_PARAMETERS_UPDATE', 'UPDATE',
                               'recommit_parameters')

        handler.add_method('CHANGE_PARAMETERS_RUN', 'before_set_parameter')
        handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_set_parameter')
        handler.add_method('CHANGE_PARAMETERS_UPDATE', 'before_set_parameter')

        handler.add_method('CHANGE_PARAMETERS_RUN', 'before_get_parameter')
        handler.add_method('CHANGE_PARAMETERS_EDIT', 'before_get_parameter')
        handler.add_method('CHANGE_PARAMETERS_UPDATE', 'before_get_parameter')
        handler.add_method('RUN', 'before_get_parameter')
        handler.add_method('EDIT', 'before_get_parameter')
        handler.add_method('UPDATE', 'before_get_parameter')
        handler.add_method('EVOLVED', 'before_get_parameter')
        handler.add_method('RUNCOMMIT', 'before_get_parameter')

        handler.add_method('EDIT', 'new_particle')
        handler.add_method('EDIT', 'delete_particle')
        handler.add_transition('EDIT', 'RUNCOMMIT', 'commit_particles')
        handler.add_transition('RUN', 'UPDATE', 'new_particle', False)
        handler.add_transition('RUN', 'UPDATE', 'delete_particle', False)
        handler.add_transition('UPDATE', 'RUN', 'recommit_particles')
        handler.add_transition('RUN', 'RUNCOMMIT', 'recommit_particles')
        handler.add_transition('RUNCOMMIT', 'RUN', 'auto_go_to_run')
        handler.add_transition('RUNCOMMIT', 'EVOLVED', 'evolve_model', False)
        #        handler.add_method('EVOLVED', 'evolve_model')
        handler.define_state('RUNCOMMIT')
        handler.add_transition('EVOLVED', 'RUN', 'synchronize_model')
        handler.add_method('RUN', 'synchronize_model')
        handler.add_method('RUN', 'get_state')
        handler.add_method('RUN', 'get_density')
        handler.add_method('RUN', 'get_position')
        handler.add_method('RUN', 'get_flux')
        handler.add_method('RUN', 'get_ionisation')
        handler.add_method('RUN', 'get_internal_energy')
        handler.add_method('RUN', 'set_dinternal_energy_dt')
        handler.add_method('RUN', 'get_dinternal_energy_dt')
        handler.add_method('UPDATE', 'set_dinternal_energy_dt')
        handler.add_method('UPDATE', 'get_dinternal_energy_dt')

        handler.add_method('INITIALIZED', 'set_hilbert_order')
        handler.add_method('INITIALIZED', 'set_box_size')
        handler.add_method('INITIALIZED', 'set_timestep')
        handler.add_method('INITIALIZED', 'set_source_Teff')
        handler.add_method('INITIALIZED', 'set_number_frequency_bins')
        handler.add_method('INITIALIZED', 'set_thermal_evolution')
        handler.add_method('INITIALIZED', 'set_blackbody_spectrum')
        handler.add_method('INITIALIZED', 'set_metal_cooling')
        handler.add_method('INITIALIZED', 'set_recombination_radiation')
        handler.add_method('INITIALIZED', 'set_collisional_ionization')