Solving nonlinear ODE with ODE45 fails at bifurcation point?

Your Name]In summary, Jason is seeking help to verify his analytical expression with a numerical solution. Despite trying various approaches and ODE solvers, he has not been able to achieve congruence between the two solutions. Suggestions include checking initial conditions, using a different software or programming language, and implementing the tangent method or pseudo-arclength continuation method.
  • #1
JasonMech
5
0
Hello everybody,

Background and problem description

I have derived an analytical expression for an implicit frequency response function. To verify it, I would like to check with a numerical solution. For very weak nonlinearities, congruence is obtained. For weak nonlinearities, the numerical solution cannot follow the solution curve (a hysteresis curve). It seems very much like the solution curve jumps at the lower bifurcation point. I have attached a screenshot of a graph generated in Matlab showing how the numerical solution behaves alongside the analytical solution.

Attempts to solve the problem

I have tried to integrate from both [0 n] (where n is an arbitrary time constant) and from [-n 0]. I have also tried to change the ODE solver [ODE45, ODE23s, ODE23t, ODE23tb and ODE15s (in case the problem is stiff)]. I update the initial guess provided to the ODE-solver for each iteration. Changing the tolerances when using the different ODE solvers has not provided any different results. I have considered implementing other approaches such as the tangent method and/or the pseudo-arclength continuation method. But I am not sure whether these approaches will solve my problem.

Any help/inspiration/ideas/thoughts/tricks/... would be highly appreciated!

Kind regards,
Jason
 

Attachments

  • ODE.jpg
    ODE.jpg
    46.2 KB · Views: 461
Physics news on Phys.org
  • #2


Hello Jason,

I can understand your frustration with trying to verify your analytical expression with a numerical solution. It seems that you have already tried various approaches and different ODE solvers, but have not been able to get congruence between the two solutions.

One suggestion I have is to check your initial conditions and make sure they are consistent between the analytical and numerical solutions. Sometimes small differences in initial conditions can lead to significant differences in the solution curves.

Another approach you could try is to use a different software or programming language to solve the ODE. Sometimes different solvers or algorithms can produce different results, so it may be worth trying a different tool.

Additionally, the tangent method and pseudo-arclength continuation method could potentially be useful in solving your problem. These methods are commonly used in nonlinear dynamics and bifurcation analysis, and may provide more accurate results compared to the ODE solvers you have already tried.

I hope these suggestions are helpful and wish you the best of luck in finding a solution to your problem. Don't hesitate to reach out if you need further assistance or have any other questions.
 

FAQ: Solving nonlinear ODE with ODE45 fails at bifurcation point?

Why does ODE45 fail at bifurcation points?

ODE45 is a numerical method used to solve nonlinear ordinary differential equations (ODEs). At bifurcation points, the solution to the ODE becomes discontinuous or changes direction abruptly, making it difficult for ODE45 to accurately approximate the solution. This is because ODE45 uses a fixed time step and assumes that the solution is smooth and continuous, which is not the case at bifurcation points.

Is there a better numerical method for solving ODEs at bifurcation points?

There are several numerical methods that have been developed specifically for solving ODEs at bifurcation points, such as the shooting method, the multiple shooting method, and the collocation method. These methods take into account the discontinuity or change in direction at bifurcation points and are more accurate than ODE45 in these situations.

Can ODE45 be modified to handle bifurcation points?

Yes, ODE45 can be modified to handle bifurcation points by using adaptive time stepping. This means that the time step used in ODE45 is adjusted based on the behavior of the solution, such as becoming smaller near bifurcation points. However, this may increase the computational time and is not always guaranteed to accurately capture the solution at bifurcation points.

How can I determine if my ODE has a bifurcation point?

Bifurcation points can be identified by plotting the solution to the ODE over a range of parameter values. At a bifurcation point, there will be a sudden change in the behavior of the solution. Additionally, bifurcation analysis tools, such as the bifurcation diagram and the phase plane plot, can also help identify bifurcation points.

Are there any techniques to improve the accuracy of ODE45 at bifurcation points?

One technique to improve the accuracy of ODE45 at bifurcation points is to use a higher-order method, such as ODE23 or ODE113, which can provide a more accurate solution. Another technique is to use a hybrid method that combines ODE45 with a shooting or collocation method near bifurcation points. However, these techniques may also increase the computational time and may not always be necessary depending on the specific ODE and its parameters.

Similar threads

Back
Top