Esempio n. 1
0
def test__reader():
    """ test projrot_io.reader.rpht_output
    """

    ref_real1 = (1000.0, 2000.0, 3000.0, 4000.0, 5000.0)

    out_str1 = read_text_file(['data'], 'min.out')
    real1, imag1 = projrot_io.reader.rpht_output(out_str1)
    assert numpy.allclose(real1, ref_real1)
    assert not imag1

    ref_real2 = (2000.0, 3000.0, 4000.0, 5000.0)
    ref_imag2 = (1111.11, )

    out_str2 = read_text_file(['data'], 'one_imag.out')
    real2, imag2 = projrot_io.reader.rpht_output(out_str2)
    assert numpy.allclose(real2, ref_real2)
    assert numpy.allclose(imag2, ref_imag2)

    ref_real3 = (3000.0, 4000.0, 5000.0)
    ref_imag3 = (1111.11, 2222.22)

    out_str3 = read_text_file(['data'], 'two_imag.out')
    real3, imag3 = projrot_io.reader.rpht_output(out_str3)
    assert numpy.allclose(real3, ref_real3)
    assert numpy.allclose(imag3, ref_imag3)
Esempio n. 2
0
def test__ts_variational_writer():
    """ ts mess_io.writer.rxnchan.ts_variational
    """
    # fix
    var_pt_strings = []
    for i in range(10):
        var_pt_string = '+++++++++++++++++++++++++++++++++++'
        var_pt_string += '! Path Point {0}\n'.format(str(i + 1))
        var_pt_string += MOL_MESS_STR
        var_pt_strings.append(var_pt_string)

    ts_var1_str = mess_io.writer.rxnchan.ts_variational(TS_LABEL,
                                                        WELL_LABEL,
                                                        BIMOL_LABEL,
                                                        var_pt_strings,
                                                        zero_enes=PATH_ENES,
                                                        tunnel='')
    assert ts_var1_str == read_text_file(['data', 'inp'], 'ts_var1.inp')

    ts_var2_str = mess_io.writer.rxnchan.ts_variational(TS_LABEL,
                                                        WELL_LABEL,
                                                        BIMOL_LABEL,
                                                        var_pt_strings,
                                                        zero_enes=PATH_ENES,
                                                        tunnel=TUNNEL_STR)
    assert ts_var2_str == read_text_file(['data', 'inp'], 'ts_var2.inp')
Esempio n. 3
0
def test__divsur_writer():
    """ tests varecof_io.writer.input_file.divsur
    """

    divsur_inp1_str = varecof_io.writer.input_file.divsur(
        RDISTS, NPIVOT1, NPIVOT2, XYZ_PIVOT1, XYZ_PIVOT2)

    divsur_inp2_str = varecof_io.writer.input_file.divsur(RDISTS,
                                                          NPIVOT1,
                                                          NPIVOT2,
                                                          XYZ_PIVOT1,
                                                          XYZ_PIVOT2,
                                                          frame1=FRAME1,
                                                          frame2=FRAME2,
                                                          r2dists=R2DISTS,
                                                          d1dists=D1DISTS,
                                                          d2dists=D2DISTS,
                                                          t1angs=T1ANGS,
                                                          t2angs=T2ANGS,
                                                          p1angs=P1ANGS,
                                                          p2angs=P2ANGS,
                                                          phi_dependence=True,
                                                          **CONDITIONS_DCT)

    with open('data/divsur1.inp', 'w') as f:
        f.write(divsur_inp1_str)
    with open('data/divsur2.inp', 'w') as f:
        f.write(divsur_inp2_str)
    assert divsur_inp1_str == read_text_file(['data'], 'divsur1.inp')
    assert divsur_inp2_str == read_text_file(['data'], 'divsur2.inp')
Esempio n. 4
0
def test__dummy_writer():
    """ tests mess_io.writer.dummy
    """

    dummy1_str = mess_io.writer.rxnchan.dummy(BIMOL_LABEL)
    assert dummy1_str == read_text_file(['data', 'inp'], 'dummy1.inp')

    dummy2_str = mess_io.writer.rxnchan.dummy(BIMOL_LABEL, zero_ene=ENE)
    assert dummy2_str == read_text_file(['data', 'inp'], 'dummy2.inp')
