On Wed, 26 Jul 2006, Donald Ephraim Curtis wrote: > Well, after posting it appears that the tripos info is coming from the > $prefix/share/libghemical/*/param_mm/tripos52 directory. But, i > couldn't find any information on what needs to be added to add Si > parameters or can get more accurate optimizations. Is this actually > what i'm looking for as far as setting the correct force field information? Yes, I was going to suggest that you try to add the Si parameters you need. :) The $prefix/share/libghemical/*/param_mm/tripos52 is the right place ; libghemical reads the files in, and you are free to add new stuff there. You have to be careful with formatting ; it's easiest to duplicate existing lines and then modify the values. You can comment out lines using the C++ style comments: // this line would be ignored by the library. First take a look at the atomtypes.txt file. It will define all the atom types for tripos5.2 ; let's take an example: 0x0600 (-*) "general sp3 carbon" The first 16-bit hex number (0x0600) is an atom type code where the first 2 digits (0x06 in hex = 6 dec) define the element (element 6 is carbon in this case) and the last 2 digits are just a running index for separating the different atomtypes for an element (for example, carbon has 4 different atomypes, so tripos 5.2 knows about 4 different kinds of carbon atoms). Then there is a typerule (-*) ; this part is read in by the code in src/typerule.cpp. It's purpose is to define the neighboring atoms that match to this atomtype, so that later we can choose, say, which of the atomtypes for carbon we will set for this particular carbon atom. For example the line 0x0600 (-*) "general sp3 carbon" means a carbon atom that is bonded to any other atom with a single bond 0x0601 (=*) "general sp2 carbon" means a carbon atom that is bonded to any other atom with a double bond 0x0704 (-*,-*,-*,-*) "ammonium nitrogen" means a nitrogen atom that is bonded to any other 4 atoms with single bonds 0x0705 (-C(=O)) "amide nitrogen" means a nitrogen atom that is bonded to a carbon atom with a single bond, which is further bonded to an oxygen atom with a double bond. Please see src/typerule.cpp for more about available atom type rules. The last part is just a text string (separated by quotation marks) for a description. So, let's say we add this into atomtypes.txt // parameters for Si added 2006-07-27 0x0E00 (-*) "sp3 silicon" (I don't know much about Si compounds, I just assume there are single bonds only ; please design a better typerule if needed). Then there is a parameters1.txt file, and as you can see there are bond stretching parameters listed for all (relevant) combinations of atom types listed earlier, for example: 0x0600 0x0600 S 1.540 633.6 This is a term for a carbon-carbon single bond (0x0600 was the sp3 carbon atomtype, and the letter S means a single bond). The two numbers are the optimum distance (in Å) and a force constant (in kcal/(mol * Å^2)). Please note that atomtype code 0xFFFF means "any other atomtype". So let's add this term so that we can test something with Si ; as you can see there is the Si atomtype code and the 0xFFFF code, and a single bond. The bond length is set to 9.999 Å so you should have single bonds with this length for Si compounds if everything went right : 0x0E00 0xFFFF S 9.999 633.6 Adding a new atomtype and a bond stretching parameters are a good start ; try this and then advancing to other parameter?.txt files are easier. And report me how it's going! :) Regards, Tommi