def dump(path, logfilename=sys.stdout, do_clyde_sort=False):
    print("outputfiles:", path)
    if do_clyde_sort:
        xyzfiles = clyde_sort(get_outputfiles_from_path(path, ext=".xyz"))
    else:
        xyzfiles = get_outputfiles_from_path(path, ext=".xyz")
    with open(logfilename, "w") as fh:
        fh.write("{}\n".format(path))
        for xyzfilename in xyzfiles:
            coords_CO2 = get_coords_CO2(xyzfilename)
            d1, d2 = calc_bond_lengths(coords_CO2)
            theta = calc_theta(coords_CO2)
            fh.write("{} {} {}\n".format(theta, d1, d2))
    return
    # 5. n_mm

    BASEDIR = "/home/eric/Chemistry/calc.sgr/droplets/snapshot_method_dependence_4fs"

    if args.file_operation == "save":
        print("Trying to find output files...")
        outputfiles = dict()
        for CO2_type in CO2_types:
            outputfiles[CO2_type] = dict()
            for method in methods:
                outputfiles[CO2_type][method] = dict()
                for basis_set in basis_sets:
                    outputfiles[CO2_type][method][basis_set] = dict()
                    # hacky hack hack
                    for n_qm in (0, ):
                        outputfiles[CO2_type][method][basis_set][n_qm] = get_outputfiles_from_path(os.path.join(BASEDIR, "inputs_freq_{CO2_type}_0qm_{method}_{basis_set}".format(**locals())))
                        outputfiles[CO2_type][method][basis_set][n_qm] = filter_n_mm_into_dict(outputfiles[CO2_type][method][basis_set][n_qm])
        with open('outputfiles.pypickle', 'wb') as picklefile:
            pickle.dump(outputfiles, picklefile)

    elif args.file_operation == "read":
        print("Reading list of output files from: {}".format(os.path.abspath("outputfiles.pypickle")))
        with open("outputfiles.pypickle", "rb") as picklefile:
            outputfiles = pickle.load(picklefile)

    elif args.file_operation == "none":
        pass
    else:
        raise Exception

    if args.parse_operation == "save":
    # 1. method
    # 2. basis set
    # 3. n_qm
    # 4. n_mm

    if args.file_operation == "save":
        print("Trying to find output files...")
        basedir = "/home/eric/Chemistry/calc.sgr/droplets/snapshot_method_dependence"
        outputfiles = dict()
        for method in methods:
            outputfiles[method] = dict()
            for basis_set in basis_sets:
                outputfiles[method][basis_set] = dict()
                # hacky hack hack
                for n_qm in (0, ):
                    outputfiles[method][basis_set][n_qm] = get_outputfiles_from_path(os.path.join(basedir, "inputs_freq_0qm_{method}_{basis_set}".format(method=method, basis_set=basis_set)))
                    outputfiles[method][basis_set][n_qm] = filter_n_mm_into_dict(outputfiles[method][basis_set][n_qm])
        with open('outputfiles.pypickle', 'wb') as picklefile:
            pickle.dump(outputfiles, picklefile)

    elif args.file_operation == "read":
        print("Reading list of output files from: {}".format(os.path.abspath("outputfiles.pypickle")))
        with open("outputfiles.pypickle", "rb") as picklefile:
            outputfiles = pickle.load(picklefile)

    elif args.file_operation == "none":
        pass
    else:
        raise Exception

    if args.parse_operation == "save":
Ejemplo n.º 4
0
    # pairs treated quantum mechanically (as opposed to using point
    # charges).
    outputs_freq_0qm = []
    outputs_freq_1qm = []
    outputs_freq_2qm = []
    outputs_freq_3qm = []
    outputs_freq_noCT_1qm = []
    outputs_freq_noCT_2qm = []
    outputs_freq_noCT_3qm = []
    outputs_eda_covp_1qm = []
    outputs_eda_covp_2qm = []
    outputs_eda_covp_3qm = []

    if args.file_operation == "save":
        print("Trying to find output files...")
        outputfiles = get_outputfiles_from_path(args.dir_to_search)
        with open(args.logfilename, 'w') as logfile:
            for outputfilename in outputfiles:
                logfile.write("{}\n".format(outputfilename))
    elif args.file_operation == "read":
        print("Reading list of output files from: {}".format(os.path.abspath(args.logfilename)))
        with open(args.logfilename) as logfile:
            content = logfile.read()
        outputfiles = content.splitlines()
    elif args.file_operation == "none":
        pass
    else:
        raise Exception

    if args.debug:
        print("len(outputfiles)")
Ejemplo n.º 5
0
from __future__ import print_function

import os

import numpy as np
import scipy.stats as sps

from analysis_utils import filter_outputfiles
from analysis_utils import get_CO2_frequencies
from analysis_utils import get_outputfiles_from_path


if __name__ == "__main__":

    outputfiles = get_outputfiles_from_path(os.getcwd())
    outputfiles_0mm = filter_outputfiles(outputfiles)

    # B3LYP/6-31G**
    weights_map = {
        1: 0.06060606,
        2: 0.24747475,
        3: 0.4010101,
        4: 0.22626263,
        5: 0.06464646,
    }
    print('sum of weights: {}'.format(sum(weights_map.values())))

    bins_outputfiles = dict()
    bins_f = dict()
    bins_i = dict()