CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Main CFD Forum

Two phase flow in cylindrical coordinate

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 2, 2012, 02:30
Default Two phase flow in cylindrical coordinate
  #1
Member
 
Ren/Xingyue
Join Date: Jan 2010
Location: Nagoya , Japan
Posts: 44
Rep Power: 16
hilllike is on a distinguished road
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.
hilllike is offline   Reply With Quote

Old   August 2, 2012, 06:58
Default
  #2
Senior Member
 
Join Date: Aug 2011
Posts: 272
Rep Power: 15
leflix is on a distinguished road
Quote:
Originally Posted by hilllike View Post
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?
leflix is offline   Reply With Quote

Old   August 2, 2012, 09:31
Default
  #3
Member
 
Ren/Xingyue
Join Date: Jan 2010
Location: Nagoya , Japan
Posts: 44
Rep Power: 16
hilllike is on a distinguished road
Thanks for your reply!

Quote:
Originally Posted by leflix View Post
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 View Post
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 View Post
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.
hilllike is offline   Reply With Quote

Old   August 2, 2012, 10:09
Default
  #4
Senior Member
 
Join Date: Aug 2011
Posts: 272
Rep Power: 15
leflix is on a distinguished road
Quote:
Originally Posted by hilllike View Post

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
leflix is offline   Reply With Quote

Old   August 3, 2012, 04:34
Default
  #5
Member
 
Ren/Xingyue
Join Date: Jan 2010
Location: Nagoya , Japan
Posts: 44
Rep Power: 16
hilllike is on a distinguished road
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
hilllike is offline   Reply With Quote

Old   August 3, 2012, 04:59
Default
  #6
Senior Member
 
Join Date: Aug 2011
Posts: 272
Rep Power: 15
leflix is on a distinguished road
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)
leflix is offline   Reply With Quote

Old   August 3, 2012, 05:32
Default
  #7
Member
 
Ren/Xingyue
Join Date: Jan 2010
Location: Nagoya , Japan
Posts: 44
Rep Power: 16
hilllike is on a distinguished road
Quote:
Originally Posted by leflix View Post
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 View Post
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
hilllike is offline   Reply With Quote

Old   August 3, 2012, 05:59
Default
  #8
Senior Member
 
Join Date: Aug 2011
Posts: 272
Rep Power: 15
leflix is on a distinguished road
Quote:
Originally Posted by hilllike View Post
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.
leflix is offline   Reply With Quote

Old   August 29, 2013, 01:28
Default
  #9
Member
 
Ren/Xingyue
Join Date: Jan 2010
Location: Nagoya , Japan
Posts: 44
Rep Power: 16
hilllike is on a distinguished road
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?
hilllike is offline   Reply With Quote

Old   August 30, 2013, 19:58
Default
  #10
Senior Member
 
Join Date: Aug 2011
Posts: 272
Rep Power: 15
leflix is on a distinguished road
Quote:
Originally Posted by hilllike View Post
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...
leflix is offline   Reply With Quote

Old   September 1, 2013, 21:32
Default
  #11
Member
 
Ren/Xingyue
Join Date: Jan 2010
Location: Nagoya , Japan
Posts: 44
Rep Power: 16
hilllike is on a distinguished road
Quote:
Originally Posted by leflix View Post
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.
hilllike is offline   Reply With Quote

Reply


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 Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
mass flow in is not equal to mass flow out saii CFX 12 March 19, 2018 05:21
help for ANSYS Fluent - cylindrical flow slimmsk ANSYS 0 April 17, 2012 17:00
Two phase flow with condensation Sunnie FLUENT 0 May 31, 2009 10:02
Two phase Flow instability shaoping Main CFD Forum 1 September 8, 2003 13:25
swirling two phase flow Ken Schifftner Main CFD Forum 6 July 10, 2000 14:19


All times are GMT -4. The time now is 20:00.