def set_up_library(cmdline_args): """Define eccentricity expansion and return stellar evol interpolator.""" orbital_evolution_library.read_eccentricity_expansion_coefficients( cmdline_args.eccentricity_expansion_fname.encode('ascii')) manager = StellarEvolutionManager(cmdline_args.stellar_evolution[0]) return manager.get_interpolator_by_name(cmdline_args.stellar_evolution[1])
def main(): """Make sure no globals are defined.""" orbital_evolution_library.read_eccentricity_expansion_coefficients( os.path.abspath( os.path.dirname(__file__) + '/../../../' + 'eccentricity_expansion_coef.txt').encode('ascii')) serialized_dir = os.path.abspath( os.path.dirname(__file__) + '/../../../stellar_evolution_interpolators') manager = StellarEvolutionManager(serialized_dir) interpolator = manager.get_interpolator_by_name('default') test_single_dissipator(interpolator, True)
evolution_max_time_step = 1e-2) target = Structure(age = 5.0, Porb = 3.0, Psurf = 10.0, planet_formation_age = 5e-3) star = create_star(interpolator) planet = create_planet() initial_porb, initial_psurf = find_ic(target = target, star = star, planet = planet) print('IC: Porb0 = %s, P*0 = %s' % (repr(initial_porb), repr(initial_psurf))) if __name__ == '__main__': eccentricity_expansion_fname = b"eccentricity_expansion_coef.txt" orbital_evolution_library.read_eccentricity_expansion_coefficients( eccentricity_expansion_fname ) serialized_dir = '../stellar_evolution_interpolators' manager = StellarEvolutionManager(serialized_dir) interpolator = manager.get_interpolator_by_name('default') test_binary_star_evolution( interpolator=interpolator, # planet_phase_lag=phase_lag(5.0), convective_phase_lag=phase_lag(5.0), create_c_code='../poet_src/debug/test_evol.cpp', eccentricity_expansion_fname=eccentricity_expansion_fname ) # test_ic_solver()
RRAD=0.6), new_interp_name='test_interp_nonan' ) print(interp) interp = manager.get_interpolator( nodes=dict(RADIUS=100, ICONV=100, LUM=100, IRAD=100, MRAD=100, RRAD=100), smoothing=dict(RADIUS=0.1, ICONV=0.2, LUM=float('nan'), IRAD=0.4, MRAD=0.5, RRAD=0.6), new_interp_name='test_interp_lumnan' ) print(interp) exit(0) print(manager.get_interpolator_by_name('test_interp_nonan')) print('Getting default interpolator.') print(manager.get_interpolator(new_interp_name='default')) print('Re-getting default interpolator') print(manager.get_interpolator()) print('Done')
def example(): """An example of how to use this module.""" serialized_dir = '../../stellar_evolution_interpolators' manager = StellarEvolutionManager(serialized_dir) interpolator = manager.get_interpolator_by_name('default') star1 = EvolvingStar(mass=1.0, metallicity=0.0, wind_strength=0.15, wind_saturation_frequency=2.5, diff_rot_coupling_timescale=5.0, interpolator=interpolator) star2 = EvolvingStar(mass=1.0, metallicity=0.0, wind_strength=0.15, wind_saturation_frequency=2.5, diff_rot_coupling_timescale=5.0, interpolator=interpolator) star1.set_dissipation(zone_index=0, tidal_frequency_breaks=numpy.array([]), spin_frequency_breaks=numpy.array([]), tidal_frequency_powers=numpy.array([0.0]), spin_frequency_powers=numpy.array([0.0]), reference_phase_lag=0.1) star1.set_dissipation(zone_index=1, tidal_frequency_breaks=numpy.array([1.0]), spin_frequency_breaks=numpy.array([]), tidal_frequency_powers=numpy.array([0.0, 1.0]), spin_frequency_powers=numpy.array([0.0]), reference_phase_lag=0.1) star2.set_dissipation(zone_index=0, tidal_frequency_breaks=numpy.array([0.6, 1.2]), spin_frequency_breaks=numpy.array([]), tidal_frequency_powers=numpy.array( [0.0, 1.0, 0.0]), spin_frequency_powers=numpy.array([0.0]), reference_phase_lag=0.1) star2.set_dissipation( zone_index=1, tidal_frequency_breaks=numpy.array([0.5, 1.0, 1.5]), spin_frequency_breaks=numpy.array([]), tidal_frequency_powers=numpy.array([1.0, 2.0, 3.0, 4.0]), spin_frequency_powers=numpy.array([0.0]), reference_phase_lag=0.1) print('%25s %25s %25s %25s %25s' % ('w', 'Env1(kDt)', 'Core1(kDt)', 'Env2(kDt)', 'Core2(kDt)')) for wtide in numpy.linspace(0.1, 2.0, 20): print('%25s %25s %25s %25s %25s' % (wtide, repr( star1.modified_phase_lag(zone_index=0, orbital_frequency_multiplier=1, spin_frequency_multiplier=1, forcing_frequency=wtide, deriv=star1.deriv_ids['NO'])), repr( star1.modified_phase_lag(zone_index=1, orbital_frequency_multiplier=1, spin_frequency_multiplier=1, forcing_frequency=wtide, deriv=star1.deriv_ids['NO'])), repr( star2.modified_phase_lag(zone_index=0, orbital_frequency_multiplier=1, spin_frequency_multiplier=1, forcing_frequency=wtide, deriv=star2.deriv_ids['NO'])), repr( star2.modified_phase_lag(zone_index=1, orbital_frequency_multiplier=1, spin_frequency_multiplier=1, forcing_frequency=wtide, deriv=star2.deriv_ids['NO']))))