Esempio n. 1
0
def test_gromacs():
    g = Gromacs()
    if g.command is None:
        raise unittest.SkipTest(getattr(g, "missing_gmx", "missing gromacs"))

    GRO_INIT_FILE = 'hise_box.gro'

    # write structure file
    with open(GRO_INIT_FILE, 'w') as outfile:
        outfile.write(data)

    CALC_MM_RELAX = Gromacs(force_field='charmm27',
                            define='-DFLEXIBLE',
                            integrator='cg',
                            nsteps='10000',
                            nstfout='10',
                            nstlog='10',
                            nstenergy='10',
                            nstlist='10',
                            ns_type='grid',
                            pbc='xyz',
                            rlist='0.7',
                            coulombtype='PME-Switch',
                            rcoulomb='0.6',
                            vdwtype='shift',
                            rvdw='0.6',
                            rvdw_switch='0.55',
                            DispCorr='Ener')
    CALC_MM_RELAX.set_own_params_runs('init_structure', GRO_INIT_FILE)
    CALC_MM_RELAX.generate_topology_and_g96file()
    CALC_MM_RELAX.write_input()
    CALC_MM_RELAX.generate_gromacs_run_file()
    CALC_MM_RELAX.run()
    atoms = CALC_MM_RELAX.get_atoms()
    final_energy = CALC_MM_RELAX.get_potential_energy(atoms)

    # e.g., -4.17570101 eV = -402.893902 kJ / mol by Gromacs 2019.1 double precision
    final_energy_ref = -4.175
    tolerance = 0.010
    assert abs(final_energy - final_energy_ref) < tolerance
Esempio n. 2
0
CALC_MM_RELAX = Gromacs(force_field='charmm27',
                        define='-DFLEXIBLE',
                        integrator='cg',
                        nsteps='10000',
                        nstfout='10',
                        nstlog='10',
                        nstenergy='10',
                        nstlist='10',
                        ns_type='grid',
                        pbc='xyz',
                        rlist='0.7',
                        coulombtype='PME-Switch',
                        rcoulomb='0.6',
                        vdwtype='shift',
                        rvdw='0.6',
                        rvdw_switch='0.55',
                        DispCorr='Ener')
CALC_MM_RELAX.set_own_params_runs('init_structure', GRO_INIT_FILE)
CALC_MM_RELAX.generate_topology_and_g96file()
CALC_MM_RELAX.write_input()
CALC_MM_RELAX.generate_gromacs_run_file()
CALC_MM_RELAX.run()
atoms = CALC_MM_RELAX.get_atoms()
final_energy = CALC_MM_RELAX.get_potential_energy(atoms)

# e.g., -4.17570101 eV = -402.893902 kJ / mol by Gromacs 2019.1 double precision
final_energy_ref = -4.175
tolerance = 0.010
assert abs(final_energy - final_energy_ref) < tolerance
Esempio n. 3
0
infile_name = sys.argv[1]

CALC_MM_RELAX = Gromacs(
    init_structure_file=infile_name,
    structure_file = 'gromacs_mm-relax.g96',
    force_field='oplsaa', 
    water_model='tip3p',    
    base_filename = 'gromacs_mm-relax',
    doing_qmmm = False, freeze_qm = True,
    index_filename = 'index.ndx',
    extra_mdrun_parameters = ' -nt 1 ',
    define = '-DFLEXIBLE',
    integrator = 'cg',
    nsteps = '10000',
    nstfout = '10',
    nstlog = '10',
    nstenergy = '10',
    nstlist = '10',
    ns_type = 'grid',
    pbc = 'xyz',
    rlist = '1.15',
    coulombtype = 'PME-Switch',
    rcoulomb = '0.8',
    vdwtype = 'shift',
    rvdw = '0.8',
    rvdw_switch = '0.75',
    DispCorr = 'Ener')
CALC_MM_RELAX.generate_topology_and_g96file()
CALC_MM_RELAX.generate_gromacs_run_file()
CALC_MM_RELAX.run()
Esempio n. 4
0
    integrator = 'md',
    nsteps = '0',
    nstfout = '1',
    nstlog = '1',
    nstenergy = '1',
    nstlist = '1',
    ns_type = 'grid',
    pbc = 'xyz',
    rlist = '1.15',
    coulombtype = 'PME-Switch',
    rcoulomb = '0.8',
    vdwtype = 'shift',
    rvdw = '0.8',
    rvdw_switch = '0.75',
    DispCorr = 'Ener')
CALC_MM.generate_topology_and_g96file()
CALC_MM.generate_gromacs_run_file()

CALC_QMMM = AseQmmmManyqm(nqm_regions = 3, 
                          qm_calculators = [CALC_QM1, CALC_QM2, CALC_QM3], 
                          mm_calculator = CALC_MM,
                          link_info = 'byQM')
#                         link_info = 'byFILE') 

SYSTEM = read_gromos('gromacs_qm.g96')
SYSTEM.set_calculator(CALC_QMMM)
DYN = BFGS(SYSTEM)
DYN.run(fmax = 0.05)

print('exiting fine')
LOG_FILE.close()
    integrator = 'md',
    nsteps = '0',
    nstfout = '1',
    nstlog = '1',
    nstenergy = '1',
    nstlist = '1',
    ns_type = 'grid',
    pbc = 'xyz',
    rlist = '1.15',
    coulombtype = 'PME-Switch',
    rcoulomb = '0.8',
    vdwtype = 'shift',
    rvdw = '0.8',
    rvdw_switch = '0.75',
    DispCorr = 'Ener')
CALC_MM.generate_topology_and_g96file()
CALC_MM.generate_gromacs_run_file()

CALC_QMMM = AseQmmmManyqm(nqm_regions=3,
                          qm_calculators=[CALC_QM1, CALC_QM2, CALC_QM3],
                          mm_calculator=CALC_MM,
                          link_info='byQM')
#                         link_info = 'byFILE')

SYSTEM = read('gromacs_qm.g96')
SYSTEM.calc = CALC_QMMM
DYN = BFGS(SYSTEM)
DYN.run(fmax=0.05)

print('exiting fine')
LOG_FILE.close()