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!



  • RobRob UKForum Coordinator

    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?

  • DrAmineDrAmine GermanyForum Coordinator

    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?

  • annesannes Member
    edited August 2020

    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:



       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?

  • DrAmineDrAmine GermanyForum Coordinator

    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.

  • Thanks Amine, I will look into that!

Sign In or Register to comment.