Group Abstract Group Abstract

Message Boards Message Boards

How to solve a highly nonlinear PDE

GROUPS:
I have a highly nonlinear PDE, in a form
D[f[x,y],x]^2==G
where f[x,y] is the function I wanna solve. G is some function of f[x,y], D[f[x,y],x], x and y.
So,there are two solutions:
D[f[x,y],x]=-Sqrt[G],and D[f[x,y],x]=+Sqrt[G]
after specify some initial conditions, I can first solve the first one (- sign), numerically. then at some point, this solution terminates because of singularies or something else (the solution, which is a interpolating function, will turn from a real value to a complex value). The terminating point is a line y0=y0. At this point I want to change the equation to the (+ sign) one, with the new initial conditions given by f[x,y0[x]].
How can I do the above steps?
Especially, first, how can I get this terminating line y0=y0; second, how can I specify f[x,y0] as the new initial conditions?

By the way, how to make Mathematica solve PDE only in real number field?
POSTED BY: Yiyang Zhang
Answer
11 months ago
Because there is in general no closed form solution for non-linear PDE/ODE, you want to be very specific about the actual function that you are dealing with. A good idea is to give a set of real values for demonstration. 
POSTED BY: Shenghui Yang
Answer
11 months ago
By default, NDSolve, or NDSolveValue, will solve numerically in complex numbers. how can I restrict in real numbers?
POSTED BY: Yiyang Zhang
Answer
11 months ago
This is not the same as FindRoot, which only works on the real domain. Differential equation by default needs complex numbers, even for simple second-order linear systems, I do not understand why you want to work on real domain only.  
POSTED BY: Shenghui Yang
Answer
11 months ago
Without any more information, I think the best way forward is to extract the solutions with both roots. You can then write a short function which chooses the correct root based on whether it is returning a real result or not. 

A simple example of the kind of problem you are looking to solve would be helpful in demonstrating how to work with it.
POSTED BY: Sean Clarke
Answer
11 months ago