Message Boards Message Boards

0
|
4193 Views
|
3 Replies
|
4 Total Likes
View groups...
Share
Share this post:

Reported bugs follow-up on new Mathematica versions

What is the "correct" way to check with WR why a reported bug was not corrected on a newer Mathematica version (or other products...)?

I can think of different reasons: no time/priority, not a bug, etc. And I have no trouble accepting any of the reasons, but I wonder if there's a communication channel, different than just the exchange of e-mails, to know the state of our reports.

My question comes from the fact that this following "bug", that seemed, at the same time, extremely dangerous and easily correctable, is still unsolved at 10.0.1. :

  • running the following code, as it is, or after substituting all “acc” variable appearances with a completely different name (like, for instance, “volume”), both on a fresh kernel, gives different results. Considering that acc starts with a lower case, I imagined this shouldn’t happen (and there are other lower case variables that suffer from the same problem, on this same piece of code).
a = 80; le = 62; g = 9.8; tf = 50; b = 3.4; r = 5.86/le; ppa = 32*22;

ans = Flatten@
   NDSolve[{b*u[t, x]*Derivative[0, 1][h][t, x] + 
       b*h[t, x]*Derivative[0, 1][u][t, x] + 
       b*Derivative[1, 0][h][t, x] == 
      r, (r*u[t, x])/(b*g*
          h[t, x]) + (Abs[u[t, x]]*(b + 2*h[t, x])^(4/3)*
          u[t, x])/(a^2*(b*h[t, x])^(4/3)) + 
       Derivative[0, 1][h][t, 
        x] + (u[t, x]*Derivative[0, 1][u][t, x])/g + 
       Derivative[1, 0][u][t, x]/g == 0, 
     Derivative[1, 0][acc][t, x] == b*h[t, x]*u[t, x], 
     h[0, x] == 1*ppa/ppa, u[0, x] == 0, h[t, le] == acc[t, le]/ppa, 
     u[t, 0] == 0, acc[0, x] == 1*ppa}, {u, h, acc}, {t, 0, tf}, {x, 
     0, le}];

(h /. ans)[tf, 0]

POSTED BY: Pedro Fonseca
3 Replies

Ilian : thank you for the update!

Marco : interesting finding. That's why it was so easy to find other variables' names that gave the wrong answer...

Pedro

POSTED BY: Pedro Fonseca

Hi,

I cannot contribute much, but it appear that if the variable name, in your example "acc" or "volume", is in lexicographical ordering small, the result is 2.38994, if it is later in the order it is 1.35899. So I played a while and noted that the transition seems to be somewhere close to "h". If your variable is anything up to, say gzzzzzzzz the result will be 2.38994, for haaaaaa and later will give 1.35899.

So

a = 80; le = 62; g = 9.8; tf = 50; b = 3.4; r = 5.86/le; ppa = 32*22;

ans = Flatten@
   NDSolve[{b*u[t, x]*Derivative[0, 1][h][t, x] + 
       b*h[t, x]*Derivative[0, 1][u][t, x] + 
       b*Derivative[1, 0][h][t, x] == 
      r, (r*u[t, x])/(b*g*
          h[t, x]) + (Abs[u[t, x]]*(b + 2*h[t, x])^(4/3)*
          u[t, x])/(a^2*(b*h[t, x])^(4/3)) + 
       Derivative[0, 1][h][t, 
        x] + (u[t, x]*Derivative[0, 1][u][t, x])/g + 
       Derivative[1, 0][u][t, x]/g == 0, 
     Derivative[1, 0][gzzzzz][t, x] == b*h[t, x]*u[t, x], 
     h[0, x] == 1*ppa/ppa, u[0, x] == 0, 
     h[t, le] == gzzzzz[t, le]/ppa, u[t, 0] == 0, 
     gzzzzz[0, x] == 1*ppa}, {u, h, gzzzzz}, {t, 0, tf}, {x, 0, le}];

(h /. ans)[tf, 0]

gives 2.38994 and

a = 80; le = 62; g = 9.8; tf = 50; b = 3.4; r = 5.86/le; ppa = 32*22;

ans = Flatten@
   NDSolve[{b*u[t, x]*Derivative[0, 1][h][t, x] + 
       b*h[t, x]*Derivative[0, 1][u][t, x] + 
       b*Derivative[1, 0][h][t, x] == 
      r, (r*u[t, x])/(b*g*
          h[t, x]) + (Abs[u[t, x]]*(b + 2*h[t, x])^(4/3)*
          u[t, x])/(a^2*(b*h[t, x])^(4/3)) + 
       Derivative[0, 1][h][t, 
        x] + (u[t, x]*Derivative[0, 1][u][t, x])/g + 
       Derivative[1, 0][u][t, x]/g == 0, 
     Derivative[1, 0][haaa][t, x] == b*h[t, x]*u[t, x], 
     h[0, x] == 1*ppa/ppa, u[0, x] == 0, h[t, le] == haaa[t, le]/ppa, 
     u[t, 0] == 0, haaa[0, x] == 1*ppa}, {u, h, haaa}, {t, 0, tf}, {x,
      0, le}];

(h /. ans)[tf, 0]

gives 1.35899.

Note that one of the integration variables is called h.

Cheers, Marco

POSTED BY: Marco Thiel

Contacting support@wolfram.com seems like the best way, since they will have a record of when the issue was originally reported and can check the report's current status (though they will likely not be able to answer any 'why' questions).

For this particular issue, the developers are aware of it and looking into the problem. It should be addressed in a future version.

POSTED BY: Ilian Gachevski
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract