print_options(magn_file, options) domain_file.write('T domain_sizes\n') print_options(domain_file, options) for T in (float(T_str) for T_str in options.T.split(',')): if options.verbose > 0: sys.stderr.write('# computing T = {0:.4f}\n'.format(T)) ising = ising_module.IsingSystem(options.N, options.J, options.H, T) ising.init_random(seed) runner = DomainSizeRunner(ising=None, steps=options.steps, is_verbose=options.verbose - 2, burn_in=options.burn_in, sample_period=options.sample_period, window=options.window) averager = Averager(runner, ising, is_verbose=options.verbose - 1) averager.average(options.runs) M_values = averager.get('M mean') M_str = val_fmt.format(**M_values) E_values = averager.get('E mean') E_str = val_fmt.format(**E_values) deltaE2_values = averager.get('deltaE^2') deltaE2_str = val_fmt.format(**deltaE2_values) magn_file.write(val_line_fmt.format(T=T, M=M_str, E=E_str, deltaE2=deltaE2_str)) magn_file.flush() domains = averager.get('domains') distrubtion = ','.join(['{0:d}:{1:.8e}'.format(k, v) for k, v in domains.items()]) domain_file.write('{0:.4f} {1:s}\n'.format(T, distrubtion)) domain_file.flush() magn_file.close() domain_file.close()