def test__flux_mode():
    """ test mess_io.writer.monte_carlo.fluxional_mode
    """

    # Write the fluxional mode string
    flux_mode1_str = mess_io.writer.monte_carlo.fluxional_mode(FLUX_IDX)
    flux_mode2_str = mess_io.writer.monte_carlo.fluxional_mode(FLUX_IDX,
                                                               span=FLUX_SPAN)

    assert flux_mode1_str == read_text_file(['data', 'inp'], 'flux_mode1.inp')
    assert flux_mode2_str == read_text_file(['data', 'inp'], 'flux_mode2.inp')
Esempio n. 6
0
def test__polynomial():
    """ test pac99_io.reader.__
    """

    pac99_poly = pac99_io.reader.nasa_polynomial(OUT_STR)
    assert pac99_poly == read_text_file(['data'], 'pac99_poly.dat')

    name = 'mol'
    atom_dct = {'C': 2, 'H': 4, 'N': 2, 'O': 6}
    ckin_poly = pac99_io.pac2ckin_poly(name, atom_dct, pac99_poly)
    assert ckin_poly == read_text_file(['data'], 'ckin_poly.dat')
def test__monte_carlo_dat():
    """ test mess_io.writer.monte_carlo.mc_data
    """

    mc_dat1_str = mess_io.writer.monte_carlo.mc_data(GEOS, ENES)
    mc_dat2_str = mess_io.writer.monte_carlo.mc_data(GEOS,
                                                     ENES,
                                                     grads=GRADS,
                                                     hessians=HESSES)

    assert mc_dat1_str == read_text_file(['data', 'inp'], 'mc_dat1.inp')
    assert mc_dat2_str == read_text_file(['data', 'inp'], 'mc_dat2.inp')
Esempio n. 8
0
def test__global_reaction():
    """ test mess_io.writer.global_reaction
    """

    glob_rxn1_str = mess_io.writer.global_reaction(TEMPS, PRESSURES)
    glob_rxn2_str = mess_io.writer.global_reaction(
        TEMPS,
        PRESSURES,
        excess_ene_temp=EXCESS_ENE_TEMP,
        well_extend=WELL_EXTEND)

    assert glob_rxn1_str == read_text_file(['data', 'inp'], 'glob_rxn1.inp')
    assert glob_rxn2_str == read_text_file(['data', 'inp'], 'glob_rxn2.inp')
Esempio n. 9
0
def test_sct_coord_en():
    """ test projrot_io.writer.rpht_path_coord_en
    """

    en1_str = projrot_io.writer.rpht_path_coord_en(
        RXN_PATH_COORDS, RXN_PATH_ENERGIES,
        bnd1=(), bnd2=())
    assert en1_str == read_text_file(['data'], 'rpht_en1.inp')

    en2_str = projrot_io.writer.rpht_path_coord_en(
        RXN_PATH_COORDS, RXN_PATH_ENERGIES,
        bnd1=RCT_DISTS, bnd2=PRD_DISTS)
    assert en2_str == read_text_file(['data'], 'rpht_en2.inp')
Esempio n. 10
0
def test__tunnel_sct_writer():
    """ test mess_io.writer.mol_data.tunnel_sct
    """

    tunnel_sct1_str = mess_io.writer.mol_data.tunnel_sct(
        IMAG_FREQ, TUNNEL_FILE)
    tunnel_sct2_str = mess_io.writer.mol_data.tunnel_sct(
        IMAG_FREQ, TUNNEL_FILE, cutoff_energy=CUTOFF_ENE)

    assert tunnel_sct1_str == read_text_file(['data', 'inp'],
                                             'tunnel_sct1.inp')
    assert tunnel_sct2_str == read_text_file(['data', 'inp'],
                                             'tunnel_sct2.inp')
Esempio n. 11
0
def test__species_writer():
    """ Writes the MESS input for a Well
    """

    spc1_str = mess_io.writer.rxnchan.species(SPC1_LABEL,
                                              MOL_MESS_STR,
                                              zero_ene=None)
    assert spc1_str == read_text_file(['data', 'inp'], 'spc1.inp')

    spc2_str = mess_io.writer.rxnchan.species(SPC2_LABEL,
                                              MOL_MESS_STR,
                                              zero_ene=ENE)
    assert spc2_str == read_text_file(['data', 'inp'], 'spc2.inp')
