I am solving pde. For the post processing bvp, there is solution given in output which is the solution from mathematica version 10.0.1.

Output from above in mathematica 10.0.1 is,output

But when the similar code executed in mathematica 12.1, gives error "General:: Exp[-717.401] is too small to represent as a normalized machine number; precision may be lost." and does not give any results. As I checked it, i tried to solve the problem by changing the exponential fuction in "SMTAddInitialBoundary". So some changes are made with the fuction by removing "-Exp" as shown ,

It gives some output but which is surely not correct output which is from mathematica 12.1, not correct output

By doing some changes in the function, I could able to understand that the problem is with "SMTAddInitialBoundary" syntax.

But at the end question is why first code does not give the solution in mathematica 12.1? I tried to find the problem but could not able to reach.

Is there a problem with mathematica version or with "SMTAddInitialBoundary"?

Thank you!

  • $\begingroup$ Related: mathematica.stackexchange.com/questions/170416/… $\endgroup$ – Michael E2 Nov 2 '20 at 5:20
  • 2
    $\begingroup$ Either the underflow doesn't matter or perhaps you can use a higher WorkingPrecision. Another possibility is to rescale the problem to avoid underflow. $\endgroup$ – Michael E2 Nov 2 '20 at 5:24
  • $\begingroup$ You can format inline code and code blocks by selecting the code and clicking the {} button above the edit window. The edit window help button ? is useful for learning how to format your questions and answers. You may also find this meta Q&A helpful $\endgroup$ – Michael E2 Nov 2 '20 at 5:25
  • 1
    $\begingroup$ This is a breaking code change in mma since version 11.3 when dealing with tiny numbers, the warning can be turned off, but it will often cause headaches when it completely breaks more complicated codes $\endgroup$ – morbo Nov 2 '20 at 10:08
  • $\begingroup$ The SetPrecision and Exp[.... // Rationalize] does not help. But rescaling the problem gives the solution as i have in previous mathematica version. What i understood about rescale is that parameter "L" in the code changes from 12000 to 11950. By doing so gives the solution without any bug. My doubt regarding rescaling is that, is this the rescaling that you suggested me? $\endgroup$ – user75507 Nov 2 '20 at 12:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.