Пример #1
0
def build(prefix):
    """ construct the build filesystem

    layers:
     - trunk (specifiers: [head])
     - leaf (specifiers: [head, num])

    :param prefix: sets the path where this filesystem will sit
    :type prefix: str
    """
    trunk_ds = dir_.build_trunk(prefix)
    leaf_ds = dir_.build_leaf(prefix, root_ds=trunk_ds)

    inp_dfile = file_.input_file(FilePrefix.BUILD)
    out_dfile = file_.output_file(FilePrefix.BUILD)
    leaf_ds.add_data_files({
        FileAttributeName.INPUT: inp_dfile,
        FileAttributeName.OUTPUT: out_dfile
    })

    dir_fs = model.FileSystem({
        SeriesAttributeName.TRUNK: trunk_ds,
        SeriesAttributeName.LEAF: leaf_ds
    })
    return dir_fs
Пример #2
0
def run(prefix):
    """ construct the run filesystem [trunk/leaf]

    layers:
     - trunk (specifiers: [])
     - leaf (specifiers: [job])

    :param prefix: sets the path where this filesystem will sit
    :type prefix: str
    """
    trunk_ds = dir_.run_trunk(prefix)
    leaf_ds = dir_.run_leaf(prefix, root_ds=trunk_ds)

    inf_dfile = file_.information(FilePrefix.RUN, function=info.run)
    inp_dfile = file_.input_file(FilePrefix.RUN)
    out_dfile = file_.output_file(FilePrefix.RUN)
    trunk_ds.add_data_files({FileAttributeName.INFO: inf_dfile})
    leaf_ds.add_data_files({
        FileAttributeName.INFO: inf_dfile,
        FileAttributeName.INPUT: inp_dfile,
        FileAttributeName.OUTPUT: out_dfile
    })

    dir_fs = model.FileSystem({
        SeriesAttributeName.TRUNK: trunk_ds,
        SeriesAttributeName.LEAF: leaf_ds
    })
    return dir_fs
Пример #3
0
def high_spin(prefix):
    """ construct the high-spin, single-point filesystem [trunk/leaf]

    layers:
     - trunk (specifiers: [])
     - leaf (specifiers: [method, basis, orb_restricted])

    :param prefix: sets the path where this filesystem will sit
    :type prefix: str
    """
    trunk_ds = dir_.high_spin_trunk(prefix)
    leaf_ds = dir_.high_spin_leaf(prefix, root_ds=trunk_ds)

    inp_dfile = file_.input_file(FilePrefix.HS)
    inf_dfile = file_.information(FilePrefix.HS, function=info.run)
    ene_dfile = file_.energy(FilePrefix.HS)
    leaf_ds.add_data_files({
        FileAttributeName.INFO: inf_dfile,
        FileAttributeName.INPUT: inp_dfile,
        FileAttributeName.ENERGY: ene_dfile
    })

    dir_fs = model.FileSystem({
        SeriesAttributeName.TRUNK: trunk_ds,
        SeriesAttributeName.LEAF: leaf_ds
    })
    return dir_fs
Пример #4
0
def direction(prefix):
    """ filesystem object for reaction direction

    layers:
     - leaf (specifiers: [forw])

    :param prefix: sets the path where this filesystem will sit
    :type prefix: str
    """
    leaf_ds = dir_.direction_leaf(prefix)

    inf_dfile = file_.information(FilePrefix.GEOM, function=info.run)
    inp_dfile = file_.input_file(FilePrefix.GEOM)
    ene_dfile = file_.energy(FilePrefix.GEOM)
    geom_dfile = file_.geometry(FilePrefix.GEOM)
    zmat_dfile = file_.zmatrix(FilePrefix.GEOM)

    leaf_ds.add_data_files({
        FileAttributeName.GEOM_INPUT: inp_dfile,
        FileAttributeName.GEOM_INFO: inf_dfile,
        FileAttributeName.ENERGY: ene_dfile,
        FileAttributeName.GEOM: geom_dfile,
        FileAttributeName.ZMAT: zmat_dfile
    })

    dir_fs = model.FileSystem({SeriesAttributeName.LEAF: leaf_ds})
    return dir_fs