Esempio n. 12
0
def test__core_multirotor_writer():
    """ test mess_io.writer.mol_data.rotor_internal
        test mess_io.writer.mol_data.mdhr_data
        test mess_io.writer.mol_data.core_multirotor
    """

    # Internal Rotor Sections
    rotor_int1_str = mess_io.writer.mol_data.rotor_internal(
        HR_GROUP, HR_AXIS, HR_SYMMETRY, HR_GRID_SIZE, HR_MASS_EXP_SIZE)
    rotor_int2_str = mess_io.writer.mol_data.rotor_internal(
        HR_GROUP,
        HR_AXIS,
        HR_SYMMETRY,
        HR_GRID_SIZE,
        HR_MASS_EXP_SIZE,
        pot_exp_size=POT_EXP_SIZE,
        hmin=HMIN,
        hmax=HMAX,
        remdummy=REMDUMMY,
        geom=GEO1,
        rotor_id=HR_ID)

    assert rotor_int1_str == read_text_file(['data', 'inp'], 'rotor_int1.inp')
    assert rotor_int2_str == read_text_file(['data', 'inp'], 'rotor_int2.inp')

    mdhr_dat_1d_str = mess_io.writer.mol_data.mdhr_data(ONEDPOT)
    mdhr_dat_2dfr_str = mess_io.writer.mol_data.mdhr_data(TWODPOT,
                                                          freqs=TWODFREQ,
                                                          nrot=3)
    mdhr_dat_3dfr_str = mess_io.writer.mol_data.mdhr_data(THREEDPOT,
                                                          freqs=THREEDFREQ,
                                                          nrot=3)
    mdhr_dat_4dfr_str = mess_io.writer.mol_data.mdhr_data(FOURDPOT,
                                                          freqs=FOURDFREQ,
                                                          nrot=3)

    assert mdhr_dat_1d_str == read_text_file(['data', 'inp'],
                                             'mdhr_dat_1d.inp')
    assert mdhr_dat_2dfr_str == read_text_file(['data', 'inp'],
                                               'mdhr_dat_2dfr.inp')
    assert mdhr_dat_3dfr_str == read_text_file(['data', 'inp'],
                                               'mdhr_dat_3dfr.inp')
    assert mdhr_dat_4dfr_str == read_text_file(['data', 'inp'],
                                               'mdhr_dat_4dfr.inp')

    # MultiRotor Core Sections
    core_multirot1_str = mess_io.writer.mol_data.core_multirotor(
        GEO1, SYM_FACTOR1, POT_SURF_FILE, rotor_int1_str)
    core_multirot2_str = mess_io.writer.mol_data.core_multirotor(
        GEO1,
        SYM_FACTOR1,
        POT_SURF_FILE,
        rotor_int1_str,
        interp_emax=INTERP_EMAX,
        quant_lvl_emax=QUANT_LVL_EMAX)

    assert core_multirot1_str == read_text_file(['data', 'inp'],
                                                'core_multirot1.inp')
    assert core_multirot2_str == read_text_file(['data', 'inp'],
                                                'core_multirot2.inp')
Esempio n. 13
0
def test__submission_script():
    """ test onedmin_io.writer.submission_script
    """

    subscript1_str = onedmin_io.writer.submission_script(
        NJOBS, JOB_PATH, ONEDMIN_PATH)

    subscript2_str = onedmin_io.writer.submission_script(NJOBS,
                                                         JOB_PATH,
                                                         ONEDMIN_PATH,
                                                         exe_name=EXE_NAME)

    assert subscript1_str == read_text_file(['data'], 'subscript1.inp')
    assert subscript2_str == read_text_file(['data'], 'subscript2.inp')
Esempio n. 14
0
def test__well_writer():
    """ Writes the MESS input for a Well
    """
    # fix

    well1_str = mess_io.writer.rxnchan.well(WELL_LABEL, MOL_MESS_STR)
    assert well1_str == read_text_file(['data', 'inp'], 'well1.inp')

    well2_str = mess_io.writer.rxnchan.well(WELL_LABEL,
                                            MOL_MESS_STR,
                                            zero_ene=ENE,
                                            edown_str=EDOWN_STR,
                                            collid_freq_str=COLLID_STR)
    assert well2_str == read_text_file(['data', 'inp'], 'well2.inp')
Esempio n. 15
0
def test__core_rigidrotor_writer():
    """ test mess_io.writer.mol_data.core_rigidrotor
    """

    core_rigrot1_str = mess_io.writer.mol_data.core_rigidrotor(
        GEO1, SYM_FACTOR1)

    core_rigrot2_str = mess_io.writer.mol_data.core_rigidrotor(
        GEO1, SYM_FACTOR1, interp_emax=INTERP_EMAX)

    assert core_rigrot1_str == read_text_file(['data', 'inp'],
                                              'core_rigrot1.inp')
    assert core_rigrot2_str == read_text_file(['data', 'inp'],
                                              'core_rigrot2.inp')
