[Nek5000-users] Balancing heat flux BCs in periodic domain

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Thu Mar 15 12:47:12 CDT 2018


Hi Jon,

You can manually force the average temperature to be a certain value. If you add the following code in userchk, the average temperature should be constant:

      include 'TOTAL'

      real tw(lx1*ly1*lz1*lelt)

      offset = 1. ! desired average value

      n = lx1*ly1*lz1*nelt

      call col3(tw,t,bm1,n)
      tave = glsum(tw,n) / voltm1

      call cadd(t,offset-tave,n)

If you just want to check the average temperature value, you can add the following lines:

      call col3(tw,t,bm1,n)
      tave = glsum(tw,n) / voltm1
      write (6,*) 'tave=', tave

Kento

> On Mar 14, 2018, at 20:46, nek5000-users at lists.mcs.anl.gov wrote:
> 
> Hello Nek Users,
> 
> I have a periodic fluid domain with heat flux BCs at my walls. To prevent my temperatures from increasing indefinitely, I am prescribing a sink within userq using qvol which is equal to "user_flux * wall_surface_area / fluid_volume".
> 
> This works in theory. The issue is that due to round-off errors, my temperatures still increases (although extremely slowly).
> 
> I would like my average temperature be the same regardless of run time. What would be the most efficient method to balance the temperature in my domain?
> 
> Best,
> Jon
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users



More information about the Nek5000-users mailing list