15 thoughts on “fftool

  1. olá primeiramente parabéns pelo belíssimo trabalho no desenvolvimento de campos de forças para líquidos iônicos. Sou estudante de engenharia e gostaria de utilizar o seu programa fftool, mas , estou com problemas com a seguinte mensagem de erro : not created

    estou escrevendo da seguinte forma

    python fftool.py 1 spc.zmat -b 40
    python fftool.py 1 spc.zmat -lammps 40

    poderia me ajudar ?

    obrigado pela atenção

    • Hi,
      The command you issued creates one box of 40 A side containing water molecules (only 1 in your case):
      $ python fftool.py 1 spc.zmat -b 40
      This generates xyz files with atomic coordinates for the molecules and an input file for packmol. You need to use packmol to actually pack the molecules in the box:
      $ packmol < pack.inp And then run fftool once again to finally create the lammps input files from those coordinates: $ python fftool.py 1 spc.zmat -b 40 -l Hope this helps. Agilio

  2. Hi,

    I am a beginner at Molecular Dynamics. I am trying to obtain the XYZ file from zmat file in fftool and also see the charges in the molecule. Could you help me with this?

    • fftool generates xyz files for use by packmol to create an initial configuration (positions of atoms in a simulation box). To see the charges on atoms you have to proceed to create datafilee in LAMMPS (or DLPOLY or Gromacs) format. This is explained in the README. To put 1 molecule in a 30 A box and create lammps input files use the following 3 commands:
      $ fftool 1 molecule.zmat -b 30
      $ packmol < pack.inp $ fftool 1 molecule.zmat -b 30 -l

  3. hello sir.
    Respected sir,
    I want to ask , if i have c3c1im_pack.xyz,PF6_pack.xyz and gold.xyz(radius-15Amstrong) and want to put all of this in a same box .can i use fftool or xyztool??also if i give the lj parameters in il.ff file for gold can i do this.
    #gold
    i j pot re/A kr/kJmol-1
    Au Au 196.967 0.00 lj 3.2 0.75

    regards

    • Yes, fftool can do what you want.
      You need to create a simple .ff file with the Lennard-Jones parameters for gold atoms.
      Then you need to describe with care the interactions between gold atoms and the ionic liquids, and this is not trivial.
      I did something similar with ruthenium and iron:
      A.S. Pensado, A.A.H. Padua, Solvation and Stabilization of Metallic Nanoparticles in Ionic Liquids, Angew Chem Int Edit. 50 (2011) 8683–8687. doi:10.1002/anie.201103096.
      A.C.F. Mendonça, P. Malfreyt, A.A.H. Padua, Interactions and Ordering of Ionic Liquids at a Metal Surface, J Chem Theory Comput. 8 (2012) 3348–3355. doi:10.1021/ct300452u.

  4. Hello sir,

    I Have a mixture of c2mimpf6 and c6mimpf6 in a box . Using the fftool and il.ff , i got the lammps input file below having paircoefficients but I want to group seperatly c2mim and c6mim using the group command of lammps.(group cation type 1 2…like this),is there any option using fftool i can get seperate atomtype for both the cation(c2mim and c6mim)??

    pair_coeff 1 1 lj/cut/coul/long 0.170000 3.250000 # NA NA
    pair_coeff 2 2 lj/cut/coul/long 0.070000 3.550000 # CR CR
    pair_coeff 3 3 lj/cut/coul/long 0.070000 3.550000 # CW CW
    pair_coeff 4 4 lj/cut/coul/long 0.065999 3.500000 # C1 C1
    pair_coeff 5 5 lj/cut/coul/long 0.030000 2.420000 # HCR HCR
    pair_coeff 6 6 lj/cut/coul/long 0.030000 2.420000 # HCW HCW
    pair_coeff 7 7 lj/cut/coul/long 0.030000 2.500000 # H1 H1
    pair_coeff 8 8 lj/cut/coul/long 0.065999 3.500000 # CE CE
    pair_coeff 9 9 lj/cut/coul/long 0.030000 2.500000 # HC HC
    pair_coeff 10 10 lj/cut/coul/long 0.065999 3.500000 # C2 C2
    pair_coeff 11 11 lj/cut/coul/long 0.065999 3.500000 # CS CS
    pair_coeff 12 12 lj/cut/coul/long 0.065999 3.500000 # CT CT

  5. It’s a good question. Maybe the easiest way is to edit one of the files (c2c1im) and give atoms new names. Then copy il.ff to another name and change the same atom types; use the new il.ff with the modified molecule/ion. This is very simple because only the non-bonded types matter.

  6. thank you sir .but i have tried to do edit the c2c1im.zmat file but as soon i tried to do that its showing me error
    ./fftool 100 c2c1im.zmat 100 c6c1im.zmat -b 60
    c2c1im.zmat
    error in c2c1im+: no parameters for atom Cr
    error in c2c1im+: no parameters for atom Cw
    error in c2c1im+: no parameters for atom Cw
    error in c2c1im+: no parameters for atom Ca
    error in c2c1im+: no parameters for atom Hcr
    error in c2c1im+: no parameters for atom Ca
    error in c2c1im+: no parameters for atom Hcw
    error in c2c1im+: no parameters for atom Hcw
    error in c2c1im+: no parameters for atom Ha
    error in c2c1im+: no parameters for atom Ha
    error in c2c1im+: no parameters for atom Ha
    error in c2c1im+: no parameters for atom Ce
    error in c2c1im+: no parameters for atom Ha
    error in c2c1im+: no parameters for atom Ha
    error in c2c1im+: no parameters for atom Hc
    error in c2c1im+: no parameters for atom Hc
    error in c2c1im+: no parameters for atom Hc

    • I suppose you have to modify the force field file (*.ff) accordingly for the new atom names.

  7. Dear Agilio,

    Thank you for this great tool.

    I would like to ask you if there is a way for fftool
    to manage geometries where only one atom type
    is present but the topology asks for 2 or more bond/angle types.

    E.g.
    C60 fullerenes can be parameterized with 1 atom type but 2 bond and 2 angle types (being shared by both 5 and 6 membered rings):

    ATOMS
    C CF 12.011 0.0 lj xxx xxx

    BONDS
    CF CF harm 1.39 xxx
    CF CF harm 1.45 xxx

    ANGLES
    CF CF CF harm 108.0 xxx
    CF CF CF harm 120.0 xxx

    I guess one could run fftool a few times, one for each bond/angle, and then
    join the lammps data files with indexes appropriately shifted,
    but I was wondering if there is a better way within fftool.

    Thank you,
    Stefano

    • Hello,
      Thanks.
      In C60 all atoms are identical and I didn’t plan fftool to distinguish different bonds involving the same atom type (usually different atom types in terms of non-bonded interactions will have the same types of bond, angle, etc. but the opposite is uncommon).
      Maybe you can define different types for the bonded parts (CF1, CF2, etc. just replicating the bond and angle parameters) and then build the structure making sure all the bonds are in the right place.
      Otherwise, maybe +/-0.03 A is not significant and you can use 1.42 for all bonds! I would do that.
      Cheers,
      Agilio

  8. Dear Agilio,

    Thank you for your prompt reply.

    You are right, it is an uncommon situation,
    and the bonds are similar,
    but the angles are, I think, too different.

    I am not sure I understood your suggestion though.
    When you say “define different types for the bonded parts (CF1, CF2, etc. just replicating the bond and angle parameters)…”
    you mean something like:

    ATOMS
    C CF1 12.011 0.0 lj xxx xxx
    C CF2 12.011 0.0 lj xxx xxx

    BONDS
    CF1 CF1 harm 1.39 xxx
    CF2 CF2 harm 1.45 xxx

    This unfortunately does not seem to work as the fftool atom class
    holds only one type per atom object, so only the last type encountered
    in the forcefield file gets assigned to those atoms (i.e. CF2):
    lines ~841 -> at.type = ffat.type
    lines ~954 -> at.setpar(ffat.type, ffat.q, ffat.pot, ffat.par)

    Maybe I misunderstood you (or the code)?
    (if you want I can send you example files).

    Thank you for your help,
    Stefano

    • Hi,

      You’d also have to define new atom types for the non-bonded part:

      ATOMS
      C1 CF1 12.011 0.0 lj xxx xxx
      C2 CF2 12.011 0.0 lj xxx xxx

      BONDS
      CF1 CF1 harm 1.39 xxx
      CF2 CF2 harm 1.39 xxx
      CF1 CF2 harm 1.45 xxx

      Then it is a matter of figuring out how this can be made to fit the topology of bonds. Maybe you need 3 or more different atom types. I haven’t worked out the details for C60.

      All the best,
      Agilio

  9. Dear professor,

    first of all thank you for the useful tool and for the entire material. It was very useful for me even for other purposes, e.g. I could find here OPLS parameters that are not so clear from the original publications.

    I was trying to implement your recent polarizable FF for ionic liquids (J. Chem. Phys. 2017, 146, 204501) in Gromacs. I’ve found that it is the most useful polarizable FF for ILs also because it preserves the LJ interaction for the VdW part, on the contrary of others FFs that use more complex potentials with many terms. Since I’m simulating metals in ILs and for metals I have only LJs, compatibility is required.
    I’ve seen that an update to add drude particles in LAMMPS was added, but I was wondering if it is possible to add them even in Gromacs with fftool.

    Thank you in advance.
    Regards,
    Matteo

    Ps. I’ve added the message here as well as before, I hope this is the correct website. It gives ens-lyon.fr to me.

Leave a Reply

Your email address will not be published. Required fields are marked *