# Kernel quits while using DSolve[ ]?

Posted 1 year ago
2743 Views
|
3 Replies
|
4 Total Likes
|
 Why does my DSolve command does not solve the Non-linear ODEs?Clear["Global`*"] (*Parameters*) length = 1.5; width = 0.25; height = 0.25; area = width*height; cforce = -400; dforce = (500*(X1^2)); stress = 10*displacement'[X1] + 100000*displacement'[X1]^3; DE1 = D[stress*area, X1] + dforce; DE2 = 10*displacement'[X1] + 100000*displacement'[X1]^3 + 6400; (* Solving for the Exact Displacement Function *) solution = DSolve[{DE1 == 0, displacement[0] == 0, DE2 == 0 /. X1 -> length}, displacement[X1], X1]; displacement = displacement[X1] /. solution[[1]]; Print["The Exact Displacement Function of the Bar is"] Print[displacement]; Print[Plot[{displacement}, {X1, 0, 1.5}, AspectRatio -> 0.4, AxesLabel -> {"Bar Length (m)", "Axial Displacement (m)"}, PlotLegends -> {"Exact Displacement of the Bar"}]]; Print[" "]
3 Replies
Sort By:
Posted 1 year ago
 I tried with numerics with NDSolve the kernel shutdown looks like a bug on Mathematica 12.2.0 Maybe you can try: solution = Block[{Integrate}, DSolve[Rationalize[{DE1 == 0, displacement[0] == 0, DE2 == 0 /. X1 -> length}, 0], displacement[X1], {X1, 0, 3/2}] /. {Integrate -> Inactive[Integrate]}] // Simplify // Activate but answer is very complicated solution by InverseFunction and Integrals. I don't have time to solve this problem.Regards M.I.
Posted 1 year ago
 Thank for your help. Yes, I had also tried changing the code, as there are two DEs with one BC associated with each. But both the DEs are related, in a way creates a non-solvable loop, at least this is what it seems. There will be way to set up the problem differently, for it to be solved. I will work on this. Thanks
Posted 1 year ago
 I reported the NDSolve crash as a bug.
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments