Skip to content

Instantly share code, notes, and snippets.

@rsdefever
Created May 5, 2021 23:11
Show Gist options
  • Save rsdefever/c0d3cffbe26f9009e731fdd3d21a8ff6 to your computer and use it in GitHub Desktop.
Save rsdefever/c0d3cffbe26f9009e731fdd3d21a8ff6 to your computer and use it in GitHub Desktop.
Improper debugging
<ForceField>
<AtomTypes>
<Type name="c" class="c" element="C" mass="12.01" def="[C;X3][O&amp;X1,S&amp;X1]" desc="Sp2 C carbonyl group" doi="10.1002/jcc/20035"/>
<Type name="h5" class="h5" element="H" mass="1.008" def="H[C;!X4]([N,O,F,Cl,Br,I,S])([N,O,F,Cl,Br,I,S])" desc="H bonded to non-sp3 carbon with 2 d. group" doi="10.1002/jcc/20035"/>
<Type name="ho" class="ho" element="H" mass="1.008" def="HO" desc="Hydroxyl group" doi="10.1002/jcc/20035"/>
<Type name="o" class="o" element="O" mass="16.00" def="[O;X1]" desc="Oxygen with one connected atom" doi="10.1002/jcc/20035"/>
<Type name="oh" class="oh" element="O" mass="16.00" def="[O;X2]H" desc="Oxygen in hydroxyl group" doi="10.1002/jcc/20035"/>
</AtomTypes>
<NonbondedForce coulomb14scale="0.833333333" lj14scale="0.5">
<Atom type="c" charge="0.0" sigma="0.33996695084235345" epsilon="0.359824"/>
<Atom type="h5" charge="0.0" sigma="0.2421462715905442" epsilon="0.06276"/>
<Atom type="ho" charge="0.0" sigma="0.0" epsilon="0.0"/>
<Atom type="o" charge="0.0" sigma="0.2959921901149464" epsilon="0.87864"/>
<Atom type="oh" charge="0.0" sigma="0.3066473387839048" epsilon="0.8803136"/>
</NonbondedForce>
<HarmonicBondForce>
<Bond class1="c" class2="o" length="0.12183" k="533627.36"/>
<Bond class1="c" class2="oh" length="0.13513" k="334803.68"/>
<Bond class1="c" class2="h5" length="0.11051" k="267524.95999999996"/>
<Bond class1="ho" class2="oh" length="0.0973" k="310787.51999999996"/>
</HarmonicBondForce>
<HarmonicAngleForce>
<Angle class1="c" class2="oh" class3="ho" angle="1.8596483179999581" k="417.5632"/>
<Angle class1="o" class2="c" class3="oh" angle="2.131047016685076" k="635.1312"/>
<Angle class1="h5" class2="c" class3="o" angle="2.1580996200909888" k="449.36160000000007"/>
<Angle class1="h5" class2="c" class3="oh" angle="1.9109609980085913" k="444.3408"/>
</HarmonicAngleForce>
<PeriodicTorsionForce>
<Proper class1="" class2="c" class3="oh" class4="" periodicity1="2" k1="9.623199999999999" phase1="3.141592653589793"/>
<Improper class1="c" class2="" class3="oh" class4="o" periodicity1="2" k1="4.6024" phase1="3.141592653589793"/>
</PeriodicTorsionForce>
</ForceField>
import foyer
import mbuild
mol = mbuild.load("C(=O)O", smiles=True)
ff = foyer.Forcefield("improper_amber.xml")
mol_ff = ff.apply(mol)
mol_ff.save("test.gro", overwrite=True)
mol_ff.save("test.top", overwrite=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment