# Solving partial differential equation with a moving boundary

I am trying to solve a time dependent diffusion equation of a shrinking particle sphere with radius r (at time=0, let it be r[0]).The particle has a solute concentration of 100%, and the matrix solute concentration in equilibrium is C0=Exp[-Subscript[E, v]/k/T], reached infinitely far from the particle. The solute concentration at the particle surface is Cr=Exp[2*[CapitalOmega]*[Gamma]/r/k/T]*C0 because of the capillary effect.

The essence of the problem is the boundary r is dynamically changed due to diffusion.

Use the Fick's second law:

D[c[x, t], t] - Subscript[D, 0]*Exp[-(Subscript[E, m])/k/T]/\[CapitalOmega]/\[Xi]* D[D[c[x, t], x], x] == 0


With the Boundary condition:

c[x, 0] == Exp[-Subscript[E, v]/k/T] + r[0]/x*Exp[-Subscript[E, v]/k/T] (Exp[2*\[CapitalOmega]*\[Gamma]/r[0]/k/T] - 1)
c[Infinity, t] == Exp[-Subscript[E, v]/k/T]


We can list the PDE

pde = D[c[x, t], t] -
Subscript[D, 0]*Exp[-(Subscript[E, m])/k/T]/\[CapitalOmega]/\[Xi]*
D[D[c[x, t], x], x] == 0
sol = DSolve[{pde,
c[x, 0] ==
Exp[-Subscript[E, v]/k/T] +
r[0]/x*Exp[-Subscript[E, v]/k/
T] (Exp[2*\[CapitalOmega]*\[Gamma]/r[0]/k/T] - 1),
c[Infinity, t] == Exp[-Subscript[E, v]/k/T], c[r, t] == Exp[-Subscript[E, v]/k/T]*Exp[2*\[CapitalOmega]*\[Gamma]/r/k/T]}, c[x, t], {x, t}]


The symbols beside radius, time and concentrations are just parameters with real values, If you want.

T = 373;
\[Gamma] = 6.24; \[CapitalOmega] = 0.0166;
r[0] = 10; k = 8.6173324*10^\[Minus]5; Subscript[E, m] = 0.65;
Subscript[E, v] = 0.65;
Subscript[D, 0] = 1; \[Xi] = 0.781;


However, it did not work. There is a solution if I drop the c[Infinity, t] and c[r,t] boundary, but the solution contains an extra unknown function K[1]. Where went wrong...I need some helps.

Best regards,

Jack

• Obtain the DSolve solution without initial and boundary conditions, if you can, and then apply the boundary conditions to determine the unknown function. By the way, using Subscript variables in a problem like this is asking for difficulty. – bbgodfrey Aug 16 '17 at 4:40
• And, AFAIK, DSolve can't handle b.c. at infinity directly (at least now). – xzczd Aug 16 '17 at 6:11
• Have you seen this? – user21 Aug 16 '17 at 10:31