def get_pol_log(filename): """Get polarization data and experiment setup from file""" experiment = get_label(filename) thermostat = build_temp(experiment) with open(filename, 'rb') as datf: pol_log = np.fromfile(datf, dtype=np.double) pol_log = pol_log.reshape(-1, thermostat.size, experiment['Eiter']) return pol_log, thermostat, experiment
def get_pol_log(filename): """Get polarization data and experiment setup from file""" experiment = get_label(filename) thermostat = build_temp(experiment) with open(filename, 'rb') as datf: pol_log = np.fromfile(datf, dtype=np.double) pol_log = pol_log.reshape( -1, thermostat.size, experiment['Eiter'] ) return pol_log, thermostat, experiment
def get_sigmas_log(filename): """Get individual dipole history log and experiment setup from file""" experiment = get_label(filename) thermostat = build_temp(experiment) with open(filename, 'rb') as datf: sigma = np.fromfile(datf, dtype=np.int32) / experiment['Eiter'] sigma = sigma.reshape(-1, thermostat.size, experiment['N']) return sigma, thermostat, experiment
def h_log_plot(filename): """Plots the energy evolution of the experiment""" experiment = get_label(filename) with open(filename, 'rb') as datf: hlog = np.fromfile(datf, dtype=np.double) plot(hlog,'+') xlabel('Iteration Count $[MCS/dipole]$') ylabel(r'System Energy $[\Delta J]$') title('Energy evolution ' + labeler(experiment) )
def h_log_plot(filename): """Plots the energy evolution of the experiment""" experiment = get_label(filename) with open(filename, 'rb') as datf: hlog = np.fromfile(datf, dtype=np.double) plot(hlog, '+') xlabel('Iteration Count $[MCS/dipole]$') ylabel(r'System Energy $[\Delta J]$') title('Energy evolution ' + labeler(experiment))
def required_simulations(numexps, experiment_label): """Calculate the number of needed remaining simulations in order to reach the required number""" filename = 'log_pol_' + experiment_label + '.dat' try: size = path.getsize(filename) except OSError: return numexps experiment = get_label(filename) thermostat = build_temp(experiment) count = size / 8 / experiment['Eiter'] / thermostat.size if int(count) == count: if numexps - count > 0: return numexps - int(count) else: return 0 else: remove(filename) return numexps
def required_simulations(numexps, experiment_label): """Calculate the number of needed remaining simulations in order to reach the required number""" filename = 'log_pol_' + experiment_label + '.dat' try: size = path.getsize(filename) except OSError: return numexps experiment = get_label(filename) thermostat = build_temp(experiment) count = size/8/experiment['Eiter']/thermostat.size if int(count) == count: if numexps - count > 0: return numexps - int(count) else: return 0 else: remove(filename) return numexps