Continuity Residuals
I am solving a two-phase VOF model with phase change (both heat and mass transfer across the interface). Just wondering if the residual values of continuity could be greater than 1? I am observing residuals with values close to 1e+03 but they seem to be decreasing and eventually reaching to the convergence value (set at 1e-04).
|
The residual is scaled by the maximum of first a few iterations (default 5). It the residual keep on growing after that then it could be larger than 1. It does not matter if it converges finally.
|
Thanks again, Thomas. I kinda had an idea that it is converging but its taking a lot of iterations each time step. Since my evaporation rates and difference in densities of liquid and vapor are high at the liquid-vapor interface, my initial residuals might be high.
This is not related to this particular forum but do you know how to impose a constant temperature inside one of the phases (in a VOF model) throughout the simulation (every iteration of each time step)? I tried the following but it did not work. DEFINE_ADJUST(somename,domain) Thread *lt = pt[liquidphaseindex]; begin_c_loop_all(c,t) { if (C_VOF(c,lt) == 0.0) { C_T(c,t) = 329; } } end_c_loop_all(c,t) The temperature inside that phase is decreasing to a much lower value and after a few iterations reaching to zero Kelvin. |
One quick question, why
Code:
begin_c_loop_all(c,t) Code:
begin_c_loop_all(c,lt) Code:
C_VOF(c,lt) Code:
( fabs( C_VOF(c, lt) ) < 1.e-3 ) /*you might need to adjust the tolerance 1.e-3*/ |
Could I loop over threads of a specific phase? I thought it generally gives a segmentation error. Let me try it anyway.
About the tolerance, I agree. The volume fraction may not necessarily be zero or one even though the cell is completely filled with a specific phase. Thanks for the extra tip. |
BTW, if I use
begin_c_loop_all(c,lt) instead of begin_c_loop_all(c,t) how can I access the mixture threads for temperature macro C_T(c,t) |
Could I use C_T(c,mt)? Here "mt" is a new thread different from "t", and specified as:
Thread *mt = THREAD_SUPER_THREAD(lt); |
All times are GMT -4. The time now is 22:53. |