constrained QEq

Hello list:
I’m trying to simulate the dielectric response of a liquid in a charged nanotube. In my model, the charges on the atoms of the nanotube are obtained from an external code, and I would like to use the QEq method to dynamically calculate the charge on the liquid during MD. I initially thought that I would simply change the QEq group to include the liquid alone, but of course this did not work, since in this case, the charged nanotube was not considered in the QEq equations. IMO, what is required is a constrain (flag?) in QEq that would effectively freeze the charge on certain atoms. Before I go diving (hacking) into the code, I was hoping that someone have any thoughts on how I would go about implementing this, or know of an easier solution.

Thanks!
–Mike

Hello list:
I'm trying to simulate the dielectric response of a liquid in a charged
nanotube. In my model, the charges on the atoms of the nanotube are obtained
from an external code, and I would like to use the QEq method to dynamically
calculate the charge on the liquid during MD. I initially thought that I
would simply change the QEq group to include the liquid alone, but of course
this did not work, since in this case, the charged nanotube was not
considered in the QEq equations. IMO, what is required is a constrain
(flag?) in QEq that would effectively freeze the charge on certain atoms.
Before I go diving (hacking) into the code, I was hoping that someone have
any thoughts on how I would go about implementing this, or know of an easier
solution.

i think digging into the code is the right approach here. a minimal
approach would be to pass an additional flag for a secondary group of
atoms where the charges are simply not updated. adding constraints to
the various charge equilibration strategies could be a secondary
strategy to improve the quality of the equilibration. i would expect
that at least with the extended lagrangian method (qeq/dynamic) even
the minimal approach should give reasonable results.

axel.

You may want to keep an open mind and vigilant eye here. From the charge equilibration perspective you are pretty much asking your liquid to feel the nanotube but for the nanotube not to feel the liquid which “feels” like breaking the symmetric character of the matrix. Take for example the case of 1 liquid atom and 1 nanotube atom. In general you will not be able to satisfy the two equations at once: the charge on the liquid is automatically determined by the overall charge neutrality if you know in advance the nanotube charge, yet, at the same time the charge for the liquid has to satisfy the zero condition for the first derivative of the energy for a combination of params and distances.

I have not gone any further with my analysis but…

Carlos

Hi Carlos:
Point taken about the charge symmetry, although in my case what I want to do would effectively be solving the QEq equations subject to an external potential, i.e. different boundary conditions. This may mean ultimately rederiving the equations, but I will attempt Axel’s suggestion to see if it gives something reasonable.

Thanks to all,

–Mike

You may want to keep an open mind and vigilant eye here. From the charge equilibration perspective you are pretty much asking your liquid to feel the nanotube but for the nanotube not to feel the liquid which “feels” like breaking the symmetric character of the matrix. Take for example the case of 1 liquid atom and 1 nanotube atom. In general you will not be able to satisfy the two equations at once: the charge on the liquid is automatically determined by the overall charge neutrality if you know in advance the nanotube charge, yet, at the same time the charge for the liquid has to satisfy the zero condition for the first derivative of the energy for a combination of params and distances.

I have not gone any further with my analysis but…

Carlos

Not only the symmetry but also depending on your system you may be reducing the problem to a underdefined/overdefined system of equations. Just make sure you understand your math/physics before you go ahead and code. Your brain is still the most creative tool you have.

Carlos

Yes, I second with Carlos’ opinion that it is better to understand the math and work out the equations and derivatives before modifying the code. A hack to the code might be easy and by coincidence it might actually give expected results, but nobody (you, colleagues, advisors, nor journal reviewers) can know for sure if the results are really reasonable and physical. Just my 2 cents here.

Ray

Yes, I second with Carlos' opinion that it is better to understand the math
and work out the equations and derivatives before modifying the code. A
hack to the code might be easy and by coincidence it might actually give
expected results, but nobody (you, colleagues, advisors, nor journal
reviewers) can know for sure if the results are really reasonable and
physical. Just my 2 cents here.

well, not saying that any of the statements are wrong, but keep in
mind that in the QM/MM community these things done all the time. only
that they usually put a (polarizable) QM object into a
(non-polarizable) MM force field environment. additional polarization
functions are usually only added to MM atoms when the QM/MM split goes
right through a bond.

of course, the resulting accuracy will be limited (which made a lot of
people drop QM/MM like a hot potato after they found out that errors
from purely classical MD can be smaller).

axel.

My trivial two atom example with a constrain on one of the charges is a case that will not work no matter who’s doing the coding or from which community he/she comes from.

Surely things along these lines have been tried before. Mike can benefit from both the numerical advice on the coding side as well as from a more fundamental one which relates to always understanding the model at hand before asking the machine to spit out some numbers.

Carlos