# Two phase flow in cylindrical coordinate

 User Name Remember Me Password
 Register Blogs Members List Search Today's Posts Mark Forums Read

 LinkBack Thread Tools Display Modes
 August 2, 2012, 02:30 Two phase flow in cylindrical coordinate #1 Member   Ren/Xingyue Join Date: Jan 2010 Location: Nagoya , Japan Posts: 44 Rep Power: 7 Hi gays, I wrote a 3d code in cylindrical coordinate based on FVM. I use projection method to solve the n-s equation and vof method to track the free surface. It works very well at the first 200 cycles, and suddenly lost its convergence. Does anyone have some experiences at that kinds of code.

August 2, 2012, 06:58
#2
Senior Member

Join Date: Aug 2011
Posts: 251
Rep Power: 6
Quote:
 Originally Posted by hilllike Hi gays, I wrote a 3d code in cylindrical coordinate based on FVM. I use projection method to solve the n-s equation and vof method to track the free surface. It works very well at the first 200 cycles, and suddenly lost its convergence. Does anyone have some experiences at that kinds of code.
Hi Ren,

first question:
Is your code working fine without the VOF module? If the answer is yes,it means it comes from your VOF implementation.
Do you use an interface reconstruction method in your implementation of VOF? A problem of mass conservation may occur. Check your gobal mass conservation along the computation.

second question:
In your mesh are all the cells orthogonal? If the answer is no, how do you cope with the non-orthogonality of the cells in the discretization of the diffusive flux?
I ask you this question because generally the non-orthogonality is handled with a deferred correction,which needs an iterative process,SIMPLE like algorithms are ideal for that . However the projection method is only a 2 steps fractional step method and not satisfactory from this point of view. Do you see my points?

August 2, 2012, 09:31
#3
Member

Ren/Xingyue
Join Date: Jan 2010
Location: Nagoya , Japan
Posts: 44
Rep Power: 7
Thanks for your reply!

Quote:
 Originally Posted by leflix Hi Ren, first question: Is your code working fine without the VOF module? If the answer is yes,it means it comes from your VOF implementation. Do you use an interface reconstruction method in your implementation of VOF?
The result shows the free surface moves well.
I use the CICSAM vof method, which doesn't need a interface reconstruction procedure. My code is changed from a fine code in Cartesian Coordinate I wrote by myself one year ago.

Quote:
 Originally Posted by leflix A problem of mass conservation may occur.Check your gobal mass conservation along the computation.
Yes I check the global mass conservation at every step, it is very steady. I use a open source amg solver to solve the Poisson equation and the linear solver just blowout with any reason.

Quote:
 Originally Posted by leflix second question: In your mesh are all the cells orthogonal? If the answer is no, how do you cope with the non-orthogonality of the cells in the discretization of the diffusive flux? I ask you this question because generally the non-orthogonality is handled with a deferred correction,which needs an iterative process,SIMPLE like algorithms are ideal for that . However the projection method is only a 2 steps fractional step method and not satisfactory from this point of view. Do you see my points?
Yes, all the cells are orthogonal and I follow a book to write this code.

August 2, 2012, 10:09
#4
Senior Member

Join Date: Aug 2011
Posts: 251
Rep Power: 6
Quote:
 Originally Posted by hilllike The result shows the free surface moves well. I use the CICSAM vof method, which doesn't need a interface reconstruction procedure. My code is changed from a fine code in Cartesian Coordinate I wrote by myself one year ago.
If I were you , I would try first a poiseuille flow in a pipe (with only one fluid, decouple your VOF module) to check the solver and verify the numerical results compared with analytical solution

Quote:
 Yes I check the global mass conservation at every step, it is very steady. I use a open source amg solver to solve the Poisson equation and the linear solver just blowout with any reason.