Esempio n. 16
0
def test__umbrella_writer():
    """ test mess_io.writer.mol_data.umbrella
    """

    umbrella1_str = mess_io.writer.mol_data.umbrella_mode(
        UMBR_GROUP, UMBR_PLANE, UMBR_REF, ONEDPOT)
    umbrella2_str = mess_io.writer.mol_data.umbrella_mode(UMBR_GROUP,
                                                          UMBR_PLANE,
                                                          UMBR_REF,
                                                          ONEDPOT,
                                                          remdummy=REMDUMMY,
                                                          geom=GEO1)

    assert umbrella1_str == read_text_file(['data', 'inp'], 'umbrella1.inp')
    assert umbrella2_str == read_text_file(['data', 'inp'], 'umbrella2.inp')
Esempio n. 17
0
def test__global_pf():
    """ tests writing the section to a file for messpf
    """

    glob_pf1_str = mess_io.writer.global_pf(temperatures=TEMPS)
    glob_pf2_str = mess_io.writer.global_pf(temperatures=())
    glob_pf3_str = mess_io.writer.global_pf(temperatures=(),
                                            temp_step=TEMP_STEP,
                                            ntemps=NTEMPS,
                                            rel_temp_inc=REL_TEMP_INC,
                                            atom_dist_min=ATOM_DIST_MIN)

    assert glob_pf1_str == read_text_file(['data', 'inp'], 'glob_pf1.inp')
    assert glob_pf2_str == read_text_file(['data', 'inp'], 'glob_pf2.inp')
    assert glob_pf3_str == read_text_file(['data', 'inp'], 'glob_pf3.inp')
Esempio n. 18
0
def test__ts_sadpt_writer():
    """ ts sadpt writer
    """
    # fix

    ts_sadpt1_str = mess_io.writer.rxnchan.ts_sadpt(TS_LABEL, WELL_LABEL,
                                                    BIMOL_LABEL, MOL_MESS_STR)
    assert ts_sadpt1_str == read_text_file(['data', 'inp'], 'ts_sadpt1.inp')

    ts_sadpt2_str = mess_io.writer.rxnchan.ts_sadpt(TS_LABEL,
                                                    WELL_LABEL,
                                                    BIMOL_LABEL,
                                                    MOL_MESS_STR,
                                                    zero_ene=ENE,
                                                    tunnel=TUNNEL_STR)
    assert ts_sadpt2_str == read_text_file(['data', 'inp'], 'ts_sadpt2.inp')
Esempio n. 19
0
def test__configs_union_writer():
    """ tests mess_io.writer.rxnchan.configs_union
    """

    mol_strings = [MOL_MESS_STR for _ in range(3)]

    union_str = mess_io.writer.rxnchan.configs_union(mol_strings)
    assert union_str == read_text_file(['data', 'inp'], 'union.inp')
Esempio n. 20
0
def test__core_rotd_writer():
    """ test mess_io.writer.mol_data.core_rotd
    """

    core_rotd_str = mess_io.writer.mol_data.core_rotd(SYM_FACTOR1, FLUX_FILE,
                                                      STOICH)

    assert core_rotd_str == read_text_file(['data', 'inp'], 'core_rotd.inp')
Esempio n. 21
0
def test__bimolecular_writer():
    """ Writes the MESS input for a bimolecular set
    """

    bimol_str = mess_io.writer.rxnchan.bimolecular(BIMOL_LABEL, SPC1_LABEL,
                                                   ATOM_MESS_STR, SPC2_LABEL,
                                                   MOL_MESS_STR, ENE)
    assert bimol_str == read_text_file(['data', 'inp'], 'bimol.inp')
Esempio n. 22
0
def test__makefile_writer():
    """ tests varecof_io.writer.corr_potentials.makefile
    """

    makefile1_str = varecof_io.writer.corr_potentials.makefile(
        FORTRAN_COMPILER)

    makefile2_str = varecof_io.writer.corr_potentials.makefile(
        FORTRAN_COMPILER,
        pot_file_names=SPECIES_CORR_POTENTIALS)

    with open('data/makefile1', 'w') as f:
        f.write(makefile1_str)
    with open('data/makefile', 'w') as f:
        f.write(makefile2_str)
    assert makefile1_str == read_text_file(['data'], 'makefile1')
    assert makefile2_str == read_text_file(['data'], 'makefile')
