CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Fluent UDF and Scheme Programming (https://www.cfd-online.com/Forums/fluent-udf/)
-   -   how to simulate mass trasfer (https://www.cfd-online.com/Forums/fluent-udf/215252-how-simulate-mass-trasfer.html)

AKHIL123 February 27, 2019 05:08

how to simulate mass trasfer
 
hi,
am simulating a problem on a simple mass transfer coefficient based on saturation temperature.i use water vapour and air.i used udf code as shown below.
#include "udf.h"

DEFINE_MASS_TRANSFER(liq_vapour_source, cell, thread, from_index,
from_species_index, to_index, to_species_index)
{
real m_lv;
real T_SAT = 373.15;
Thread *vapor, *liq;
gas = THREAD_SUB_THREAD(thread, from_index);
liq = THREAD_SUB_THREAD(thread, to_index);
m_lv = 0.0;

if (C_T(cell, liq) > T_SAT)
{ /* Evaporating */
m_lg = -0.1*C_VOF(cell,liq)*C_R(cell,liq)*
(C_T(cell,liq)-T_SAT)/T_SAT;
}
else if (C_T(cell, gas) < T_SAT)
{ /* Condensing */
m_lg = 0.1*C_VOF(cell,vapor)*C_R(cell,#include "udf.h"

DEFINE_MASS_TRANSFER(liq_gas_source, cell, thread, from_index,
from_species_index, to_index, to_species_index)
{
real m_lg;
real T_SAT = 373.15;
Thread *gas, *liq;
gas = THREAD_SUB_THREAD(thread, from_index);
liq = THREAD_SUB_THREAD(thread, to_index);
m_lg = 0.0;

if (C_T(cell, liq) > T_SAT)
{ /* Evaporating */
m_lg = -0.1*C_VOF(cell,liq)*C_R(cell,liq)*
(C_T(cell,liq)-T_SAT)/T_SAT;
}
else if (C_T(cell, gas) < T_SAT)
{ /* Condensing */
m_lg = 0.1*C_VOF(cell,gas)*C_R(cell,gas)*
(T_SAT-C_T(cell,#include "udf.h"

DEFINE_MASS_TRANSFER(liq_gas_source, cell, thread, from_index,
from_species_index, to_index, to_species_index)
{
real m_lg;
real T_SAT = 373.15;
Thread *gas, *liq;
gas = THREAD_SUB_THREAD(thread, from_index);
liq = THREAD_SUB_THREAD(thread, to_index);
m_lg = 0.0;

if (C_T(cell, liq) > T_SAT)
{ /* Evaporating */
m_lg = -0.1*C_VOF(cell,liq)*C_R(cell,liq)*
(C_T(cell,liq)-T_SAT)/T_SAT;
}
else if (C_T(cell, gas) < T_SAT)
{ /* Condensing */
m_lg = 0.1*C_VOF(cell,gas)*C_R(cell,gas)*
(T_SAT-C_T(cell,gas))/T_SAT;
}

return (m_lv);
}))/T_SAT;
}

return (m_lg);
})*
(T_SAT-C_T(cell,#include "udf.h"

DEFINE_MASS_TRANSFER(liq_gas_source, cell, thread, from_index,
from_species_index, to_index, to_species_index)
{
real m_lg;
real T_SAT = 373.15;
Thread *gas, *liq;
gas = THREAD_SUB_THREAD(thread, from_index);
liq = THREAD_SUB_THREAD(thread, to_index);
m_lg = 0.0;

if (C_T(cell, liq) > T_SAT)
{ /* Evaporating */
m_lg = -0.1*C_VOF(cell,liq)*C_R(cell,liq)*
(C_T(cell,liq)-T_SAT)/T_SAT;
}
else if (C_T(cell, gas) < T_SAT)
{ /* Condensing */
m_lg = 0.1*C_VOF(cell,gas)*C_R(cell,#include "udf.h"

DEFINE_MASS_TRANSFER(liq_gas_source, cell, thread, from_index,
from_species_index, to_index, to_species_index)
{
real m_lg;
real T_SAT = 373.15;
Thread *gas, *liq;
gas = THREAD_SUB_THREAD(thread, from_index);
liq = THREAD_SUB_THREAD(thread, to_index);
m_lg = 0.0;

if (C_T(cell, liq) > T_SAT)
{ /* Evaporating */
m_lg = -0.1*C_VOF(cell,liq)*C_R(cell,liq)*
(C_T(cell,liq)-T_SAT)/T_SAT;
}
else if (C_T(cell, gas) < T_SAT)
{ /* Condensing */
m_lg = 0.1*C_VOF(cell,gas)*C_R(cell,#include "udf.h"

DEFINE_MASS_TRANSFER(liq_gas_source, cell, thread, from_index,
from_species_index, to_index, to_species_index)
{
real m_lg;
real T_SAT = 373.15;
Thread *gas, *liq;
gas = THREAD_SUB_THREAD(thread, from_index);
liq = THREAD_SUB_THREAD(thread, to_index);
m_lg = 0.0;

if (C_T(cell, liq) > T_SAT)
{ /* Evaporating */
m_lg = -0.1*C_VOF(cell,liq)*C_R(cell,liq)*
(C_T(cell,liq)-T_SAT)/T_SAT;
}
else if (C_T(cell, gas) < T_SAT)
{ /* Condensing */
m_lg = 0.1*C_VOF(cell,gas)*C_R(cell,gas)*
(T_SAT-C_T(cell,#include "udf.h"

DEFINE_MASS_TRANSFER(liq_gas_source, cell, thread, from_index,
from_species_index, to_index, to_species_index)
{
real m_lg;
real T_SAT = 373.15;
Thread *vapor, *liq;
gas = THREAD_SUB_THREAD(thread, from_index);
liq = THREAD_SUB_THREAD(thread, to_index);
m_lv = 0.0;

if (C_T(cell, liq) > T_SAT)
{ /* Evaporating */
m_lg = -0.1*C_VOF(cell,liq)*C_R(cell,liq)*
(C_T(cell,liq)-T_SAT)/T_SAT;
}
else if (C_T(cell, vapor) < T_SAT)
{ /* Condensing */
m_lg = 0.1*C_VOF(cell,vapor)*C_R(cell,vapor)*
(T_SAT-C_T(cell,vapor))/T_SAT;
}

return (m_lg);
}))/T_SAT;
}

return (m_lg);
})*
(T_SAT-C_T(cell,gas))/T_SAT;
}

return (m_lg);
})*
(T_SAT-C_T(cell,gas))/T_SAT;
}

return (m_lv);
}))/T_SAT;
}

return (m_lv);
}


but while executing its showing error,i used a rectangular geometry with bottom walls hot and top open to atmosphere.

pakk February 27, 2019 05:52

Tell us which error you see. Don't let us guess...

AKHIL123 March 12, 2019 23:25

sir,
i created a rectangular body,bottom wall i gave a temperature of 500k,mixture model is used.water and water vapor is used,but during standard initialization its showing that received a fatal signal.(segmentation fault)


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