Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I am trying to solve a system of partial differential equation with boundary conditions. But I got an error message saying NDSolve::icfail: Unable to find initial conditions that satisfy the residual function within specified tolerances. Try giving initial conditions for both values and derivatives of the functions. As I understand it, this is due to the absence of a system of equations of derivative with time of function G[t,x] and L[t,x] and solve this system can only be effected by The Numerical Method of Lines.

pde = {
  (-Derivative[1][Y21][t] - Derivative[1][Y31][t]) == -X20[t] - 
    X30[t] + Y21[t] - G1[t] (1 - Y21[t] - Y31[t]) + Y31[t],
   Derivative[1][Y21][t] == 0.01` - Y21[t] - G1[t] Y21[t],
  Derivative[1][Y31][t] == 9.9` + X30[t] - G1[t] Y31[t],
  (-Derivative[1][X20][t] - Derivative[1][X30][t]) == 
   0.2` + X20[t] - L0[t] (1 - X20[t] - X30[t]) + X30[t] - Y21[t] - 
  Derivative[1][X20][t] == 0.79` - L0[t] X20[t] + Y21[t],
   Derivative[1][X30][t] == 0.1` - X30[t] - L0[t] X30[t]}

with boundary condition:

BC = {
  Y21[0] == 0, Y31[0] == 1,
  X20[0] == 0.8, X30[0] == 0,
    G1[0] == 10, L0[0] == 1

desired = {Y21, Y31, X20, X30, G1, L0};
NDSolve[{pde, BC}, desired, {t, 0, 1000}];

I tried to discretize the system in space using the finite-volume method. (http://reference.wolfram.com/mathematica/tutorial/NDSolvePDE.html).

Maybe somebody knows the alternative method of solve that type of equations?

It is a system of differential equations describing the process of countercurrent extraction. On top of the extraction column enters the two liquid components. The gas phase enters to the bottom of column. Liquid components have different solubility in the gas phase, due to which they are separated - coming out on top of the column the gas phase enriched by one component and the liquid phase exiting from the bottom - the other. This is the differential material balances for each component in the gas and liquid phases. The boundary conditions are taken from the known composition of the feed liquid phase on top of the column (z = 10) and the known composition of the gas coming from the bottom (z = 0) is also assumed that the initial time t = 0 corresponds to the equilibrium of the two streams at full lack of mixing. All constant parameters I removed for readability equations. Detailed description of the output of the system of equations described in the article: https://www.dropbox.com/s/v3oewg2w3etszbu/article.pdf. The authors solved a similar system using the method of lines in the software package gproms. The system was discretised in space using the finite-volume method. I'm trying to solve this problem in the software package Math, using "MethodOfLines" technique, but unfortunately so far without success. I would be very grateful for any help in this matter. I apologize for my English is not the native language for me.

share|improve this question
I think your question will draw more attentions if you add some background information of the set of equations. –  xzczd Jul 5 '13 at 11:31
@xzczd Thank you, I added –  user1058051 Jul 5 '13 at 14:27
and maybe a rack of GPU processors... –  Stefan Jul 5 '13 at 14:42
Maybe you can also talk about how you created this set of equations, I mean, you can tell us what's the law behind the equations. –  xzczd Jul 5 '13 at 14:51
" …is also assumed that the initial time t = 0 corresponds to the equilibrium of the two streams at full lack of mixing. "By saying this, do you mean that the system has already been in equilibrium state at beginning? And due to your description of the background, I guess this set of equation is based on Fick's first law, right? If so, I think your equation is incorrect, you'd better check it first. –  xzczd Jul 6 '13 at 5:39
show 11 more comments

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.