Skip to content

Commit fa55067

Browse files
committed
Updated the OPLS-AA forcefield file to allow personal versions
* Updated the OPLS-AA forcefield to support an optional local user file 'my_oplsaa.frc' to add to or override parameters in the main file. * Fixed issues in the ligpargen utility due to changes in the SMILES routines in SEAMM.
1 parent 2fbeac6 commit fa55067

File tree

6 files changed

+228
-40
lines changed

6 files changed

+228
-40
lines changed

HISTORY.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
=======
22
History
33
=======
4+
2025.5.26 -- Updated the OPLS-AA forcefield file to allow personal versions
5+
* Updated the OPLS-AA forcefield to support an optional local user file
6+
'my_oplsaa.frc' to add to or override parameters in the main file.
7+
* Fixed issues in the ligpargen utility due to changes in the SMILES routines in
8+
SEAMM.
9+
410
2025.4.7 -- Added a number of ReaxFF forcefields.
511
* Added the ReaxFF forcefields from LAMMPS, plus two from lithium battery work.
612
* Added metadata sections to the forcefield to better support the features of

forcefield_step/data/oplsaa.frc

Lines changed: 197 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55
! Version Ref Function Label
66
!--------- --- ------------------------------ ------
77
2025.04.06 1 metadata oplsaa
8-
2023.01.29 1 atom_types oplsaa CL&P ligpargen:optional
9-
2023.01.29 1 equivalence oplsaa CL&P
10-
2023.01.29 1 charges oplsaa CL&P ligpargen:optional
11-
2023.01.29 1 nonbond(12-6) oplsaa CL&P ligpargen:optional
12-
2023.01.29 1 quadratic_bond oplsaa CL&P ligpargen:optional
13-
2023.01.29 1 quadratic_angle oplsaa CL&P ligpargen:optional
14-
2023.08.21 1 quadratic_angle oplsaa CL&P ligpargen:optional
8+
2023.01.29 1 atom_types oplsaa CL&P my_oplsaa:optional ligpargen:optional
9+
2023.01.29 1 equivalence oplsaa CL&P my_oplsaa:optional
10+
2023.01.29 1 charges oplsaa CL&P my_oplsaa:optional ligpargen:optional
11+
2023.01.29 1 nonbond(12-6) oplsaa CL&P my_oplsaa:optional ligpargen:optional
12+
2023.01.29 1 quadratic_bond oplsaa CL&P CL&P-g my_oplsaa:optional ligpargen:optional
13+
2023.01.29 1 quadratic_angle oplsaa CL&P my_oplsaa:optional ligpargen:optional
14+
2023.08.21 1 quadratic_angle oplsaa CL&P my_oplsaa:optional ligpargen:optional
1515
2023.08.26 1 tabulated_angle CL&P
16-
2023.01.29 1 torsion_opls oplsaa CL&P ligpargen:optional
17-
2023.01.29 1 improper_opls oplsaa ligpargen:optional
16+
2023.01.29 1 torsion_opls oplsaa CL&P my_oplsaa:optional ligpargen:optional
17+
2023.01.29 1 improper_opls oplsaa CL&P my_oplsaa:optional ligpargen:optional
1818
2023.01.29 1 templates oplsaa
19-
2024.06.20 1 fragments ligpargen:optional
19+
2024.06.20 1 fragments CL&P my_oplsaa:optional ligpargen:optional
2020
#end
2121

2222
#define oplsaa
@@ -54,6 +54,7 @@
5454
#end
5555

5656
#include local:OPLS-AA/ligpargen.frc missing_ok
57+
#include local:OPLS-AA/my_oplsaa.frc missing_ok
5758

5859

5960
#metadata oplsaa
@@ -10881,8 +10882,10 @@
1088110882

