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
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
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
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
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
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
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