1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
.. module:: ase.calculators.gromacs
=======
Gromacs
=======
Introduction
============
Gromacs is a free classical molecular dynamics package. It is mainly
used in modeling of biological systems. It is part of the
ubuntu-linux distribution.
http://www.gromacs.org/
.. warning:: 1) Ase-Gromacs calculator works properly only with gromacs version 4.5.6 or a newer one. (fixed bug related to .g96 format)
.. warning:: 2) It only makes sense to use ase-gromacs for qm/mm or for testing. For pure MM production runs the native gromacs is much much faster (at the moment ase-gromacs has formatted io using .g96 format which is slow).
Gromacs Calculator
==================
This ASE-interface is a preliminary one and it is VERY SLOW so
do not use it for production runs. It is here because of
we'll have a QM/MM calculator which is using gromacs as the
MM part.
For example: (setting for the MM part of a QM/MM run,
parameter '-nt 1' for serial run)::
CALC_MM = Gromacs(doing_qmmm = True)
CALC_MM.set_own_params_runs('extra_mdrun_parameters', ' -nt 1 ')
Here default values for MM input are::
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'
The input values can be changed by::
CALC_MM.set_own_params(
'nsteps','99999' 'Number of steps')
The arguments for gromacs programs can be changed by::
CALC_MM.set_own_params_runs(
'extra_pdb2gmx_parameters','-ignh')
CALC_MM.set_own_params_runs(
'init_structure','1GM2.pdb')
CALC_MM.set_own_params_runs(
'extra_mdrun_parameters', ' -nt 1 ')
CALC_MM.set_own_params_runs(
'extra_grompp_parameters', ' ')
CALC_MM.set_own_params_runs(
'extra_editconf_parameters', ' ')
CALC_MM.set_own_params_runs(
'extra_genbox_parameters', ' ')
Parameters
==========
The description of the parameters can be found in the Gromacs manual:
http://www.gromacs.org/Documentation/Manual
and extra (ie. non-gromacs) parameter:
do_qmmm: logical (default False)
If true we run only single step of gromacs
(to get MM forces and energies in QM/MM)
freeze_qm: logical (default False)
If true, the qm atoms will be kept fixed
(The list of qm atoms is taken from file 'index_filename', below)
clean: logical (default True)
If true old gromacs files are cleaned
force_field: str (default oplsaa)
Name of the force field for gromacs
water_model: str (default tip3p)
Name of the water model for gromacs
Environmental variables:
========================
- GMXCMD the name of the main gromacs executable (usually 'mdrun').
If GMXCMD is not set gromacs test is not run, but in the calculator
works using 'mdrun'.
- GMXCMD_PREF prefix for all gromacs commands (default '')
- GMXCMD_POST postfix (ie suffix) for all gromacs commands (default '')
Example: MM-only geometry optimization of a histidine molecule
==============================================================
THIS IS NOT A PROPER WAY TO SETUP YOUR MD SIMULATION.
THIS IS JUST A DEMO THAT DOES NOT CRASH.
(the box size should be iterated by md-NTP, total charge should be 0).
Initial pdb coordinates (file his.pdb):
.. literalinclude:: his.pdb
The sample file for relaxation:
.. literalinclude:: gromacs_example_mm_relax.py
|