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