[gmx-users] Creating an atomtype where all nonbonded interactions are enumerated
Justin A. Lemkul
jalemkul at vt.edu
Wed Mar 21 21:43:58 CET 2012
Andrew DeYoung wrote:
> I am trying to simulate a liquid (EMI-BF4) in a box with two walls, one at
> z=0 and one at z=z_0. I am trying to create a new atom type to use as my
> walls' atom type, so that I can manipulate the interaction between the atoms
> of the liquid and the atoms of the wall. I am basing this idea on the
> manual (http://manual.gromacs.org/current/online/mdp_opt.html#walls), which
> in the walls section describes how wall_atomtype can be used:
> "wall_atomtype: the atom type name in the force field for each wall. By (for
> example) defining a special wall atom type in the topology with its own
> combination rules, this allows for independent tuning of the interaction of
> each atomtype with the walls."
> In my force field, atoms within the liquid interact with each other by
> combination rule 3, which means that in ffnonbonded.itp, I specify sigma and
> epsilon for each atom type in my liquid. This is specified in my main
> topology (mytopology.top), which includes a statement #include
> "./forcefield.itp". forcefield.itp, in turn, contains the following:
> ; forcefield.itp
> #define _FF_GRAPHENE_EMI
> [ defaults ]
> ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ
> 1 3 yes 0.5 0.5
> #include "./ffnonbonded.itp"
> #include "./ffbonded.itp"
> But what if I now want to define a new atom type (called mywall) that will
> interact with the liquid, but not in the standard way (i.e., not by
> specifying sigma and epsilon and using combination rule 3 to handle cross
> terms)? I would like to enumerate all of the possible sigma_ij's and
> epsilon_ij's, where i is "mywall" and j is an atom type from the liquid.
> So, I wrote a new file called mywall.itp:
> ; mywall.itp
> [ moleculetype ]
> ; name nrexcl
> mywall 3
> [ nonbond_params ]
> ; i j func sig eps
> mywall N 1 0.29750 4.56912
> mywall C 1 0.31200 3.07524
> mywall H 1 0.26170 1.17675
> mywall B 1 0.31225 3.48667
> mywall F 1 0.28974 2.82420
> where I have specified all of the sigma_ij's and epsilon_ij's. I try to
> include this file by using the following mytopology.top:
> ; mytopology.top
> #include "./forcefield.itp"
> #include "./emi_flex.itp"
> #include "./bf4.itp"
> #include "./mywall.itp"
> [ system ]
> [ molecules ]
> ; Name number
> EMI 256
> BF4 256
> When I use these files and run grompp, I get this error message:
> Program grompp, VERSION 4.5.5
> Source code file: toppush.c, line: 1166
> Fatal error:
> Atomtype mywall not found
> One problem I see with what I have done is that in mywall.itp, I am defining
> a moleculetype "mywall", whereas I really want to define an atomtype
> "mywall". However, I am not exactly sure how to do this. Normally, I would
> define an atomtype in ffnonbonded.itp in my homemade force field, with a
> line like this (for boron, for example):
> [ atomtypes ]
> ;type at.n mass charge ptype sig eps
> B 5 10.81000 1.1504 A 3.58140e-1 3.97480e-1
> But I don't want to just specify (single values of) sigma and epsilon.
> Rather, I want to enumerate all of the sigma_ij's and epsilon_ij's, using
> perhaps a "[ nonbond_params ]"-like directive. Can you please help me know
> how to do this?
See the Gromos force fields for an example, since they operate this way. LJ
nonbonded interactions are generated using sigma and epsilon unless a special
set of parameters is specified in [nonbond_params].
Justin A. Lemkul
ICTAS Doctoral Scholar
Department of Biochemistry
jalemkul[at]vt.edu | (540) 231-9080
More information about the gromacs.org_gmx-users