Пример #5
0
def scan(prefix):
    """ construct the scan filesystem

    layers:
     - trunk (specifiers: [])
     - branch (specifiers: [coo_names])
     - leaf (specifiers: [coo_names, coo_vals])

    :param prefix: sets the path where this filesystem will sit
    :type prefix: str
    """
    trunk_ds = dir_.scan_trunk(prefix)
    branch_ds = dir_.scan_branch(prefix, root_ds=trunk_ds)
    leaf_ds = dir_.scan_leaf(prefix, root_ds=branch_ds)

    vma_dfile = file_.vmatrix(FilePrefix.SCAN)
    trunk_ds.add_data_files({FileAttributeName.VMATRIX: vma_dfile})

    inf_dfile = file_.information(FilePrefix.SCAN, function=info.scan_branch)
    traj_dfile = file_.trajectory(FilePrefix.SCAN)
    branch_ds.add_data_files({
        FileAttributeName.INFO: inf_dfile,
        FileAttributeName.TRAJ: traj_dfile
    })

    geom_inf_dfile = file_.information(FilePrefix.GEOM, function=info.run)
    grad_inf_dfile = file_.information(FilePrefix.GRAD, function=info.run)
    hess_inf_dfile = file_.information(FilePrefix.HESS, function=info.run)
    geom_inp_dfile = file_.input_file(FilePrefix.GEOM)
    grad_inp_dfile = file_.input_file(FilePrefix.GRAD)
    hess_inp_dfile = file_.input_file(FilePrefix.HESS)
    ene_dfile = file_.energy(FilePrefix.GEOM)
    geom_dfile = file_.geometry(FilePrefix.GEOM)
    zmat_dfile = file_.zmatrix(FilePrefix.GEOM)
    grad_dfile = file_.gradient(FilePrefix.GRAD)
    hess_dfile = file_.hessian(FilePrefix.HESS)
    hfreq_dfile = file_.harmonic_frequencies(FilePrefix.HESS)
    leaf_ds.add_data_files({
        FileAttributeName.GEOM_INFO: geom_inf_dfile,
        FileAttributeName.GRAD_INFO: grad_inf_dfile,
        FileAttributeName.HESS_INFO: hess_inf_dfile,
        FileAttributeName.GEOM_INPUT: geom_inp_dfile,
        FileAttributeName.GRAD_INPUT: grad_inp_dfile,
        FileAttributeName.HESS_INPUT: hess_inp_dfile,
        FileAttributeName.ENERGY: ene_dfile,
        FileAttributeName.GEOM: geom_dfile,
        FileAttributeName.ZMAT: zmat_dfile,
        FileAttributeName.GRAD: grad_dfile,
        FileAttributeName.HESS: hess_dfile,
        FileAttributeName.HFREQ: hfreq_dfile
    })

    dir_fs = model.FileSystem({
        SeriesAttributeName.TRUNK: trunk_ds,
        SeriesAttributeName.BRANCH: branch_ds,
        SeriesAttributeName.BRANCH1: branch_ds,
        SeriesAttributeName.LEAF: leaf_ds
    })
    return dir_fs
Пример #6
0
def species(prefix):
    """ construct the species filesystem [trunk/leaf]

    layers:
     - trunk (specifiers: [])
     - leaf (specifiers: [ich, chg, mul])

    :param prefix: sets the path where this filesystem will sit
    :type prefix: str
    """
    trunk_ds = dir_.species_trunk(prefix)
    leaf_ds = dir_.species_leaf(prefix, root_ds=trunk_ds)

    dir_fs = model.FileSystem({
        SeriesAttributeName.TRUNK: trunk_ds,
        SeriesAttributeName.LEAF: leaf_ds
    })
    return dir_fs
Пример #7
0
def reaction(prefix):
    """ construct the reaction filesystem

    layers:
     - trunk (specifiers: [])
     - leaf (specifiers: [rxn_ichs, rxn_chgs, rxn_muls, ts_mul])

    :param prefix: sets the path where this filesystem will sit
    :type prefix: str
    """
    trunk_ds = dir_.reaction_trunk(prefix)
    leaf_ds = dir_.reaction_leaf(prefix, root_ds=trunk_ds)

    dir_fs = model.FileSystem({
        SeriesAttributeName.TRUNK: trunk_ds,
        SeriesAttributeName.LEAF: leaf_ds
    })
    return dir_fs
