Is there any way to extract PCFF forcefield constants from Materials studio? I saved PCFF forcefield in the Materials studio working window from " Modules - Forcite - Forcefield manager", then I tried to find out different parameters of PCFF, but I couldn't find any value for different structure. For PCFF forcefield constant I mean the constant of energy parameters such as bend Torsion, stretch bend stretch and etc.
for example, I know the R Theta R formulation for Stretch Bend Stretch, but how can I find the constants of the formulation (Kij0 and Kjk0)??
Yes you can get the PCFF forcefield parameters in Materials Studio. They are viewable and editable in the Forcefield Editor and also accessible in the scripting api.
For instance, the stretch-bend-stretch potential with the functional form:
has two distinct parameters, Kij0 and Kjk0. (The other two parameters q0 and Rij0/Rjk0 come from the angle and stretch potentials.)
They are only visible in the Forcefield Editor when you change the Functional Form filter to “R Theta R”: Best, Jason
This was selected as the best answer
Dear Jason, Thank you a lot for your accurate response. Your answers always are helpful.
Now I have faced another problem concerning PCFF forcefield in Materials Studio. For some structures, the existed parameters have not defined in the PCFF database. For example, when you want to simulate epoxy with PCFF in Materials Studio, the (cp c cp) or (cp oc c2) for bond-bond and bond-angle, (cp c cp cp) or (cp oc c2 hc) and .... for Torsion and dihedral (and ...) exist in the structur, but PCFF parameters have not been defined in the PCFF database! Surprisingly, Materials Studio shows no error for any data missing and the simulation will be finished without any problem!
Now, here is the question. How does Materials studio calculate these constants? Does it ignore them?! If no, how can we find out the considered values for these parameters in PCFF?
And the last question. what is the difference between a Double bond and Partial Double bond in Materials studio? For example in the epoxy scripting code, you sketch the initial structure of DGEBA and DEDTA with benzene ring of Partial Double Bond, while we know that the benzene rings in these structures have been consisted of three single and three double bonds! The difference in the initial structures leads to different partial charges of atoms! How can we explain this situation?
The forcefield types for atoms are the same, but the partial charges of atoms are different. Please see the following images for DEDTA structure with partial double bond and combination of single and double bond in Benzene ring. The charges in both structure are assigned by "forcefield assign" (PCFF). Am I right?
By the way, for assigning atom charges in polymers (especially epoxy system), is it better to use "forcefield assign" or " Charge using Qeq"? It seems that Qeq calculate charge more precisely.
Thank you again for your valuable information and help.
Also it doesn't make sense. If the types are the same, the charges will be the same, since it is using the charge increments method.
Also take a look at your charges. They should be identical for atoms that are structurally the same. Instead you have small differences like -0.644 vs -0.645 and 0.137 vs 0.144. That suggests they were assigned with QEq which takes the 3D structure into account.
Oh, you're right. I made a terrible mistake! I had used different charge methods for each!
For "using Qeq method" we have:
Of course the difference in atom charges are negligible.
By the way, for assigning atom charges in polymers (especially epoxy system), is it better to use "forcefield assign" or " Charge using Qeq"? It seems that Qeq calculate charge more precisely. As you said, QEq takes the 3D structure into account. Is that better or not?
As I read in the help of Materials studio, to find un-existed bond, dihedral, torsion and ..., Materials studio go through step down algorithm. For example, for PCFF forcefield, it has defined levels of equivalences for each forcefiled type. Using step down algorithm for PCFF, the appropriate parameters will be found! For instances, for cp forcefield type, level 2 is cp_ and level 3 is X:
Now, here are the questions: 1- what is the meaning of "cp_"? I can't find cp_ type in PCFF! (There is same problem for c_ and etc).
2- I know that "X" is for dummy forcefield type. But there is not any combination for dummy types in most of the forcefield parameters!
3- For example for stretch-stretch types, how can we map cp-c-cp? (this structure is existed in epoxy formulation)
1) There is indeed a cp_ and c_ in pcff. You can find them by entering “c*_” in the filter box of the Types tab.
2) There are plenty of interactions defined using the X type. As a dummy atom, X has no vdW interactions. But it does have bond, angle and torsion interactions. It has no cross-terms.
3) Yes, cp-c-cp does not have a Stretch-Stretch interaction. That can be confirmed by sketching the structure and running a Forcite | Energy job (use existing types) and you will see that the Stretch-Stretch energy is zero.
You will notice that there is no explicit section defining Stretch-Stretch equivalences. Instead they are defined by the equivalence of their constituent parts. For instance, a c3m-c-c= Stretch-Stretch interaction is mapped onto c-c-c=, since c3m has a Stretch equivalence to c.
So if we want to convert data from Materials Studio to other MD software such as LAMMPS, then should we put the un-mapped parameters to zero? for example, you said that "cp-c-cp does not have a Stretch-Stretch interaction" does this mean cp-c-cp really does not have stretch stretch interaction or Materials studio does not consider (or can not map it). because we have cp-c-cp in our structure!
Please answer this question too : "By the way, for assigning atom charges in polymers (especially epoxy system), is it better to use "forcefield assign" or " Charge using Qeq"? It seems that Qeq calculate charge more precisely. As you said, QEq takes the 3D structure into account. Is that better or not?"
The BIOVIA implementation of PCFF is the original, so it should be taken as the reference for other codes like LAMMPS. By the way, I have implemented a LAMMPS conversion for PCFF and Dreiding and posted it on the ScienceCloud Protocol Exchange.
How does dummy forcefield type (X) work in equivalences part of forcefield? In other words, what does dummy forcefield type mean?! Unfortunately, I don't get the idea of dummy forcefiled type! for example, for bond stretch equivalence of all forcefield types, X has been defined as the Level 3. Then for a bond with no match of Level 1 and level 2, how level 3 is defined?! We don't have X~X interaction for sure!