espressomd-users
[Top][All Lists]

## Re:

 From: Peter Košovan Subject: Re: Date: Wed, 13 Nov 2019 10:15:38 +0100

Hi Jonas,

I think that you wanted to send your reply below to Jiaxing. Ahmed posted a different question.

I agree that you have to mutpily (pH-pKa) with nubar. This is done on line 1731 of reaction_ensemble.cpp. But this is not what Jiaxing was asking about. He asked why you multiply only pKa with nubar on line 1730. This multiplication is neither in Eq.5 of Carnal and Stoll that you cited, nor in any other publication I am aware of. If you see no connection with my answer, then can you please explain why you multiply with nubar on line 1730?

See the code:
1730   pKa = -current_reaction.nu_bar * log10(current_reaction.gamma);
1731   ln_bf = (E_pot_new - E_pot_old) - current_reaction.nu_bar * 1.0 / beta *
1732                                         log(10) * (m_constant_pH - pKa);

With regards,

Peter

On Fri, Nov 8, 2019 at 6:54 PM Jonas Landsgesell <address@hidden> wrote:
Dear Ahmed, dear Peter

As you can see for example in https://aip.scitation.org/doi/10.1063/1.3541824 in equation 5 the acceptance criterion in the MC metropolis selection criterion requires + or minus to be used depending on dissociating or associating a monomer.

"The signs minus and plus are used when the monomers are deprotonated and protonated, respectively"

This plus and minus from the above quote, are implicitly encoded in nu_bar:
Consider a reaction Consider a reaction HA <-> A- +H+. For the dissociation
dissociation HA -> A- +H+ nubar is +1, for the association H+A -> HA nubar is -1.

Please also note the asymmetric proposal probability for the dissociation and association. Dissociations are proposed with a probability proportional to N(HA) while associations are proposed with a probability proportional to N(A), where N(i) is the number of particles of type i.
In the constant pH ensemble back and forward reaction are in general not selected with equal probability.

>pKa=-log10(current_reaction.gamma)

Yes.

> Dear all,
>
> While I am reading the source code reaction_ensemble.cpp for constant pH
> ensemble, there is a function double ConstantpHEnsemble::calculate_acceptance_probability
> . In this function
> there is a line:
> pKa = -current_reaction.nu_bar * log10(current_reaction.gamma);
>
> I am confused why there is a factor current_reaction.nu_bar before (nu_bar
> is the change of the particle). It seems to me pKa is simply defined as
> pKa=-log10(current_reaction.gamma)
>
> Best,
> Jiaxing
>

I believe that this has mostly historical reasons. The reaction ensemble
was implemented first, and it was implemented such that forward and reverse
directions had to be specified separately. The constant-pH ensemble was
implemented later, using the same functions. Only then, the redundancy of
specifying the forward and reverse reaction was removed. I think that what
you just found is an artifact of that redundancy that makes the code more
complicated but has no impact on the results or on the performance

I don't see a clear connection here.

--
Dr. Peter Košovan

Department of Physical and Macromolecular Chemistry
Faculty of Science, Charles University in Prague, Czech Republic

Katedra fyzikální a makromolekulární chemie
Přírodovědecká fakulta Univerzity Karlovy v Praze

www.natur.cuni.cz/chemistry/fyzchem/
Tel. +420221951029
Fax +420224919752