1088210883
! Version Ref Type Mass El # conns Comment
1088310884
!---------- --- -------- ------ -- ------- ---------------------------
10885+
2025.05.16 7 B 10.811 B 4 Boron in BF4-
1088410886
2023.01.29 1 P 30.974 P 6 Phosphorous
1088510887
2023.01.29 1 F 18.998 F 1 Fluorine
10888+
2025.05.16 7 FB 18.998 F 1 Fluorine in BF4-
1088610889
2023.01.29 1 FP 18.998 F 1 Fluorine in PF6-
1088710890
2023.09.13 3 N 14.007 N 2 generic N in CL&P
1088810891
2023.09.13 3 S 32.060 S 4 generic S in CL&P
@@ -10904,16 +10907,22 @@
1090410907
2023.09.14 2 HC 1.008 H 1 H bonded to side chain C past first in charged imidazolium group
1090510908
2023.09.14 2 H1 1.008 H 1 H bonded to first side chain C in charged imidazolium group
1090610909
2023.09.14 2 NA 14.007 N 2 N in charged imidazolium group
10907-
10910+
! BOB and DFOB
10911+
2025.05.16 8 Cbob 12.011 C 3 Ester -COOR
10912+
2025.05.16 8 O2bob 15.999 O 1 Ester C=O
10913+
2025.05.16 8 Obob 15.999 O 2 Ester CO-O-R
10914+
2025.05.16 8 Fbob 18.998 F 1 Fluorine on B
1090810915

1090910916
#equivalence CL&P
1091010917

1091110918
! Equivalences
1091210919
! -------------------------------------------
1091310920
!Ver Ref Type NonB Bond Angle Torsion OOP
1091410921
!--------- ---- -------- -------- -------- -------- -------- --------
10922+
2025.05.16 7 B B B B B B
1091510923
2023.01.29 1 P P P P P P
1091610924
2023.01.29 1 F F F F F F
10925+
2025.05.16 7 FB FB F FB F F
1091710926
2023.01.29 1 FP FP F FP F F
1091810927
2023.09.13 5 Nbt Nbt N N N N
1091910928
2023.09.13 5 Sbt Sbt S S S S
@@ -10934,22 +10943,28 @@
1093410943
2023.09.14 2 HC HC opls_85 opls_85 opls_85 opls_85
1093510944
2023.09.14 2 H1 H1 opls_85 opls_85 opls_85 opls_85
1093610945
2023.09.14 2 NA NA NA NA NA NA
10937-
10946+
! atom types for BOB and DFOB
10947+
2025.05.16 8 Cbob Cbob C C C C
10948+
2025.05.16 8 Fbob FB Fbob F F F
10949+
2025.05.16 8 Obob Obob O O O O
10950+
2025.05.16 8 O2bob O2bob O O2bob O O
1093810951

1093910952
#charges CL&P
1094010953

1094110954

1094210955
! Version Ref I Charge
1094310956
!--------- ---- -------- ------
10944-
2023.01.29 2 F -0.12
10945-
2023.01.29 2 FP -0.39
10946-
2023.01.29 2 P 1.34
10947-
2023.09.13 3 Nbt -0.660
10948-
2023.09.13 3 Sbt 1.020
10949-
2023.09.13 3 Fbt -0.160
10950-
2025.03.18 6 Fsi -0.13
10951-
2023.09.13 3 Obt -0.530
10952-
2023.09.13 3 Cbt 0.350
10957+
2025.05.16 7 B 0.96
10958+
2023.01.29 2 F -0.12
10959+
2025.05.16 7 FB -0.49
10960+
2023.01.29 2 FP -0.39
10961+
2023.01.29 2 P 1.34
10962+
2023.09.13 3 Nbt -0.660
10963+
2023.09.13 3 Sbt 1.020
10964+
2023.09.13 3 Fbt -0.160
10965+
2025.03.18 6 Fsi -0.13
10966+
2023.09.13 3 Obt -0.530
10967+
2023.09.13 3 Cbt 0.350
1095310968
2023.09.14 2 C1 -0.17
1095410969
2023.09.14 2 C2 0.01
1095510970
2023.09.14 2 CE -0.05
@@ -10977,7 +10992,9 @@
1097710992

