# Sudden drop in UDS value

Hi all,

I simulate the moisture loss of a pile of potatoes through which humid air flows. I simulate the situation via a transient 2D model with porous zone. In the solid part of the porous zone I defined a UDS (=moisture content of the potatoes in kg water/kg potato) in the solid part (=the potatoes) of the porous zone (=the pile of potatoes).

I defined a source term for the UDS (=moisture lost via evaporation) in the form of a UDF. In this UDF the source term is related to the temperature and h2o mass fraction in the fluid part (=humid air) of the porous zone. Th humid air is modeled via species transport.

I patch the UDS value in the solid part (0.8), the h2o mass fraction in the fluid part (=0.01065) and the temperature of the solid (288.15K) and fluid (286.15K) part of the porous zone.

When I do some hand calculations the value for the source term is realistic: per m³ potatoes 0.14g of water is lost per second. However, when I run the simulation the UDS value drops immediately to 0 after only 1e-4s.

Can anyone help me with this?

Thanks in advance for your time!

Anne-Sophie

## Answers

Why are you using a scalar and water vapour, or have I missed something?

I want to keep track of the moisture loss of the potatoes, which are the solid part of the porous zone. Therefor I defined a UDS that stands for the moisture content of the potatoes. I thought I couldn't do that with species transport. Is there a better way to do this?

Are you solving for that UDS as transport equation: if no I guess a simple user memory is enough. And here you need to clearly describe the law used for evaporation of the moisture content and how you have formulated it. Moreover: are you accounting for the porosity in your source terms calculations?

Yes, I am using the UDF as a transport equation. I tried multiplying with 1-porosity (=volume fraction of solid/potatoes in the porous zone=1-0.36) but the drop in UDS value was the same.

Would it be better to use an evaporation-condensation model?

This is my UDF for evaporation:

DEFINE_SOURCE(potato_UDS_evap_moisture,cell,thread,ds,eqn)

{

Domain *d=Get_Domain(1);

Thread *t1 = Lookup_Thread(d,IDfluid);

Thread *t2 = Lookup_Thread(d,IDsolid);

real densa=C_R(cell,t1);

real Ta=C_T(cell,t1);

real Tp=C_T(cell,t2);

real vel=sqrt((C_V(cell,t1)*C_V(cell,t1))+(C_U(cell,t1)*C_U(cell,t1)));

real aw=0.95-0.28*(0.8-C_UDSI(cell,t2,0));

real C1=0.0091E3;

real C2=-7.5129E3;

real C3=3875.1E3;

real hfg=C1*pow(Tp,2)+C2*Tp+C3;

real ht=alphac1*0.06+((alphac2*pow(vel,0.67))/pow(0.06,0.33));èkj

real hm=ht/(densa*cpa);

real molmass_mixture=(C_R(cell,t1)*R*Ta)/((C_P(cell,t1)+101325)/1000);

real molfr_h2o=C_YI(cell,t1,0)*(molmass_mixture/18.02);

real pw=molfr_h2o*((C_P(cell,t1)+101325)/1000);

real rhova=(pw*18.02)/(R*Ta);

real pwsp=exp((-5800.2206/Tp)-5.516256-(0.048640239*Tp)+(0.000041764768*pow(Tp,2))-(0.000000014452093*pow(Tp,3))+(6.5459673*log(Tp)));

real rhovp=aw*pwsp*(Mw/R*Tp);

real m=hm*Aspec*(rhovp-rhova);

real source=-m*(1-0.36);

return source;

}

Does anyone have an idea of what could be wrong?

Just a comment: How sure are you about the linking between the two threads t1 and t1 if you are on cell thread t (DEFINE_SOUCE passed one): in other words it can be possible that the UDF won't work well especially in parallel where threads may be located on different partitions.

I will avoid using UDS and resolving the solid part and stick to a porous media and work with UDM's to store absorption rates and mass sources. Another UDM can keep track of the water content which will then decrease or increase locally.

A good paper: https://www.researchgate.net/publication/49591372_Modeling_and_Simulation_of_Fixed_Bed_Adsorption_Column_using_Integrated_CFD_Approach

Thanks Amine, I will look into that!