CFD continuation, bifurcation detection

Discussion about coding and new developments

CFD continuation, bifurcation detection

Postby YannGuevel » 20 Oct 2014, 16:49


we developped an Elmer solver in a dynamic library for continuation of steady flow solution and bifurcation detection.
It's based on the perturbation method called Asymptotic Numerical Method.
Those tools are allready improved and published.
We decided to try Elmer FEM to get 3D and mutli-physics flows informations.

I'll try to put a presentation of what we did in this Elmer library, and propose a "clean" version of the code to perform continuation and bifurcation detection.

I'd like to know what is the best way to get advices on the way we coded this technique, and further questions we have.
Should i put the code in here, or in a more specific mail?

For example :
+ We had to create a new Dirichlet Boundary condition routine, in order to modify values at nodal point in a simple way.
=> it might exist a smarter way to code what we did, respecting an "Elmer way of coding".

+ Once a bifurcation is detected via specific indicators, branch switching requires an "augmented linear system" to be solved, because the tangent operator is singular at the bifurcation:
=> Do you know how to add temporarily 1 or 2 equation to the "solver % Matrix" object, and perform a linear solve of this augmented system?
=> Would it be easier to create a new temporary solver with the correct given number of equation to be solved. And how to do that?

Thank you for your advices
Posts: 30
Joined: 26 May 2014, 12:37

Re: CFD continuation, bifurcation detection

Postby raback » 20 Oct 2014, 20:44

Hi Yann

Your application sounds interesting. I think you could put some basic information to the forum, and if needed correspond with the developers on specific details.

There is an "augmented" linear system that is used for example to enforce continuity. You take the Solver % Matrix and merge it with Solver % Matrix % ConstraintMatrix and thereafter can use all standard solvers. I think there is a SolveWithLinearConstraints subroutine that does this. I may be missing some details but this machinery is something that has been evolving in recent times. So for you the trick would be to create the ConsraintMatrix.

Site Admin
Posts: 3216
Joined: 22 Aug 2009, 11:57
Location: Espoo, Finland

Re: CFD continuation, bifurcation detection

Postby YannGuevel » 21 Oct 2014, 09:43

Hi peter,

thanks for your interest and this advice. I'll look for this trick of ConsraintMatrix with attention.

I'll put a presentation of the method as soon as possible.
Posts: 30
Joined: 26 May 2014, 12:37

Re: CFD continuation, bifurcation detection

Postby YannGuevel » 18 Aug 2016, 16:08


my PhD thesis is now available on:
The Pdf is available here :

We are now able to detect accurately steady bifurcation in the case of 2D and 3D incompressible flows using ELMER.

The text is in French, except Chapter 5 which is the technical part : how i have implemented the bifurcation analysis method in Elmer.
I'll make the code available on github as soon as possible.

The main related article in English for the method are here:
Journal of Computational Physics 2011 Guevel, Cadou "Automatic detection and branch switching methods for steady bifurcation in fluid mechanics"

JCP2013 Cochelin, Médale "Power series analysis as a major breakthrough to improve the efficiency of Asymptotic Numerical Method in the vicinity of bifurcations"

Journal of Non-Newtonian Fluid Mechanics 2013, Jawadi, Cadou "Asymptotic numerical method for steady flow of power-law fluids"

JCP2015 Médale, Cochelin "High performance computations of steady-state bifurcations in 3D incompressible fluid flows by Asymptotic Numerical Method"

This forum and the team helped me a lot during the coding/installing part : thank you!
Posts: 30
Joined: 26 May 2014, 12:37

Return to Software development

Who is online

Users browsing this forum: No registered users and 2 guests