Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive

MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

change of variables

  • To: mathgroup at
  • Subject: [mg81963] change of variables
  • From: "Chris Chiasson" <chris at>
  • Date: Sun, 7 Oct 2007 23:58:07 -0400 (EDT)

I don't understand the method for change of variables in the old MG
thread about contour integration. Could someone please explain
whatever standard method there is for a change of integration
variables in Mathematica? I only need the single variable case, but it
would be helpful to see the multidimensional extension.

Here is the integral I am working on, from Debye and Huckel's first
paper of the theory of electrolytes:

Subscript[\[CapitalPhi], e] == \[Integral]Subscript[U, e]/
   T^2 \[DifferentialD]T

\Phi_e is the electrostatic contribution to the Gibbs free entropy
(yea, entropy) for an electrolyte solution.

The electric contribution to the internal energy is
eqn@Ue = Subscript[U, e] == -\!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(s\)]\(
SubscriptBox[\(N\), \(i\)]
\*SubsuperscriptBox[\(z\), \(i\), \(2\)]\), \(2\)]
SuperscriptBox[\(q\), \(2\)] \[Kappa]\), \(4
SubscriptBox[\(\[Pi]\[CurlyEpsilon]\), \(r\)]
\*SubscriptBox[\(\[CurlyEpsilon]\), \(0\)]\)]
\*FractionBox[\(1\), \(1 + \[Kappa]
\*SubscriptBox[\(a\), \(i\)]\)]\)\)


eqn@\[Kappa] = \[Kappa]^2 == \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(s\)]
SubsuperscriptBox[\(z\), \(i\), \(2\)]
SuperscriptBox[\(q\), \(2\)]
\*SubsuperscriptBox[\(n\), \(i\), \(o\)]\), \(
SubscriptBox[\(\[CurlyEpsilon]\), \(r\)]
SubscriptBox[\(\[CurlyEpsilon]\), \(0\)]
SubscriptBox[\(k\), \(B\)] T\)]\)

\kappa^{-1} is the Debye screening length, a measure of the size of
the ionic atmosphere around a particular ion in an electrolyte. As can
be seen by the definition, \kappa is a function of 1/T. However,
integrating with respect to T (which is constant for any given
solution, as is \kappa) isn't particularly informative. Instead, Debye
and Huckel integrate from \kappa = 0 to its value for the solution
under consideration. \kappa = 0 corresponds to an infinite screening
length and infinite dilution of the solution, thus \Phi_e is zero at
\kappa=0. For more info on the physics, see:

So, taking the differential of the defining equation for \kappa gives

factorOut =
  HoldPattern[Sum][expr_. factor_, its__] /;
    FreeQ[factor, Alternatives[its][[All, 1]]] :>
   factor Sum[expr, its];
deqn@d\[Kappa] =
 D[eqn@\[Kappa], blah, NonConstants -> {\[Kappa], T}] /. factorOut /.
  HoldPattern[D][xpr_, ___] :> Dt[xpr]

2 \[Kappa] Dt[\[Kappa]] == -((q^2 Dt[T] \!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(s\)]\(
\*SubsuperscriptBox[\(n\), \(i\), \(o\)]\
\*SubsuperscriptBox[\(z\), \(i\), \(2\)]\)\))/(
  T^2 Subscript[k, B] Subscript[\[CurlyEpsilon], 0]
    Subscript[\[CurlyEpsilon], r]))

(factorOut is a slightly modified version of a function in an old
MathGroup thread)

By hand, I think the next step would be to solve the equation for the
differential Dt[T] and replace that in the integral. Things aren't so
simple in Mathematica. I am going to try to program my own function
for this, but I hope someone already has a good solution ready to go.

Thanks for your time.


  • Prev by Date: Re: Best way to save data in notebooks
  • Next by Date: Re: Plot3D with NDSolve
  • Previous by thread: help please with a non-working V6 palette
  • Next by thread: Issue with Locator's crosshairs object