Re: Coupled second-order nonlinear ODEs
- To: mathgroup at smc.vnet.net
- Subject: [mg90504] Re: Coupled second-order nonlinear ODEs
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Fri, 11 Jul 2008 02:03:13 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <g54olq$f15$1@smc.vnet.net>
dkjk at bigpond.net.au wrote: > I'm trying to solve the following system > > \[Lambda]1 = 1; > \[Lambda]2 = 1; > M = 1; > v = 1; > h = 1; > m = 20; > s = NDSolve[{-1/2 (-M^2 + h \[Eta][y]^2) \[CurlyPhi][y] - > 2 \[Lambda]1 \[CurlyPhi][y]^3 + \[CurlyPhi]''[y] == > 0, -4 \[Eta][y] (-v^2 + \[Eta][y]^2) \[Lambda]2 - > h \[Eta][y] \[CurlyPhi][y]^2 + \[Eta]''[y] == 0, \[Eta][0] == > 0, \[Eta]'[0] == 1, \[CurlyPhi][0] == 1, \[CurlyPhi]'[0] == > 0}, {\[Eta], \[CurlyPhi]}, {y, -m, m}, WorkingPrecision -> 20] > Plot[\[CurlyPhi][y] /. s, {y, -m, m}] > Plot[\[Eta][y] /. s, {y, -m, m}] > > but keep running into the error ``step size is effectively zero; > singularity or stiff system suspected''. I tried increasing > WorkingPrecision to no avail. Can anyone please advise if Mathematica > is able to solve this? Your system is really stiff, I mean *really* stiff, on the given range for y. Do you need m as large as twenty? Everything is fine up to m about 1.4. Setting m = 7/5, we do not need to add any options to NDSolve and it does not return any warning message. \[Lambda]1 = 1; \[Lambda]2 = 1; M = 1; v = 1; h = 1; m = 7/5; s = NDSolve[{-1/2 (-M^2 + h \[Eta][y]^2) \[CurlyPhi][y] - 2 \[Lambda]1 \[CurlyPhi][y]^3 + \[CurlyPhi]''[y] == 0, -4 \[Eta][y] (-v^2 + \[Eta][y]^2) \[Lambda]2 - h \[Eta][y] \[CurlyPhi][y]^2 + \[Eta]''[y] == 0, \[Eta][0] == 0, \[Eta]'[0] == 1, \[CurlyPhi][0] == 1, \[CurlyPhi]'[0] == 0}, {\[Eta], \[CurlyPhi]}, {y, -m, m}] Plot[\[CurlyPhi][y] /. s, {y, -m, m}] Plot[\[Eta][y] /. s, {y, -m, m}] Also, you may want to explore some of the numerous solvers available for NDSolve. See, http://reference.wolfram.com/mathematica/tutorial/NDSolveStiffnessSwitching.html http://reference.wolfram.com/mathematica/tutorial/NDSolveOverview.html HTH, -- Jean-Marc