Esempio n. 23
0
def test__auxiliary_writer():
    """ tests varecof_io.writer.corr_potentials.auxiliary
    """
    pot_aux_str = varecof_io.writer.corr_potentials.auxiliary()

    with open('data/pot_aux.f', 'w') as f:
        f.write(pot_aux_str)
    assert pot_aux_str == read_text_file(['data'], 'pot_aux.f')
Esempio n. 24
0
def test__tunnel_eckart_writer():
    """ test mess_io.writer.mol_data.tunnel_eckart
    """

    tunnel_eckart_str = mess_io.writer.mol_data.tunnel_eckart(
        IMAG_FREQ, WELL_DEPTH1, WELL_DEPTH2)

    assert tunnel_eckart_str == read_text_file(['data', 'inp'],
                                               'tunnel_eckart.inp')
Esempio n. 25
0
def test__input_file():
    """ test onedmin_io.writer.input_file
    """

    onedmin_inp1_str = onedmin_io.writer.input_file(RANSEED, NSAMP, SMIN, SMAX,
                                                    TARGET_XYZ_NAME,
                                                    BATH_XYZ_NAME)

    onedmin_inp2_str = onedmin_io.writer.input_file(RANSEED,
                                                    NSAMP,
                                                    SMIN,
                                                    SMAX,
                                                    TARGET_XYZ_NAME,
                                                    BATH_XYZ_NAME,
                                                    spin_method=1)

    assert onedmin_inp1_str == read_text_file(['data'], 'onedmin1.inp')
    assert onedmin_inp2_str == read_text_file(['data'], 'onedmin2.inp')
Esempio n. 26
0
def test__convert_writer():
    """ tests varecof_io.writer.input_file.convert
    """

    conv_inp_str = varecof_io.writer.input_file.convert()

    with open('data/conv.inp', 'w') as f:
        f.write(conv_inp_str)
    assert conv_inp_str == read_text_file(['data'], 'conv.inp')
Esempio n. 27
0
def test__mcflux_writer():
    """ tests varecof_io.writer.input_file.mc_flux
    """

    mc_flux_inp_str = varecof_io.writer.input_file.mc_flux()

    with open('data/mc_flux.inp', 'w') as f:
        f.write(mc_flux_inp_str)
    assert mc_flux_inp_str == read_text_file(['data'], 'mc_flux.inp')
Esempio n. 28
0
def test__structure_writer():
    """ tests varecof_io.writer.input_file.structure
    """

    struct_inp_str = varecof_io.writer.input_file.structure(C2H5_GEO, OH_GEO)

    with open('data/structure.inp', 'w') as f:
        f.write(struct_inp_str)
    assert struct_inp_str == read_text_file(['data'], 'structure.inp')
Esempio n. 29
0
def test__full_str():
    """ test mess_io.writer.messrates_inp_str
        test mess_io.writer.messpf_inp_str
    """

    glob_rxn_str = read_text_file(['data', 'inp'], 'glob_pf1.inp')
    glob_pf_str = read_text_file(['data', 'inp'], 'glob_pf1.inp')
    glob_etrans_str = read_text_file(['data', 'inp'], 'glob_etrans.inp')
    rxn_chan_str = '<FAKE REACTION CHANNEL_STR>'
    pf_str = '<FAKE PF CHANNEL_STR>'

    rates_inp_str = mess_io.writer.messrates_inp_str(glob_rxn_str,
                                                     glob_etrans_str,
                                                     rxn_chan_str)
    pf_inp_str = mess_io.writer.messpf_inp_str(glob_pf_str, pf_str)

    assert rates_inp_str == read_text_file(['data', 'inp'], 'full_rates.inp')
    assert pf_inp_str == read_text_file(['data', 'inp'], 'full_pf.inp')
Esempio n. 30
0
def test__dummy_writer():
    """ tests varecof_io.writer.corr_potentials.dummy
    """

    dummy_corr_str = varecof_io.writer.corr_potentials.dummy()

    with open('data/dummy_corr.f', 'w') as f:
        f.write(dummy_corr_str)
    assert dummy_corr_str == read_text_file(['data'], 'dummy_corr.f')