1097810993
! Version Ref I sigma eps
1097910994
!--------- ---- -------- -------- --------
10995+
2025.05.16 7 B 3.58 0.39750
1098010996
2023.01.29 2 F 2.95 0.22175
10997+
2025.05.16 7 FB 3.12 0.25520
1098110998
2023.01.29 2 FP 3.12 0.25520
1098210999
2023.01.29 2 P 3.74 0.83680
1098311000
2023.09.13 3 Nbt 3.250 0.71128
@@ -10996,7 +11013,9 @@
1099611013
2023.09.14 2 HA 2.42 0.12552
1099711014
2023.09.14 2 H1 2.50 0.12552
1099811015
2023.09.14 2 NA 3.25 0.71128
10999-
11016+
2025.05.16 8 Obob 3.00 0.71128
11017+
2025.05.16 8 Cbob 3.75 0.43932
11018+
2025.05.16 8 O2bob 2.96 0.87864
1100011019

1100111020
#quadratic_bond CL&P
1100211021

@@ -11007,6 +11026,7 @@
1100711026

1100811027
! Version Ref I J R0 K2
1100911028
!--------- ---- -------- -------- -------- --------
11029+
2025.05.16 7 B F 1.394 3235.0
1101011030
2023.01.29 3 P F 1.606 3100.0
1101111031
2023.09.13 3 S N 1.570 3137.0
1101211032
2023.09.13 3 S O 1.437 5331.0
@@ -11018,6 +11038,20 @@
1101811038
2023.09.14 2 CW CW 1.341 2176.0
1101911039
2023.09.14 2 NA C1 1.466 1410.0
1102011040

11041+
#quadratic_bond CL&P-g
11042+
11043+
> E = K2 * (R - R0)^2
11044+
11045+
@units R0 nm
11046+
@units K2 kJ/mol/nm^2
11047+
11048+
! Version Ref I J R0 K2
11049+
!--------- ---- -------- -------- -------- --------
11050+
2025.05.16 8 B Fbob 0.13820 323500.0
11051+
2025.05.16 8 B Obob 0.15067 267776.0
11052+
2025.05.16 8 Cbob Cbob 0.15542 392459.2
11053+
2025.05.16 8 Cbob Obob 0.13227 267776.0
11054+
2025.05.16 8 Cbob O2bob 0.12140 548900.0
1102111055

1102211056
#quadratic_angle CL&P
1102311057

@@ -11028,6 +11062,7 @@
1102811062

1102911063
! Version Ref I J K Theta0 K2
1103011064
!--------- ---- -------- -------- -------- -------- --------
11065+
2025.05.16 7 FB B FB 109.5 669.5
1103111066
! 2023.01.29 3 FP P FP 90.0 1165.0 replaced by tabulated form
1103211067
2023.09.13 3 Sbt Nbt Sbt 125.6 671.0
1103311068
2023.09.13 3 O N S 113.6 789.0
@@ -11051,6 +11086,14 @@
1105111086
2023.01.29 1 NA opls_18 opls_18 112.70 58.35
1105211087
!2023.01.29 1 opls_18 opls_18 opls_85 110.70 37.50
1105311088
2023.01.29 1 NA opls_18 opls_85 110.70 37.50
11089+
! BOB and DFOB
11090+
2025.05.16 8 Fbob B Fbob 111.820 669.500
11091+
2025.05.16 8 Fbob B Obob 110.300 669.500
11092+
2025.05.16 8 Obob B Obob 103.510 774.880
11093+
2025.05.16 8 B Obob Cbob 110.350 502.080
11094+
2025.05.16 8 Obob Cbob Cbob 107.890 585.760
11095+
2025.05.16 8 O2bob Cbob Cbob 125.500 527.180
11096+
2025.05.16 8 Obob Cbob O2bob 126.600 585.760
1105411097

1105511098

1105611099
#simple_fourier_angle CL&P
@@ -11102,6 +11145,14 @@
1110211145
! 2023.09.14 2 H*-C*-C*-H* 0 0 1.331
1110311146
! 2023.09.14 2 C*-C*-C*-C* 0.728 -0.657 1.167
1110411147

