Hydrotrope Demo

Quick Start

In the RDF Demo you got a feel for what happens when two molecules interact. Here we have a solute, in yellow, and we want to enhance its solubility in the solvent, red, using a hydrotrope (such as urea), blue

People have speculated for decades about how hydrotropes work, focussing on the water-water attraction ("water structure") and hydtrope-hydrotrope interaction ("pseudo micelles"). In fact, as the app shows, the only thing that matters is solute-hydrotrope attraction. This should have been obvious, but wasn't. It takes KB to make things clear.

As before, click Start and once things settle down, play with the relative attractions to get a feel about how to make the solute "happy" in solution.

Hydrotrope Demo

Density
Size2
x2
T-Step
PerFrame
Attr11
Attr22
Attr12
Attru1
Attru2
xu
Sizeu
N/Edge
Steps/s
N atoms
μ1
μ2
μu
G11
G22
G12
Gu1
Gu2

This app assumes familiarity with the RDF Demo. It adds a 3rd molecule, a solute, and explores what happens to the RDF with different values of the different "attractive" forces. In particular, it is looking to see how to increase the solubility of the solute, u, via addition of a "hydrotrope" molecule, 2, to a solvent, 1, which doesn't especially like the solute so gives a low unaided solubility.

Like the RDF Demo, this app is based on the excellent code from Dr Daniel V. Schroeder's Interactive Molecular Dynamics app and I warmly thank Dr Schroeder for his generosity in allowing me to use the code from that app plus extracts from some of his other MD code.

Don't be disconcerted by artefacts during the "annealing" process at the start. Setting up a grid of molecules isn't easy and the initial annealing gets rid of many of the start-up artefacts.

Assuming that you know from the RDF Demo basically what is going on, you can focus on the way that a hydrotrope (molecule 2) can increase the solubility of a solute, u. But first we need to do a few runs with the default settings to see some apparently odd behaviour. The run starts and the RDFs look a mess. This is because the statistics on the low level of solute are too noisy. Suddenly there is a change and then the plot starts to settle down. The longer you run it, the smoother it gets. The code simply takes the long-term average of the RDF to smooth out the noise, but it has to reject the start-up highly ordered values which are clearly not relevant. Clicking the Re-Average button re-sets the long term average if you think it might be "stuck" in some statistical anomaly.

Although the app cannot calculate the solubility, it can calculate the chemical potential of the solute via the Widom insertion method described in the RDF Demo. The more negative this is for the solute, μu, the happier the solute. Because the solute is generally difficult to dissolve, it is present only in small amounts, limited in the app to xu=0.1 (which is a bit on the high side). And because the hydrotrope, 2, is not intended to be a major feature, it is limited to x2=0.4. The simulation allows realistic u-u dynamics, but because u-u pairs are relatively rare, the RDF guu is not calculated.

When everything attracts each other equally, there is no reason that the solute should be especially happy, so the hydrotrope 2 has no significant effect. So you can take whatever is μu with all attractions=1 as the baseline value.

Conventional wisdom says that a hydrotrope has to self-associate to solubilise the solute. Well, try it. Set Attr22 to 2. This does nothing for the solute, for the obvious reason that any 2's that are attracted to other 2's are less likely to be attracted to the solute.

So now try setting Attru2 to 2. You see, once the calculation settles down, a large gu2 peak in the RDF but you also see that μu decreases, indicating that the solute is "happier" and therefore will have a higher solubility.

When you analyse real hydrotrope systems you find that the Gu2 value (i.e. the KB integral) is greatly enhanced with good hydrotropes and G22 is not much changed (or if it has increased then that reduces the overall effect). So the Gij values are calculated in the app from the RDF, but requiring the gij long-term average to be 1 to give meaningful values. Hence the trick discussed above.

When people hear that the hydrotrope increases solubility via increased association with the solute, they tend to hear "increases solubility by forming a complex with the solute", especially if they are told that the excess number (the number of hydroropes in the vicinity of the solute compared to a random state) is, say, 2. But when you look at the simulation rather than the RDF you see that 2's and u's are indeed a bit more likely to be together than when Attru2 = 1, but there is no trace of "complex" formation. This is statistical thermodynamics and the hydrotope effect is a statistical effect.