How to get the surface area between two phases in VOF model
Do anyone know if there has a macro to get the surface area between two phases in VOF model. I used Geo-Reconstrust Discretization for VOF.
I found C_VOF_S(c,t) and Get_Surface_Distance(cell_t c, Thread *t) in "sg_vof.h". I wanted to use them to found what did they return. But always fluent return errors: Error: FLUENT received fatal signal (ACCESS_VIOLATION) 1. Note exact events leading to error. 2. Save case/data under new name. 3. Exit program and restart to continue. 4. Report error to your distributor. I tried mixture thread and one phase thread for t in C_VOF_S(c,t) and Get_Surface_Distance(cell_t c, Thread *t),but the errors still exist. |
Hi, Cloud,
Have you solve you problem? I need to calculate the interface area in VOF model, and I'm wondering how to implement this. If you've solve this problem, plz help. Thank you ! |
any luck?
Hi,
I just posted a similar question and I am wondering if you guys have found out how to obtain the area of the interface using an UDF? Bradley |
Interfacial area could be calculated by the following:
Magnitude of Gradient(Alpha) * Volume Hope it helps. |
Quote:
Does the fluent help has this equation? |
Quote:
Hi, I also confused with such a difficult question when i want to simulate the gas-liquid flow in a falling film reactor. how to get the the interface area in a cell using UDF micros? there were an equation in "help" to calculate the area density, area =2.0*[alpha]*the gradient of [alpha]. But this equation may be a wrong one. Besides of this, how to get the gradient of [alpha]? when you use the macro C_VOF_G, there will be notes: access violate. Are you from China? Maybe we can discuss this problem in Chinese.my e-mail:classic1573@163.com:) |
Hi vig,
I wonder if the equation is also applied to the wick-vapor interface? Regards, Bill |
Finding interface area
Dear All
Hello Finding the premier of the interface (in 2-D cases) or surface of interface (in 3-D simulations) is my concern also. I didn't found how I can use Ansys for calculating these parameters. using the equation Area = Magnitude of Gradient(Alpha) * Volume is not straightforward because in addition to non- constant valued of Gradient(Alpha) in all domain, finding its amount has been not predicted in Fluent. So now my question is how I can find the solution for this matter. Thanks |
UDF for surface between 2 phases
Here are 2 different ways of obtaining the area_density between 2 phases :
2.0 * magnitude(gradient(alpha)) * alpha magnitude(gradient(alpha)) * Cell_Volume I don't know which one is appropriate, but those 2 were mentioned across Fluent's help guide and within the previous posts : /* ###################################### Steps to take to make it work 1. Read in the converged case and data 2. Link the udf (Define->User Defined->Functions->Compiled) 3. Hook adjust funtion (Define->User Defined->Function Hooks->Adjust Function) 4. Define UDM (Define->User Defined->Memory 3) 5. Define UDS (Define->User Defined->Scalars 2) 6. Turn off all equations (Solve->Controls->Solution) 7. Do one iterations 8. Execute store_gradient (Define->User Defined->Execute On Demand) 9. Execute store_area_density_1 (Define->User Defined->Execute On Demand) 10.Execute store_area_density_2 (Define->User Defined->Execute On Demand) ######################################*/ # include "udf.h" # define domain_ID 2 DEFINE_ADJUST(adjust_gradient, domain) { Thread *t; cell_t c; face_t f; domain = Get_Domain(domain_ID); /* Fill UDS with the variable. */ thread_loop_c (t,domain) { begin_c_loop (c,t) { /* Obtains VOF at cell center and saves it as scalar */ C_UDSI(c,t,0) = C_VOF(c,t); /* Obtains Cell Volume and saves it as scalar */ C_UDSI(c,t,1) = C_VOLUME(c,t); } end_c_loop (c,t) } thread_loop_f (t,domain) { if (THREAD_STORAGE(t,SV_UDS_I(0))!=NULL) begin_f_loop (f,t) { F_UDSI(f,t,0) = F_VOF(f,t); } end_f_loop (f,t) } } DEFINE_ON_DEMAND(store_gradient) { Domain *domain; cell_t c; Thread *t; domain=Get_Domain(1); /* Fill the UDM with magnitude of gradient. */ thread_loop_c (t,domain) { begin_c_loop (c,t) { C_UDMI(c,t,0) = NV_MAG(C_UDSI_G(c,t,0)); } end_c_loop (c,t) } } DEFINE_ON_DEMAND(store_area_density_1) { Domain *domain; cell_t c; Thread *t; domain=Get_Domain(1); /* Fill the UDM with are_adensity. */ thread_loop_c (t,domain) { begin_c_loop (c,t) { C_UDMI(c,t,1) = 2.0 * NV_MAG(C_UDSI_G(c,t,0)) * C_UDSI(c,t,0) ; } end_c_loop (c,t) } } DEFINE_ON_DEMAND(store_area_density_2) { Domain *domain; cell_t c; Thread *t; domain=Get_Domain(1); /* Fill the UDM with are_adensity. */ thread_loop_c (t,domain) { begin_c_loop (c,t) { C_UDMI(c,t,2) = NV_MAG(C_UDSI_G(c,t,0)) * C_UDSI(c,t,1) ; } end_c_loop (c,t) } } - JS |
Quote:
|
vof gradient
I am using this code, it works and you don't need UDS.
Code:
#include "udf.h" |
Quote:
|
Quote:
|
I am sorry but i also couldnt fix my problem
|
Quote:
|
interface surface area
Quote:
I am also doing the same calculation |
Why Fluent says that the periodic condition is not compatible with the VOF model ?
[QUOTE=LyngHoo;381000]Hi,
I realized a simulation of a free surface flow in the presence of periodic roughness with the VOF model. I remarked that when we impose the pressure gradient for the entire domain, the velocity of the air phase will be 100 x the velocity of the water phase. Is it for this reason Fluent says that the periodic condition is not compatible with VOF? To avoid this problem I used a UDF to impose this pressure gradient only in the water phase and I solved the problem. Is the procedure I followed is logical? How to contact Fluent for this problem? |
All times are GMT -4. The time now is 12:47. |