11148+
! BOB and DFOB
11149+
2025.05.16 8 Fbob B Obob Cbob 0.00000 0.00000 3.17980 0.00000
11150+
2025.05.16 8 Obob B Obob Cbob -1.56900 -5.68187 0.01670 0.00000
11151+
2025.05.16 8 B Obob Cbob Cbob 0.00000 12.55200 0.00000 0.00000
11152+
2025.05.16 8 B Obob Cbob O2bob 0.00000 12.55200 0.00000 0.00000
11153+
2025.05.16 8 Obob Cbob Cbob Obob 0.00000 30.33400 0.00000 0.00000
11154+
2025.05.16 8 Obob Cbob Cbob O2bob 0.00000 30.33400 0.00000 0.00000
11155+
2025.05.16 8 O2bob Cbob Cbob O2bob 0.00000 30.33400 0.00000 0.00000
1110511156

1110611157

1110711158
#improper_opls CL&P
@@ -11117,6 +11168,7 @@
1111711168
2023.09.14 2 * * NA * 8.37
1111811169
2023.09.14 2 * * CW * 9.2
1111911170
2023.09.14 2 * * CR * 9.2
11171+
2025.05.16 8 Obob Cbob Cbob O2bob 9.20480
1112011172

1112111173

1112211174

@@ -11136,6 +11188,99 @@
1113611188
!--------- ---- -------- -------- -------- --- -------- --- ------ ------ ----------
1113711189
2023.08.25 5 FP P FP E 1165.0 4 1.606 2000.0 0.001
1113811190

