Hi R,
For our Navier-Stokes currently we use the Newton method with backtracking line-search. in OpenFoam and most of the CFD code the linearization approach is based on Patankar's SIMPLE algorithm.1 I talked to my professor who told me that SIMPLE is used in commercial softwares like FLUENT too.
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
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?
On Tuesday, 2 July 2013 19:57:11 UTC+5:30, Robert Cimrman wrote:
On 07/02/2013 04:07 PM, Ankit Mahato wrote:
On Tuesday, 2 July 2013 19:23:05 UTC+5:30, Robert Cimrman wrote:
On 07/02/2013 03:46 PM, Ankit Mahato wrote:
On Tuesday, 2 July 2013 19:06:16 UTC+5:30, Ankit Mahato wrote:
On Tuesday, 2 July 2013 13:58:20 UTC+5:30, Robert Cimrman wrote:
Now it remains to implement a robust flow solver. Even this small
example
shows, that the solution is not obtained easily - try decreasing the viscosity, and/or increase the Dirichlet velocity - the solver would not converge.
Yes R,
The solution is not obtained easily. I am looking into it.
PS: Here are blog posts for week 1 & 2 Kindly tell me if this will do before I send it to terri oda:
http://ankitmahato.blogspot.in/2013/07/python-software-foundation-sfepy-gsoc...
Hi R,
Just wanted your views. Does the problem of Navier-Strokes solver lies with the implementation or the algorithm which is used.
Mostly the algorithm, but it might be also the formulation. I am far from CFD, but people there seem to be preferring a dimensionless form of the incompressible NS equations. It also depends on the discretization/FE spaces used. It's really a broad subject, and there is still no a silver bullet solver. Maybe ask your thesis advisor/colleagues doing CFD? Searching
net is really of no help here, as it returns so many things... Expert advice is needed :)
Yes R dimensionless form of the equations are preferred. I have implemented Patankar's SIMPLE algorithm previously (http://en.wikipedia.org/wiki/SIMPLE_algorithm) [also SIMPLER and SIMPLEC] when I did CFD course but using Finite Difference Method. I will look into it if I find FEM approach. Also I wanted to ask you if we need to stick to FEM for CFD because
http://ankitmahato.blogspot.in/2013/07/python-software-foundation-sfepy-gsoc... the people
use Finite Volume Method [FVM] for CFD.
Yes, we need it in a FEM context, sfepy cannot do FVM. But (big)IMHO those two approaches have things in common, and once you have the matrices and algorithm... It should even be possible to compute fluxes and similar quantities, if needed, though I never tried that and think there is no time to implement FVM in sfepy within your project.
r.