Gibbs v9r5p2 Release notes Contents 1 New scientific features 2 1.1 Full support of Amber force fields . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 A new move: the twist move . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Software improvements 2 2.1 Force field parameters based on centers of force . . . . . . . . . . . . . . . . 2 2.2 Improvements for Reactive Monte-Carlo calculations . . . . . . . . . . . . . 3 2.3 Better control of the adjustments in the stretching move . . . . . . . . . . . 4 2.4 Definition of the connectivity by labels in the molecule.dat files . . . . . . . 4 2.5 More information in the molecule.dat files . . . . . . . . . . . . . . . . . . . 5 2.6 Per-box Ewald parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.7 Using cutoffEwald even with fixed cutoffs . . . . . . . . . . . . . . . . . . . . 5 2.8 Enforcement of neutrality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.9 Parallelization of internal energy routines . . . . . . . . . . . . . . . . . . . . 6 2.10 Profile activation at run-time . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 Bug fixes 6 3.1 Efficiency problem for GCMC on mono-atomic molecules . . . . . . . . . . . 6 3.2 Bug for the conrot move on charged systems without using el intra . . . . . 6 4 Compatibility issues 4.1 6 Bias parameters for Reactive Monte-Carlo calculations . . . . . . . . . . . . 5 New utilities 5.1 6 7 The amber2gibbs utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 New tests 7 7 1 1 New scientific features 1.1 Full support of Amber force fields Gibbs is now fully compatible with the Amber force fields: bonding, bending, torsion, improper torsions, and van der Waals energies are perfectly reproduced. Moreover, an utility is provided to import Amber topology files and restart files and produce the corresponding input files for Gibbs. Please see Test63 for a demonstration test. Note: Particle-mesh Ewald is not yet available in Gibbs. In the meantime, standard Ewald must be used. 1.2 A new move: the twist move A new move has been introduced for flexible or semi-flexible molecules: the twist move. In this move, the user specifies one or more pairs of adjacent atoms, each pair defining a possible rotation axis. Gibbs will pick such a pair at random, then it will select at random either the part of the molecule before the first atom or the part after the second one, and finally it will perform a random rigid rotation of this part around the axis. This move is well suited for instance for dimers, allowing to sample efficiently the torsions around the junction between the monomers. Please see Test64 for a demonstration test. 2 Software improvements 2.1 Force field parameters based on centers of force With Gibbs, the usual strategy in order to define force field parameters is to define first a series of centers of force types (cftypes), and then a series of parameters (for bonds, bendings, torsions, improper torsions, pairs, charge pairs) based on these cftypes. As all these parameters are based on centers of force types, they are themselves types: bond types, bending types, torsion types etc. All these parameters must be written in the potparam.dat file before launching Gibbs. Then, at the beginning of the run, Gibbs explores each molecule, detects its bonds, bendings, torsions, and tries to match them with the definitions present in the potparam.dat file. This approach has a few shortcomings. For instance: • There are situations where it is not easy to base everything on types. For instance, with cyclic molecules, there are many situations where, with exactly the same cftypes sequence, the torsion angles can be different (0 or 180 ◦ for instance). 2 • The improper torsions are not detected easily by Gibbs. Most molecular dynamics programs follow a different strategy: they do not perform any automatic detection. Instead, the user has to provide all the relevant bonds, bendings, torsions and improper torsions by listing the centers of force they involve, and provide their parameters. This approach is now possible in Gibbs: the parameters can be defined in the molecule.dat file. Moreover, both approaches can be mixed: certain molecule.dat files can use this facility, while others can rely on the standard strategy. There is even a finer level of control: only certain groups of parameters can be defined by the user, letting Gibbs detect automatically the others. For instance it is possible to specify only the improper torsion parameters, while Gibbs will detect the bonds, bendings and torsions parameters. To use this facility: 1. In the control.dat file, in the controlMolecules namelist, set to .true. any combination of the following keywords: Has bond info, Has bend info, Has tors info, Has impr info, or use the keyword Has pot info as a shortcut for setting all of them. 2. In the molecule.dat file, define parameters this way: &bond cf1 = 13, cf2 = 16, bond label = ’b4’ / (where 13 and 16 refer to atom numbers, not to atom types, and ’b4’ refers to a bond parameter definition in the potparam.dat file). 3. In the potparam.dat file, define the parameters refered to: &bond bond label = ’b4’ flexible bonding = 1 ff bond type = ’harmonic’ / &ff bond harmonic bonding constant = 311995.8, bond length = 1.526 / Please see Test63 for a demonstration on a real life case: a protein coming from an Amber study. 2.2 Improvements for Reactive Monte-Carlo calculations The Reactive Monte-Carlo calculations had two shortcomings: 1. They were limited to rigid molecules. 2. As they needed at each step a total energy calculation, they needed a huge computing time. 3 A team from Laboratoire de Chimie Physique Orsay has rewritten this move as a combination of insertion-deletion sub-moves. So now these two shortcomings have been overcome: 1. As insertion-deletions sub-moves are very general, flexible molecules can be processed. 2. As these sub-moves just use single energy calculations, the computing time changes by an order of magnitude. For instance in Test54 and Test55, the computing time is divided by 10. Caution: Please see the Compatibility issues section. 2.3 Better control of the adjustments in the stretching move Till v9r5p1, there was only one adjustment parameter for the stretching move (atomic translation move). So, in a complex molecule, the amplitude of the move was the same for all atoms, even if some of them were more mobile than others. Now there is one adjustment parameter for each cftype. This should lead to more efficient moves. 2.4 Definition of the connectivity by labels in the molecule.dat files Till v9r5p1, when defining the connectivity in a molecule.dat file, the neighbouring atoms had to be defined by their (numerical) index. For large molecules, this was complex and error-prone. The connectivity can now be defined with the help of text labels, which is much more readable. Here is a snippet: ¢er cf label = ’S1 ’ cf type = ’S’ label l1 = ’C7 ’ label l2 = ’C13’ pdb type = ’S ’ Moreover, it is now possible to input the atoms in any order, even if they are not yet connected to any atom defined previously. Note: To use this possibility, the keyword Has cf labels must be set to .true. in the controlMolecules namelist of the control.dat file. Please see Test64 for an example. 4 2.5 More information in the molecule.dat files New (optional) fields have been added in the format of the molecule.dat files: residue label (name of the residue for the current atom), residue num (residue number) and the atom num (atomic number). Here is a snippet: ¢er cf type = ’HC ’ l1 = 29, pdb type = ’HG2 ’ residue label = ’LYS ’ residue num = 2 atom num = 1 / As you can see, these fields are well suited for the input of proteins molecules. They will be used by Gibbs when writing at regular timesteps the geometry of the current system (file Aconf1.mol or Aconf1.pdb). These files will have all the necessary information for a full-featured visualization with tools such as vmd or rasmol. 2.6 Per-box Ewald parameters Till v9r5p1, by using cutoffEwald, Gibbs computed an α parameter per box, but used the same values for the kmax1, kmax2 and kmax3 parameters in all boxes. This was done by taking the maximal possible value depending on the box, which was slightly inefficient. Now these parameters are also computed on a per-box basis. 2.7 Using cutoffEwald even with fixed cutoffs The cutoffEwald keyword can now be used even with fixed cutoffs, by setting it to 0. For instance, with a cubic box of 50 Å, and an electrostatic cutoff set at 10 Å, if cutoffEwald is set to 0, Gibbs will compute all the Ewald parameters as if cutoffEwald had been set to 10/50 = 0.2. 2.8 Enforcement of neutrality Once all the input files have been read, Gibbs checks that the full system (molecules + grids, if any) is neutral. If not, it stops the calculation. Till v9r5p1, this check was made with a fixed threshold of 10−6 . This threshold can now be controlled, with the tolerance neutral keyword of the controlInitConf namelist of the control.dat file. 5 2.9 Parallelization of internal energy routines The computation of internal Van der Waals energies and internal electrostatic energies was not parallelized yet. It is now. 2.10 Profile activation at run-time Till v9r5p1, to activate profiling (computing the wallclock time spent in each subroutine), the code had to be recompiled after having set a few options in the main gibbs.f90 file. It is now possible to activate the profiling at run-time, just by setting profile = .true. in the controlProfile section of the control.dat file. 3 Bug fixes 3.1 Efficiency problem for GCMC on mono-atomic molecules There was a bug in the GCMC code for inserting mono-atomic molecules: whatever the value of nbkinsert the number of trials was always set to 1. So the insertion process was rather inefficient. This is fixed now. 3.2 Bug for the conrot move on charged systems without using el intra If the conrot move was used on a charged system without setting el intra to .true. (which indeed makes sense in certain cases), the program crashed (due to the use of unallocated arrays). This bug is fixed now. Thanks to the team from Materials Design who reported it. 4 Compatibility issues 4.1 Bias parameters for Reactive Monte-Carlo calculations Caution: Now the Reactive Monte-Carlo moves behave similarly to GCMC moves. So they need two parameters for controlling the regrowth. These parameters are located in the controlBias namelist of the control.dat file: 1. nbkinsert: Number of trials for inserting the first center of force. 2. nbktrial: Number of trials for the other steps of the regrowth. 6 5 New utilities 5.1 The amber2gibbs utility This utility allows to convert Amber input files to Gibbs input files in the following situation: one or more protein molecules of the same type, in a solvatation box made of several solvent molecules of the same type. Two Amber files are needed: the topology file (containing the topology and the parameters of the system), and a restart file (containing the positions and the velocities of the atoms in the system). Starting from these files, the utility will produce a potparam.dat file, a protein.dat file and a solvent.dat file describing the two moltypes of the system, as well as the protein.coord and solvent.coord giving the initial configuration of the system. So, only the control.dat file will need to be written by the user. Please see Test63 for an example of utilization. 6 New tests There are 4 new tests: • Test63-Amber-Padron This is a demonstration test for the new possibilities of Gibbs with respect to the Amber force field. It reproduces an Amber calculation on the Padron protein (212 residues, 3363 atoms) surrounded by 8319 water molecules. The amber2gibbs utility was used on the Amber topology file amber.top and the Amber restart file amber.rst (present in the directory) to generate all the Gibbs input files. Using these files, a very simple Gibbs computation is performed, with only stretching moves on the protein, and translation and rotation moves on the water. • Test64-Twist-Edot dimer This is a demonstration test for the new twist move. The molecule is a ethylenedioxythiophene (edot) dimer. The test uses only two moves: the stretching move and the twist move. The twist move is done on the junction between the two monomers. This test is actually a coupled Gibbs-Gaussian run, with Gibbs performing the moves, Gaussian computing the energies, and Gibbs accepting or rejecting the moves. This test makes use of two new possibilities for defining molecules : 1. the atoms and the connectivity is defined using labels, 2. atoms are defined without any connection with previously defined atoms. 7 • Test65-Fau LJ Buck grids This is a demonstration test where we mix two Van der Waals potentials when generating the grids. There are three framework elements in the zeolite: Si, Al and O, and two grids, one for each element of the system (Na and H2), each grid describing their interaction with the elements of the zeolite. Here we make use of the Label Type pot zeos facility, an array with two dimensions, the first dimension for the system elements and the second dimension for the framework elements. With this array one can set the type of potential to use for each combination of system element and framework element. So, here there could be up to 6 different types of potential. This test doe not go that far, and uses only two combinations: the first grid is built with the Buckingham potential, while the second is built with the Lennard-Jones potential. Note: As said above, this is just a demonstration test. as it has two physical shortcomings: 1. there are hydrogens in the soldalite cages, though they should not be accessible, 2. for the hydrogens, quantum effects should be taken into account. These shortcomings will be addressed in a future version. • Test65-Fau LJ Buck solid This test is a variant of the previous one. This time, instead of pre-computing grids based on the zeolite file, and then using them in the Gibbs calculation, we define directly the zeolite as a solid inside the Gibbs calculation. Here too we mix two Van der Waals potentials: all the Van der Waals interactions use Lennard-Jones potentials, except for the interaction between Na in the system and O in the solid that uses a Buckingham potential. Notes 1. In the coming v9r5p3 version, the control.dat and potparam.dat files will be simplified, as there will be a new attribute for molecules: the solid attribute. Stay tuned . . . 2. Using solids instead of grids is of course more precise, but it is often considered as too costly. Here, the solid calculation just takes 3 more time than the previous grid calculation; this is not an extreme overhead, and it can be afforded for the sake of precision. 8
© Copyright 2025 Paperzz