Problem with user-defined force field

Dear Q-Chem specialists!

I tried to perform geometry optimization calculations using user-defined force field (as in chapter 11.3.2.3 of Q-Chem manual). Unfortunately, I am getting segmentation fault.

Here is what I did:
Step 1.: I used prof. Jorgensen’s LigParGen server to generate OPLS parameters for the uracil molecule using its SMILES code.
Step 2.: I found the *.prm file inside the package.
Step 3.: I modified it accordingly to Q-Chem manual
Step 4.: I prepared input file and I am getting segmentation fault

So here is my input file:

$rem
JOBTYPE OPT
GEOM_OPT_MAX_CYCLES 1000
FORCE_FIELD READ
USER_CONNECT TRUE
$end

$molecule
0 1
N 0.00500 0.71700 1.16300 1 3 4 7 0
N -0.00000 2.71600 0.00000 3 8 4 5 0
H -0.06500 0.23400 2.06500 7 1 0 0 0
C 0.02500 2.08500 1.21200 2 1 2 11 0
C -0.02600 2.09100 -1.21400 4 2 12 6 0
C 0.00200 0.61400 -1.18500 5 5 7 9 0
C 0.00000 0.00000 0.00000 6 1 10 6 0
H -0.07000 3.72700 0.02500 9 2 0 0 0
H -0.00900 0.08700 -2.12800 11 6 0 0 0
H -0.01500 -1.08000 0.10100 12 7 0 0 0
O 0.04300 2.70900 2.27000 8 4 0 0 0
O -0.08600 2.69900 -2.28100 10 5 0 0 0
$end

$force_field_params
Filename /net/people/plgzonkil9/params_plg.prm
$end

And here is my force field parameters file:

//-- Force Field Example --//

// – Rules – //

RadiusRule Geometric
RadiusSize Diameter
EpsilonRule Geometric
ImptorType Trigonometric
vdw-14-scale 2.0
chg-14-scale 2.0
torsion-scale 0.5

NAtom 12
Nvdv 6

// – Atoms – //

Atom 1 -0.60 1 N1
Atom 2 0.50 2 C2
Atom 3 -0.51 1 N3
Atom 4 0.45 2 C4
Atom 5 -0.07 3 C5
Atom 6 0.08 3 C6
Atom 7 0.41 4 H-N1
Atom 8 -0.40 5 O-C2
Atom 9 0.36 4 H-N3
Atom 10 -0.42 5 O-C4
Atom 11 0.10 6 H-C5
Atom 12 0.10 6 H-C6

// – vdw – //

vdv 1 3.25 0.170
vdv 2 3.75 0.105
vdv 3 3.50 0.080
vdv 4 0.00 0.000
vdv 5 2.96 0.210
vdv 6 2.50 0.050

// – Bond – //

Bond 2 5 1140.0 1.2290
Bond 1 2 836.0 1.3880
Bond 3 1 896.0 1.3650
Bond 3 3 1098.0 1.3400
Bond 2 3 820.0 1.4440
Bond 4 1 868.0 1.0100
Bond 6 3 734.0 1.0800

// – Angle – //

Angle 5 2 1 160.0 120.60
Angle 2 1 3 140.0 121.60
Angle 1 3 3 140.0 121.20
Angle 3 3 2 170.0 120.70
Angle 3 2 5 160.0 125.30
Angle 1 3 6 70.0 120.00
Angle 2 1 4 70.0 116.80
Angle 3 2 1 140.0 114.10
Angle 3 1 4 70.0 119.20
Angle 2 1 2 140.0 126.40
Angle 3 3 6 70.0 120.00
Angle 2 3 6 70.0 120.00
Angle 1 2 1 140.0 118.60

// – Torsion – //

Torsion 3 1 2 5 3.04450 180.00000 1
Torsion 3 3 1 2 0.00000 0.00000 1
Torsion 2 3 3 1 7.00000 180.00000 1
Torsion 5 2 3 3 3.00000 180.00000 1
Torsion 6 3 1 4 5.00000 180.00000 1
Torsion 1 2 1 3 3.62500 180.00000 1
Torsion 6 3 1 2 0.00000 0.00000 1
Torsion 2 1 2 5 2.45000 180.00000 1
Torsion 4 1 2 3 2.45000 180.00000 1
Torsion 4 1 2 5 2.45000 180.00000 1
Torsion 1 2 3 3 1.00000 0.00000 1
Torsion 6 3 3 1 3.62500 180.00000 1
Torsion 3 2 1 2 0.00000 0.00000 1
Torsion 6 3 2 1 0.00000 0.00000 1
Torsion 4 1 2 5 2.45000 180.00000 1
Torsion 4 1 2 1 2.45000 180.00000 1
Torsion 6 3 2 5 0.00000 0.00000 1
Torsion 6 3 3 2 7.00000 180.00000 1
Torsion 5 2 1 2 2.45000 180.00000 1
Torsion 6 3 3 6 7.00000 180.00000 1
Torsion 4 1 3 3 2.45000 180.00000 1
Torsion 2 1 2 1 3.04450 180.00000 1

// – Improper – //

Improper 1 2 5 1 10.50000 180.00000 1
Improper 4 1 2 3 2.50000 180.00000 1
Improper 6 3 1 3 2.50000 180.00000 1
Improper 6 3 3 2 2.50000 180.00000 1
Improper 4 1 2 2 2.50000 180.00000 1
Improper 1 2 3 5 10.50000 180.00000 1

I feel that the problem is related to my *.prm file… Something with keywords? I don’t know.

I also tried to perform test calculations using the TIP3P water example in the Q-Chem manual and it ran smoothly.

Can somebody help me with my struggle?

There is an issue with the syntax of the prm file.

Nvdv 6

vdv 1 3.25 0.170
vdv 2 3.75 0.105
vdv 3 3.50 0.080
vdv 4 0.00 0.000
vdv 5 2.96 0.210
vdv 6 2.50 0.050

should be

Nvdw 6

vdw 1 3.25 0.170
vdw 2 3.75 0.105
vdw 3 3.50 0.080
vdw 4 0.00 0.000
vdw 5 2.96 0.210
vdw 6 2.50 0.050

This change stops Q-Chem from segfaulting, but there is still some issue with geometry optimization that we are currently investigating.

1 Like

I corrected the syntax and, indeed, the segmentation fault disappeared. Thank you!

But what about the geometry optimization? Any ideas how to deal with this “Hessian appears to have all zero or negative eigenvalues” error?

At this point it’s not entirely clear what’s happening with this geometry optimization. I will post here once we figure it out.