11191+
#fragments CL&P
11192+
11193+
{
11194+
"BF4": {
11195+
"2025.05.16": {
11196+
"name": "tetrafluoroborate",
11197+
"InChIKey": "ODGCEQLVLXJUCC-UHFFFAOYSA-N",
11198+
"SMILES": "[B-](F)(F)(F)F",
11199+
"SMARTS": "[B-]([F])([F])([F])[F]",
11200+
"atom types": [
11201+
"B",
11202+
"FB",
11203+
"FB",
11204+
"FB",
11205+
"FB"
11206+
],
11207+
"reference": 7
11208+
}
11209+
},
11210+
"O=C1O[B-]2(OC1=O)OC(=O)C(=O)O2": {
11211+
"2025.05.16": {
11212+
"name": "1,4,6,9-tetraoxa-5-boranuidaspiro[4.4]nonane-2,3,7,8-tetrone",
11213+
"common names": ["BOB", "bis(oxalato)borate"],
11214+
"InChIKey": "IKHPCVLSMLIHHR-UHFFFAOYSA-N",
11215+
"SMILES": "O=C1O[B-]2(OC1=O)OC(=O)C(=O)O2",
11216+
"SMARTS": "[B-]12(OC(=O)C(=O)O1)OC(=O)C(=O)O2",
11217+
"atom types": [
11218+
"B",
11219+
"Obob",
11220+
"Cbob",
11221+
"O2bob",
11222+
"Cbob",
11223+
"O2bob",
11224+
"Obob",
11225+
"Obob",
11226+
"Cbob",
11227+
"O2bob",
11228+
"Cbob",
11229+
"O2bob",
11230+
"Obob"
11231+
],
11232+
"charges": [
11233+
0.785632,
11234+
-0.497707,
11235+
0.605242,
11236+
-0.553943,
11237+
0.605242,
11238+
-0.553943,
11239+
-0.497707,
11240+
-0.497707,
11241+
0.605242,
11242+
-0.553943,
11243+
0.605242,
11244+
-0.553943,
11245+
-0.497707
11246+
],
11247+
"reference": 8
11248+
}
11249+
},
11250+
"O=C1O[B-](F)(F)OC1=O": {
11251+
"2025.05.16": {
11252+
"name": "2,2-difluoro-1,3-dioxa-2-boranuidacyclopentane-4,5-dione",
11253+
"common names": ["DFOB", "difluoro(oxalato)borate"],
11254+
"InChIKey": "CKSNGRFEJKNBMU-UHFFFAOYSA-N",
11255+
"SMILES": "O=C1O[B-](F)(F)OC1=O",
11256+
"SMARTS": "F[B-]1(F)OC(=O)C(=O)O1",
11257+
"atom types": [
11258+
"Fbob",
11259+
"B",
11260+
"Fbob",
11261+
"Obob",
11262+
"Cbob",
11263+
"O2bob",
11264+
"Cbob",
11265+
"O2bob",
11266+
"Obob"
11267+
],
11268+
"charges": [
11269+
-0.458552,
11270+
0.943418,
11271+
-0.458552,
11272+
-0.523849,
11273+
0.588616,
11274+
-0.577924,
11275+
0.588616,
11276+
-0.577924,
11277+
-0.523849
11278+
],
11279+
"reference": 8
11280+
}
11281+
}
11282+
}
11283+
1113911284
#templates CL&P
1114011285
{
1114111286
"P": {
@@ -11549,3 +11694,33 @@ number = {10},
1154911694
volume = {114},
1155011695
}
1155111696
#end
11697+
11698+
#reference 7
11699+
@Author Paul Saxe
11700+
@Date 2025-5-16
11701+
11702+
11703+
CL&P force field for ionic liquids
11704+
11705+
IL force field:
11706+
J.N. Canongia Lopes, A.A.H. Padua et al.
11707+
1) J Phys Chem B 108 (2004) 2038, DOI: 10.1021/jp0362133;
11708+
2) J Phys Chem B 108 (2004) 11250, DOI: 10.1021/jp0476996;
11709+
3) J Phys Chem B 108 (2004) 16893, DOI: 10.1021/jp0476545;
11710+
4) J Phys Chem B 110 (2006) 19586, DOI: 10.1021/jp063901o;
11711+
5) J Phys Chem B 110 (2008) 5039, DOI: 10.1021/jp800281e;
11712+
6) J Phys Chem B 110 (2010) 3592, DOI: 10.1021/jp9120468
11713+
11714+
@misc{agilio_padua_2019_3250840,
11715+
author = {Agilio Padua and
11716+
Kateryna Goloviznina},
11717+
title = {agiliopadua/ilff: Update},
11718+
month = jun,
11719+
year = 2019,
11720+
publisher = {Zenodo},
11721+
version = {v1.1},
11722+
doi = {10.5281/zenodo.3250840},
11723+
url = {https://doi.org/10.5281/zenodo.3250840},
11724+
}
11725+
#end
11726+

forcefield_step/data/reaxff/CHNO_HNS_2014.frc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,5 +262,11 @@ T.-R. Shan, R. R. Wixom, A. P. Thompson,
262262
"Atomistic Simulation of Nanoscale Void-Enhanced Initiation in Hexanitrostilbene",
263263
Proc. 15th International Detonation Symposium, pp. 962-969, SAND Number: SAND2014-15518J
264264

265+
@techreport{shan2014nanoscale,
266+
title={Nanoscale Void-Enhanced Initiation in Hexanitrostilbene: Reactive Molecular Dynamics Simulations.},
267+
author={Shan, Tzu-Ray and Wixom, Ryan R and Thompson, Aidan Patrick},
268+
year={2014},
269+
institution={Sandia National Lab.(SNL-NM), Albuquerque, NM (United States)}
270+
}
265271

266272
#end

forcefield_step/ligpargen.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,8 @@ def add_to_ff(ff, configuration, data):
214214
except Exception:
215215
name = None
216216
inchikey = configuration.inchikey
217-
canonical_smiles = configuration.to_smiles(canonical=True, rdkit=True)
218-
smarts = configuration.to_smiles(hydrogens=True, rdkit=True)
217+
canonical_smiles = configuration.to_smiles(canonical=True)
218+
smarts = configuration.to_smiles(hydrogens=True)
219219

220220
# Find the next available reference number
221221
ref = 0
@@ -748,13 +748,13 @@ def run():
748748
changed = True
749749
system = db.create_system(name=smiles)
750750
configuration = system.create_configuration(name="initial")
751-
configuration.from_smiles(smiles, rdkit=True)
751+
configuration.from_smiles(smiles)
752752

753-
canonical_smiles = configuration.to_smiles(canonical=True, rdkit=True)
753+
canonical_smiles = configuration.to_smiles(canonical=True)
754754

755755
# Recreate the system from the canonical SMILES to get the order of atoms
756756
system.name = canonical_smiles
757-
configuration.from_smiles(canonical_smiles, rdkit=True)
757+
configuration.from_smiles(canonical_smiles)
758758

759759
read_structure_step.write(
760760
"structure.mol",

0 commit comments

Comments
 (0)