Пример #8
0
def energy_transfer(prefix):
    """ construct the energy transfer filesystem [trunk/leaf]

    layers:
     - trunk (specifiers: [])
     - branch (specifiers: [ich, chg, mul])
     - leaf (specifiers: [method, basis, orb_restricted])

    :param prefix: sets the path where this filesystem will sit
    :type prefix: str
    """
    trunk_ds = dir_.energy_transfer_trunk(prefix)
    branch_ds = dir_.energy_transfer_branch(prefix, root_ds=trunk_ds)
    leaf_ds = dir_.energy_transfer_leaf(prefix, root_ds=branch_ds)

    # inp_dfile = file_.input_file(FilePrefix.LJ)
    inf_dfile = file_.information(FilePrefix.LJ, function=info.lennard_jones)
    ene_dfile = file_.energy(FilePrefix.LJ)
    eps_dfile = file_.lennard_jones_epsilon(FilePrefix.LJ)
    sig_dfile = file_.lennard_jones_sigma(FilePrefix.LJ)
    traj_dfile = file_.trajectory(FilePrefix.LJ)

    trunk_ds.add_data_files({FileAttributeName.INFO: inf_dfile})

    leaf_ds.add_data_files({
        #    FileAttributeName.INFO: inf_dfile,
        #    FileAttributeName.INPUT: inp_dfile,
        FileAttributeName.ENERGY:
        ene_dfile,
        FileAttributeName.LJ_EPS:
        eps_dfile,
        FileAttributeName.LJ_SIG:
        sig_dfile,
        FileAttributeName.TRAJ:
        traj_dfile
    })

    dir_fs = model.FileSystem({
        SeriesAttributeName.TRUNK: trunk_ds,
        SeriesAttributeName.BRANCH: branch_ds,
        SeriesAttributeName.BRANCH1: branch_ds,
        SeriesAttributeName.LEAF: leaf_ds
    })
    return dir_fs
Пример #9
0
def subrun(prefix):
    """ construct the subrun filesystem [leaf]

    layers:
     - leaf (specifiers: [macro_idx, micro_idx])

    :param prefix: sets the path where this filesystem will sit
    :type prefix: str
    """
    leaf_ds = dir_.subrun_leaf(prefix)

    inf_dfile = file_.information(FilePrefix.RUN, function=info.run)
    inp_dfile = file_.input_file(FilePrefix.RUN)
    out_dfile = file_.output_file(FilePrefix.RUN)
    leaf_ds.add_data_files({
        FileAttributeName.INFO: inf_dfile,
        FileAttributeName.INPUT: inp_dfile,
        FileAttributeName.OUTPUT: out_dfile
    })

    dir_fs = model.FileSystem({SeriesAttributeName.LEAF: leaf_ds})
    return dir_fs
Пример #10
0
def ts(prefix):
    """ construct the ts filesystem

    layers:
     - trunk (specifiers: [])

    :param prefix: sets the path where this filesystem will sit
    :type prefix: str
    """
    trunk_ds = dir_.ts_trunk(prefix)

    geom_dfile = file_.geometry(FilePrefix.GEOM)
    ene_dfile = file_.energy(FilePrefix.GEOM)
    zmat_dfile = file_.zmatrix(FilePrefix.GEOM)
    trunk_ds.add_data_files({
        FileAttributeName.ENERGY: ene_dfile,
        FileAttributeName.GEOM: geom_dfile,
        FileAttributeName.ZMAT: zmat_dfile
    })

    dir_fs = model.FileSystem({SeriesAttributeName.TRUNK: trunk_ds})
    return dir_fs
Пример #11
0
def theory(prefix):
    """ construct the theory filesystem [leaf]

    layers:
     - leaf (specifiers: [method, basis, orb_restricted])

    :param prefix: sets the path where this filesystem will sit
    :type prefix: str
    """
    leaf_ds = dir_.theory_leaf(prefix)

    geom_dfile = file_.geometry(FilePrefix.GEOM)
    ene_dfile = file_.energy(FilePrefix.GEOM)
    zmat_dfile = file_.zmatrix(FilePrefix.GEOM)
    hess_dfile = file_.hessian(FilePrefix.HESS)
    leaf_ds.add_data_files({
        FileAttributeName.ENERGY: ene_dfile,
        FileAttributeName.GEOM: geom_dfile,
        FileAttributeName.HESS: hess_dfile,
        FileAttributeName.ZMAT: zmat_dfile
    })

    dir_fs = model.FileSystem({SeriesAttributeName.LEAF: leaf_ds})
    return dir_fs
