Actually, nonlinear problems are frequently more difficult than we have implied above, for several reasons.

• | Nonlinear problems can have more than one solution. |

• | A nonlinear problem may not, in fact, have a solution at all. |

FlexPDE uses a Newton-Raphson iteration process to solve nonlinear systems. This technique can be very sensitive to the initial estimate of the solution. If the starting conditions are too far from the actual solution, it may be impossible to find the answer, even though it might be quite simple from a different starting value.

There are several things that can be done to help a nonlinear problem find a solution:

• | Provide as good an initial value as you can, using the INITIAL VALUES section of the script. |

• | Ensure that the boundary conditions are consistent. |

• | Use STAGES to progress from a linear to a nonlinear system, allowing the linear solution to provide initial conditions for the nonlinear one. |

• | Pose the problem as a time-dependent one, with time as an artificial relaxation dimension. |

• | Use SELECT CHANGELIM to limit the excursion at each step and force FlexPDE to creep toward a solution. |

• | Use MONITORS to display useful aspects of the solution, to help identify troublesome terms. |

We will return in a later section to the question of intransigent nonlinear problems.