Hi R,

I did some more digging from the implementation point of view and came across some interesting things:

This tutorial demonstrates the solution of Incompressible Navier-Stokes Equations using Fenics. it uses Chlorin's method[1] to solve the problem.
This project was very awesome. 
http://fenicsproject.org/documentation/dolfin/1.2.0/python/demo/pde/navier-stokes/python/documentation.html

Then a stackoverflow question where someone says that fenics wasn't fast.
http://stackoverflow.com/questions/4768045/fluid-flow-heat-transfer-and-python

Other Implementations:
Here is a list of Open Source CFD codes. Maybe we can fork a repo and use it or learn from it:
http://www.cfd-online.com/Wiki/Codes

According to people iNavier and dolphyn are promising:
http://www.cfd-online.com/Forums/main/13529-colver-code-c-c.html

Someone was using PyAMG to develop Jacobian-Free Newton-Krylov code to solve the Navier Stokes equations : https://groups.google.com/forum/#!topic/pyamg-user/HXrXTyvXPpw

This is everything I could harness till now. I hope something useful comes out of these. Also I am currently narrowing down and rigorously searching a way to implementing SIMPLE in the FE context.

[1] http://en.wikipedia.org/wiki/Projection_method_%28fluid_dynamics%29


On Thursday, 4 July 2013 19:29:04 UTC+5:30, Ankit Mahato wrote:


On Thursday, 4 July 2013 19:02:50 UTC+5:30, Robert Cimrman wrote:
On 07/04/2013 03:02 PM, Ankit Mahato wrote:
> Hi R,
>
> For our Navier-Stokes currently we use the Newton method with backtracking
> line-search.

Yes, in sfepy we use that.

> in OpenFoam and most of the CFD code the linearization
> approach is based on Patankar's SIMPLE algorithm.[1][2]
> I talked to my professor who told me that SIMPLE is used in commercial
> softwares like FLUENT too.

Do you think you could then try implementing SIMPLE in the FE context?


I will search more in this context and let you know in a few hours.
 
> I found few papers which tells us some other approaches. Do have a look at
> them and lend your views:
>
>     -
>     http://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC0QFjAA&url=http%3A%2F%2Fwww.wias-berlin.de%2Fpeople%2Fjohn%2FPP99_13.ps&ei=mW3VUZqzOMmzrgeKuYD4DA&usg=AFQjCNEp9_rShrLSjkYdax6bOimSrkD-KQ&sig2=8S654V-zz2vd4mFZOilZCw&bvm=bv.48705608,d.bmk
>     - http://numerik.iwr.uni-heidelberg.de/Oberwolfach-Seminar/CFD-Course.pdf
>     -
>     http://dspace.uta.edu/bitstream/handle/10106/5144/JIAJAN_uta_2502M_10764.pdf
>     - http://www.reaction-eng.com/downloads/nksolver_pernice.pdf
>     - http://aero-comlab.stanford.edu/Papers/birkenjamesonproceedings09.pdf
>     - https://cs.uwaterloo.ca/research/tr/1993/02/CS-93-02.pdf
>     - http://www.cs.sandia.gov/~rstumin/backtrack.pdf
>     - http://repository.cmu.edu/cgi/viewcontent.cgi?article=1032&context=math
>     - http://www8.cs.umu.se/kurser/5DA001/HT07/lectures/newton-handouts.pdf
>
>
> [1]:
> http://www.cfd-online.com/Forums/openfoam-solving/60167-how-nonlinear-discretised-equations-linearised-openfoam.html
> [2]: http://web.cecs.pdx.edu/~gerry/class/ME448/notes/pdf/SIMPLEslides.pdf

Nice list. I will try to look at it, but doubt that I will be of much help
in deciding what path to pursue. We need something that could be
implemented in a reasonable time. IMHO that rules out the multigrid-based
solvers, unless a prepared solution like pyamg could be used directly.

Okie.
 

> PS: For the python 3 fix which I had forgotten earlier :( . While going
> through the codes I came across that we use output() in base.py to print.
> You have already called
> if sys.version[0] < '3':
>      basestr = basestring
> else:
>      basestr = str
> So basically we know the python version and call the print function
> according to the python version. If I am correct it is quite easy to fix
> then, am I?

In the sfepy codebase, there should be no print statements - output()
should be used everywhere (if it is not, it's a bug), so yes, updating
that for python 3 should be pretty easy.

Cool :)
 

r.