Пример #12
0
def conformer(prefix):
    """ construct the conformer filesystem [trunk/leaf]

    layers:
     - trunk (specifiers: [])
     - leaf (specifiers: [cid])

    :param prefix: sets the path where this filesystem will sit
    :type prefix: str
    """
    trunk_ds = dir_.conformer_trunk(prefix)
    leaf_ds = dir_.conformer_leaf(prefix, root_ds=trunk_ds)

    min_ene_dfile = file_.energy(FilePrefix.MIN)
    vma_dfile = file_.vmatrix(FilePrefix.CONF)
    inf_dfile = file_.information(FilePrefix.CONF,
                                  function=info.conformer_trunk)
    traj_dfile = file_.trajectory(FilePrefix.CONF)
    trunk_ds.add_data_files({
        FileAttributeName.VMATRIX: vma_dfile,
        FileAttributeName.INFO: inf_dfile,
        FileAttributeName.ENERGY: min_ene_dfile,
        FileAttributeName.TRAJ: traj_dfile
    })

    geom_inf_dfile = file_.information(FilePrefix.GEOM, function=info.run)
    grad_inf_dfile = file_.information(FilePrefix.GRAD, function=info.run)
    hess_inf_dfile = file_.information(FilePrefix.HESS, function=info.run)
    geom_inp_dfile = file_.input_file(FilePrefix.GEOM)
    grad_inp_dfile = file_.input_file(FilePrefix.GRAD)
    hess_inp_dfile = file_.input_file(FilePrefix.HESS)
    ene_dfile = file_.energy(FilePrefix.GEOM)
    geom_dfile = file_.geometry(FilePrefix.GEOM)
    zmat_dfile = file_.zmatrix(FilePrefix.GEOM)
    grad_dfile = file_.gradient(FilePrefix.GRAD)
    hess_dfile = file_.hessian(FilePrefix.HESS)
    hfreq_dfile = file_.harmonic_frequencies(FilePrefix.HESS)
    vpt2_inf_dfile = file_.information(FilePrefix.VPT2,
                                       function=info.vpt2_trunk)
    vpt2_inp_dfile = file_.input_file(FilePrefix.VPT2)
    anhfreq_dfile = file_.anharmonic_frequencies(FilePrefix.VPT2)
    anhzpve_dfile = file_.anharmonic_zpve(FilePrefix.VPT2)
    xmat_dfile = file_.anharmonicity_matrix(FilePrefix.VPT2)
    vibrot_mat_dfile = file_.vibro_rot_alpha_matrix(FilePrefix.VPT2)
    centrif_dist_dfile = file_.quartic_centrifugal_dist_consts(FilePrefix.VPT2)

    leaf_ds.add_data_files({
        FileAttributeName.GEOM_INFO: geom_inf_dfile,
        FileAttributeName.GRAD_INFO: grad_inf_dfile,
        FileAttributeName.HESS_INFO: hess_inf_dfile,
        FileAttributeName.GEOM_INPUT: geom_inp_dfile,
        FileAttributeName.GRAD_INPUT: grad_inp_dfile,
        FileAttributeName.HESS_INPUT: hess_inp_dfile,
        FileAttributeName.ENERGY: ene_dfile,
        FileAttributeName.GEOM: geom_dfile,
        FileAttributeName.ZMAT: zmat_dfile,
        FileAttributeName.GRAD: grad_dfile,
        FileAttributeName.HESS: hess_dfile,
        FileAttributeName.HFREQ: hfreq_dfile,
        FileAttributeName.VPT2_INFO: vpt2_inf_dfile,
        FileAttributeName.VPT2_INPUT: vpt2_inp_dfile,
        FileAttributeName.ANHFREQ: anhfreq_dfile,
        FileAttributeName.ANHZPVE: anhzpve_dfile,
        FileAttributeName.XMAT: xmat_dfile,
        FileAttributeName.VIBROT_MAX: vibrot_mat_dfile,
        FileAttributeName.CENTIF_DIST: centrif_dist_dfile
    })

    dir_fs = model.FileSystem({
        SeriesAttributeName.TRUNK: trunk_ds,
        SeriesAttributeName.LEAF: leaf_ds
    })
    return dir_fs