So the only source of problem could then come from your discretization
of DIV(1/rho(GRAD(P))=DIV(U*) in the projection step
and the way it is implemented for the call of your amg solver.
Because what you have is not really a true Poisson equation

Quote:
 Yes, all the cells are orthogonal and I follow a book to write this code.
ok so then your projection method would workfine

 August 3, 2012, 04:34 #5 Member   Ren/Xingyue Join Date: Jan 2010 Location: Nagoya , Japan Posts: 44 Rep Power: 7 Dear leflix, Thanks for your kind advise. I checked the solver in other code and it is not bad. I used this solver only because the linear equation of Poisson equation in cylindrical coordinate is not kind like seven diagonals matrix. There are two irregular diagonals at azimuth direction, which I don't know how to handle with ICCG like method. I use FVM to discretize the projector. Div(U*)/dt=Div(grad(p)/rho) > (u*rdsdz-u*rdsdz+v*dzdr-v*dzdr+w*rdsdr-w*rdsdr)/dt= >grad(pe)rdsdz/rho-grad(pw)rdsdz/rho+grad(pn)dzd/rhor-grad(ps)dzdr/rho + grad(pt)rdsdr/rho - grad(pb)rdsdr/rho Ren

August 3, 2012, 04:59
#6
Senior Member

Join Date: Aug 2011
Posts: 251
Rep Power: 6
Hi Ren,

Quote:
 I checked the solver in other code and it is not bad. I used this solver only because the linear equation of Poisson equation in cylindrical coordinate is not kind like seven diagonals matrix. There are two irregular diagonals at azimuth direction, which I don't know how to handle with ICCG like method.
In CG like method what you need is to be able to make the product between a matrix and a vector. Once you know the structure of your matrix (how many diagonals and where they are located) the product with a vector is straightforward.
so what you can do is to test your solver with the structure of your matrix. Start to make the product with your matrix and a given vector. Get the right hand side. Then give the right hand side to your solver and check if you get back the given vector you started with.

Quote:
 I use FVM to discretize the projector. Div(U*)/dt=Div(grad(p)/rho) > (u*rdsdz-u*rdsdz+v*dzdr-v*dzdr+w*rdsdr-w*rdsdr)/dt= >grad(pe)rdsdz/rho-grad(pw)rdsdz/rho+grad(pn)dzd/rhor-grad(ps)dzdr/rho + grad(pt)rdsdr/rho - grad(pb)rdsdr/rho Ren
I see a problem in your discretization of the pseudo poisson equation.
In the equation which rho do you use? you should divide by rho_k where k stands for e w, n, s, t, b each face center.
It is the same for the discreztization of Div(U*) you should use u*and v*located at each face center (e,w,n,s,t,b)

August 3, 2012, 05:32
#7
Member

Ren/Xingyue
Join Date: Jan 2010
Location: Nagoya , Japan
Posts: 44
Rep Power: 7
Quote:
 Originally Posted by leflix Hi Ren, In CG like method what you need is to be able to make the product between a matrix and a vector. Once you know the structure of your matrix (how many diagonals and where they are located) the product with a vector is straightforward. so what you can do is to test your solver with the structure of your matrix. Start to make the product with your matrix and a given vector. Get the right hand side. Then give the right hand side to your solver and check if you get back the given vector you started with.
That is not the problem, problem is how to handle the IC preconditioner. That will be very difficult.

Quote:
 Originally Posted by leflix I see a problem in your discretization of the pseudo poisson equation. In the equation which rho do you use? you should divide by rho_k where k stands for e w, n, s, t, b each face center. It is the same for the discreztization of Div(U*) you should use u*and v*located at each face center (e,w,n,s,t,b)
Sorry, I forgot to write the face marker.

Follow your advise, Maybe I need to check my VOF method.
Ren

August 3, 2012, 05:59
#8
Senior Member

Join Date: Aug 2011
Posts: 251
Rep Power: 6
Quote:
 Originally Posted by hilllike That is not the problem, problem is how to handle the IC preconditioner. That will be very difficult.
You can change you linear system solver even with a simple SOR solver where you don't have to cope with such preconditioner problem, just to see if your code blows up at the same stage.
If it doesn't then you will know that it comes from your solver.
Then change with another library.

Quote:
 Follow your advise, Maybe I need to check my VOF method. Ren
that's why I proposed to solve first a poiseuille flow in a pipe to verify that you got the right analytical solution.
If yes,then you will know with certainty that the problem comes from your VOF module.

You have 3 sources of potential errors. The linear system solver, the 3D cylindrical NS solver, the VOF module.
You have to track which one of these 3 sources is responsible for your blow up. Thus separated tests are necessary.

 August 29, 2013, 01:28 #9 Member   Ren/Xingyue Join Date: Jan 2010 Location: Nagoya , Japan Posts: 44 Rep Power: 7 Hi, gays. My codes works well now. Did any have experiences in testing two-phase flow in cylindrical coordinates? My model can simulate the two-phase flow movement in the cylindrical tank with a big diameter. Did anyone know some information with circular dam break or some other test cases?

August 30, 2013, 19:58
#10
Senior Member

Join Date: Aug 2011
Posts: 251
Rep Power: 6
Quote:
 Originally Posted by hilllike Hi, gays. My codes works well now. Did any have experiences in testing two-phase flow in cylindrical coordinates? My model can simulate the two-phase flow movement in the cylindrical tank with a big diameter. Did anyone know some information with circular dam break or some other test cases?
It would be nice when the problem is solved that you explain us what you changed and did. It would help others to avoid to make the same mistake...

September 1, 2013, 21:32
#11
Member

Ren/Xingyue
Join Date: Jan 2010
Location: Nagoya , Japan
Posts: 44
Rep Power: 7
Quote:
 Originally Posted by leflix It would be nice when the problem is solved that you explain us what you changed and did. It would help others to avoid to make the same mistake...
The only change is the grid generation method. What I did is a numerical wave basin that the diameter of it is very large so that VOF method over regular rectangular meshes can not capture the free surface.

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post slimmsk ANSYS 0 April 17, 2012 17:00 saii CFX 2 September 18, 2009 08:07 Sunnie FLUENT 0 May 31, 2009 10:02 shaoping Main CFD Forum 1 September 8, 2003 13:25 Ken Schifftner Main CFD Forum 6 July 10, 2000 14:19

All times are GMT -4. The time now is 17:30.

 Contact Us - CFD Online - Top