1
|
3811 Views
|
3 Replies
|
4 Total Likes
View groups...
Share
GROUPS:

# Kernel quits while using DSolve[ ]?

Posted 2 years ago
 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 2 years ago
 I reported the NDSolve crash as a bug.
Posted 2 years 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 2 years 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 Integral`s. I don't have time to solve this problem.Regards M.I.