From: "KATHERINA VON BULOW" Newsgroups: sci.math,sci.math.symbolic,uk.education.maths,de.sci.mathematik Subject: Re: Solving nonlinear pde Date: Fri, 25 Sep 1998 15:43:20 -0700 > Hi > I am trying to solve the following partial differential equation > > d^2y/dt^2 = d^2y/dx^2 (1+ e (dy/dx) + f (dy/dx)^2) > > e<<1 and f<<1 > > can anybody help. > > Currently I'm using a simple single step numerical method i Maple but it > quit slow and doesn't reveal all the wanted information. > > Thanks > Torben M. Hansen ----------------- Hi, I don't know how to obtain a general solution for your PDE, but two different particular symbolic solutions can be obtain, one trough separation of variables by sum and the other one separating the variables by product. I'm using the last PDEtools found at http://lie.uwaterloo.ca/pdetools.htm # First load the package > with(PDEtools): [PDEplot, build, casesplit, charstrip, dchange, declare, difforder, mapde, separability, splitstrip, splitsys, undeclare] # Below, I'm using the new PDEtools commands declare, casesplit and # separability. # # First declare u(x,t) to be displayed as u and turn ON the DEdisplay scheme # for compact display (derivatives will be displayed as "indexed") > declare(u(x,t)); > ON; u(x, t), will now be displayed as, u # Your PDE > pde := diff(u(x,t),t,t) = diff(u(x,t),x,x) * (1 + e*diff(u(x,t),x) + > f*diff(u(x,t),x)^2); 2 pde := u[t, t] = u[x, x] (1 + e u[x] + f u[x] ) # For this PDE, there are two different cases ("casesplit" is a new # PDEtools command which interfaces the new diffalg Maple R5 package) > casesplit(pde); u[t, t] 2 [u[x, x] = --------------------] &where [1 + e u[x] + f u[x] <> 0], 2 1 + e u[x] + f u[x] 2 -1 - e u[x] [u[t, t] = 0, u[x] = -----------] &where [-e - 2 f u[x] <> 0] f # The set of solutions to your PDE is equal to the union of the non-singular # solutions to each of the two cases returned above. # # The first case in the output above is related to a solution through # separation of variables by sum, while the second case is related to a # possible solution through separation by product. You can see this, # using the "separability" command > separability(pde, u(x,t)); 0 # the above means: the conditions for separability by sum (the default of # this command) are automatically satisfied by your PDE. This solution # separable by sum is given by > pdsolve(pde); (u = _F1(x) + _F2(t)) &where _c[2] [{_F2[t, t] = _c[2], _F1[x, x] = ------------------------}] 2 1 + e _F1[x] + f _F1[x] # By inspection, this solution is related to the first case returned by # casesplit; to obtain the answer in built form - ie solving the separated # ODEs - you can use > pdsolve(pde, build); # # Concerning a solution through separation by product, note that > separability(pde,u(x,t),`*`); 2 2 u[t] u[t, t] (f e u[x] + 4 f u[x] + e) - ---------------------------------------- 2 u # that is, to separate by `*`, the above must be zero. # # Now, the second case returned by "casesplit" automatically cancels the # condition for separability by `*` above. Hence you can obtain this solution # by solving this condition (equation involving only u[x]) > f*e*diff(u(x,t),x)^2+4*f*diff(u(x,t),x)+e=0; 2 f e u[x] + 4 f u[x] + e = 0 > ans_0 := pdsolve(%); 2 (2 f + sqrt(f (4 f - e ))) x ans_0 := u = - ---------------------------- + _F1(t) f e # and then, according to the output of casesplit you need to impose that # u[t,t] = 0 (that is, in above, _F1(t) = _C1*t) > ans := subs(_F1(t)=_C1*t,ans_0); 2 (2 f + sqrt(f (4 f - e ))) x ans := u = - ---------------------------- + _C1 t f e # This answer tests OK > pdetest(ans,pde); 0 Note also that the answers for both cases are supposed to be valid for arbitrary f and e, (not only e<<1 and f<<1). Hope this helps, Edgardo +----------------------------------------------------------------------+ | Edgardo S. Cheb-Terrab | Department of Mathematics | | ecterrab@math.ubc.ca | University of British Columbia | | http://lie.uwaterloo.ca/ecterrab |----------------------------------| | | Theoretical Physics Department | | | Symbolic Computation Group | | | IF-UERJ-BRAZIL | +----------------------------------------------------------------------+ -- "Whoever has the most fun wins"-- ============================================================================== From: "Edgardo S. Cheb-Terrab" Newsgroups: sci.math,sci.math.symbolic,uk.education.maths,de.sci.mathematik References: <360B8860.4927C5B@image.dk> Subject: Re: Solving nonlinear pde >> Hi >> I am trying to solve the following partial differential equation >> >> d^2y/dt^2 = d^2y/dx^2 (1+ e (dy/dx) + f (dy/dx)^2) >> .... >> Torben M. Hansen >----------------- Oops! I got distracted in the previous reply. It is OK that this PDE problem splits in two cases >> casesplit(pde); > > u[t, t] 2 > [u[x, x] = --------------------] &where [1 + e u[x] + f u[x] <> 0], > 2 > 1 + e u[x] + f u[x] > > > > 2 -1 - e u[x] > [u[t, t] = 0, u[x] = -----------] &where [-e - 2 f u[x] <> 0] > f and that a solution to the first system above which separates by sum is the one already returned by pdsolve. However, the solution to the second system is > u(x,t) = -1/2*(e+(e^2-4*f)^(1/2))/f*x+_C1*t+_C2; 2 (e + sqrt(e - 4 f)) x u = - 1/2 ---------------------- + _C1 t + _C2 f and in fact does not separate by product. On the other hand, a solution to the PDE which separates by product can be in fact built from the output of separability > separability(pde,u(x,t),`*`); 2 2 u[t] u[t, t] (f e u[x] + 4 f u[x] + e) - ---------------------------------------- 2 u by first solving the factor containing u[x], finally arriving at > u(x,t) = (_C2+_C3*t)*((-2*f+(-f*(e^2-4*f))^(1/2))/e/f*x+_C1); / 2 \ |(-2 f + sqrt(-f (e - 4 f))) x | u = (_C2 + _C3 t) |------------------------------ + _C1| \ e f / But this solution is not a solution to the second system returned by casesplit, as I thought/mentioned at first. Instead, it is a product separable solution to the first system, as the solution returned by pdsolve (separable by sum) is. Finally, there is more one solution to the first system which does not separate either by product or by sum: > u(x,t) = -(2*f-(-f*(-4*f+e^2))^(1/2))/f/e*x*(_C3+_C4*t) + (_C1+_C2*t); 2 (2 f - sqrt(-f (-4 f + e ))) x (_C3 + _C4 t) u = - -------------------------------------------- + _C1 + _C2 t f e Edgardo +----------------------------------------------------------------------+ | Edgardo S. Cheb-Terrab | Department of Mathematics | | ecterrab@math.ubc.ca | University of British Columbia | | http://lie.uwaterloo.ca/ecterrab |----------------------------------| | | Theoretical Physics Department | | | Symbolic Computation Group | | | IF-UERJ-BRAZIL | +----------------------------------------------------------------------+