Hello everyone!
I want to make a molecule occasionally approach a surface and react with it in a NVT ensemble production run. I don't want it fixed in predetermined coordinates and I don't want it to fly away or to wait for too long of a trajectory.
For now I don't want to study the reaction's thermodynamics.
Experimentally the reaction occurs.
I tried the following approaches without success:
I defined a COLVAR for the distance between one surface atom (Si) and the center atom (C) of the gas phase reagent molecule (methane)
&COLVAR
&DISTANCE
AXIS XYZ !DEF XYZ, ANY COMBINATION
ATOMS 50 81
&END DISTANCE
&END COLVAR
and then I defined a CONSTRAINT
&CONSTRAINT
&COLLECTIVE
COLVAR 2
INTERMOLECULAR
TARGET [angstrom] 1.87
TARGET_GROWTH [angstrom*fs^-1] 0.25
TARGET_LIMIT [angstrom] 5.0
&END COLLECTIVE
&END CONSTRAINT
The result is that both atoms get closer too quickly and the system gets an unphysical geometry - the Si kind of moves too far away from it's lattice and the C abandons its hydrogens. The remperature rises too quickly to unbelievable degrees, the calculation slows down and eventually the program dies.
My cell is defined just fine, with enough space for the gas reagent to move around. I use a XYZ PBC with space left in one dimension so it effectively becomes 2D. In that space is the reacting molecule.
I tried playing with TARGET_GROWTH with many values from 0.01 to 5.0 and the result is always the same.
In this group I read that the moment TARGET is set the atoms are also set at that distance, so I tried switching TARGET and TARGET_LIMIT, but even then the result is the same - wrong geometry, they get too close too quickly even with very low TARGET_GROWTH, too high temperature - program dies.
- Is this a bug, because it makes no sense as expected behavior ?
I also tried using a RESTRAINT:
&CONSTRAINT
&COLLECTIVE
COLVAR 2
INTERMOLECULAR
TARGET [angstrom] 3.0
&RESTRAINT
K [kcalmol] 1.0
&END RESTRAINT
&END COLLECTIVE
&END CONSTRAINT
with the COLVAR being a plane between 3 surface atoms:
&COLVAR
&DISTANCE_POINT_PLANE
&POINT
TYPE GEO_CENTER
ATOMS 8
&END POINT
&POINT
TYPE GEO_CENTER
ATOMS 21
&END POINT
&POINT
TYPE GEO_CENTER
ATOMS 28
&END POINT
&POINT
TYPE GEO_CENTER
ATOMS 81
&END POINT
ATOMS_PLANE 1 2 3
ATOM_POINT 4
&END DISTANCE_POINT_PLANE
&END COLVAR
and the gas phase reagent does not stop at the TARGET distance, instead it gets inserted into the Si lattice, pushing Si atoms away, inserting both C and H from the methane and one of the hydrogens flied far away. Temperature goes anomalously high, program slows down, dies. At least it took some time and steps to get to the wrong point.
- Why didn't the molecule stop at the surface, while experiencing the forces of the lattice atoms ?
- Why did it do beyond the TARGET distance ?
- Is this a bug ?
Can I use metadynamics in any way to push the molecule towards the surface for a reaction to occur ? Once again, I'm not interested in studying the FES or the rest of the thermodynamics.
I just need a way to get the gas phase reagent to occasionally get close enough for a reaction.
I think the answers to those question can be very useful for many.
I attach some pictures of the anomalous results. The first two are from the CONSTRAINT, the 3rd is from the RESTRAINT.
Best Regards,
Dobromir