Two phase flow in cylindrical coordinate
Hi gays, I wrote a 3d code in cylindrical coordinate based on FVM. I use projection method to solve the ns 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. 
Quote:
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 nonorthogonality of the cells in the discretization of the diffusive flux? I ask you this question because generally the nonorthogonality 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? 
Thanks for your reply!
Quote:
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:
Quote:

Quote:
Quote:
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:

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*rdsdzu*rdsdz+v*dzdrv*dzdr+w*rdsdrw*rdsdr)/dt= >grad(pe)rdsdz/rhograd(pw)rdsdz/rho+grad(pn)dzd/rhorgrad(ps)dzdr/rho + grad(pt)rdsdr/rho  grad(pb)rdsdr/rho Ren 
Hi Ren,
Quote:
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:
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) 
Quote:
Quote:
Follow your advise, Maybe I need to check my VOF method. Ren 
Quote:
If it doesn't then you will know that it comes from your solver. Then change with another library. Quote:
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. 
Hi, gays.
My codes works well now. Did any have experiences in testing twophase flow in cylindrical coordinates? My model can simulate the twophase flow movement in the cylindrical tank with a big diameter. Did anyone know some information with circular dam break or some other test cases? 
Quote:

Quote:

All times are GMT 4. The time now is 22:52. 