[Nek5000-users] Temperature gradient at a point

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Mon Aug 23 16:13:48 CDT 2010


Hi Paul,

Thanks for the detailed reply. The reason I'm not solving it as a conjugate
heat transfer problem, is that thermal conductivity is a function of
temperature based on some curve fit equations, and I am not sure how to
implement that.

Thanks,
Pradeep

On Mon, Aug 23, 2010 at 4:04 PM, <nek5000-users at lists.mcs.anl.gov> wrote:

>
> Hi Pradeep,
>
> Why not just solve the conjugate heat transfer problem directly
> using fluid + solid elements in nek?
>
> Also, nek supports full Robin boundary conditions if you wish
> to do a Newton law of cooling:  k*dT/dn . n_hat = h*(T-Tinf), where Tinf is
> the external temperature and h is the heat transfer coefficient, both of
> which can be functions of time and space.
>
>
> Regarding gradm1, you would call it from userchk, and store
> the output in arrays in a common block, e.g., as below.
>
> Paul
>
>      subroutine userchk
>      :
>      common /mygrad/ tx(lx1,ly1,lz1,lelt)
>     $              , ty(lx1,ly1,lz1,lelt)
>     $              , tz(lx1,ly1,lz1,lelt)
>
>      call gradm1(tx,ty,tz,t)
>
>      :
>      :
>
>      subroutine userbc (ix,iy,iz,iside,eg)
>      include 'SIZE'
>      include 'TOTAL'
>      include 'NEKUSE'
>
>      common /mygrad/ tx(lx1,ly1,lz1,lelt)
>     $              , ty(lx1,ly1,lz1,lelt)
>     $              , tz(lx1,ly1,lz1,lelt)
>
>      integer e,eg
>
>      e = gllel(eg) ! global element number to processor-local el. #
>
>      gtx=tx(ix,iy,iz,e)
>      gty=ty(ix,iy,iz,e)
>      gtz=tz(ix,iy,iz,e)
>
>
>
>
> On Mon, 23 Aug 2010, nek5000-users at lists.mcs.anl.gov wrote:
>
>  Hi Paul,
>>
>> I am basically trying to solve a conjugate heat transfer problem in an
>> iterative manner, for flow over an infinitely long cylinder (2D).
>>
>> I need to use the heat transfer at the boundary, to calculate the new
>> temperature at the boundary for the next time step. The
>> temperature for the next time step is solved for using this heat flux, by
>> a
>> function in the usr file using an FEM algorithm for the solid part
>> (cylinder). The bc type I am using is Temperature - fortran function.
>>
>> Regards,
>> Pradeep
>>
>> On Mon, Aug 23, 2010 at 2:50 PM, <nek5000-users at lists.mcs.anl.gov> wrote:
>>
>>
>>> Pradeep,
>>>
>>> if you give me some idea of the nature of your bc, I can
>>> perhaps help --- there are a large number of bc types already
>>> supported inside nek
>>>
>>> Paul
>>>
>>>
>>>
>>> On Mon, 23 Aug 2010, nek5000-users at lists.mcs.anl.gov wrote:
>>>
>>>  Hi,
>>>
>>>>
>>>> I wanted to know if there was a way to find the temperature gradient at
>>>> a
>>>> point. I need that information in the userbc function.
>>>>
>>>> I tried using gradm1(), but I am not sure how to get the value at a
>>>> given
>>>> point.
>>>>
>>>> Thanks,
>>>> Pradeep
>>>>
>>>>  _______________________________________________
>>>>
>>> Nek5000-users mailing list
>>> Nek5000-users at lists.mcs.anl.gov
>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>
>>>
>>
>>
>> --
>> Pradeep C. Rao
>> Graduate Research Assistant for FT2L (http://www1.mengr.tamu.edu/FT2L/)
>> Department of Mechanical Engineering
>> Texas A&M University
>> College Station, TX 77843-3123
>>
>> 428 Engineering Physics Building
>> (713) 210-9769
>>
>>  uuuu
> c-----------------------------------------------------------------------
> C
> C  USER SPECIFIED ROUTINES:
> C
> C     - boundary conditions
> C     - initial conditions
> C     - variable properties
> C     - local acceleration for fluid (a)
> C     - forcing function for passive scalar (q)
> C     - general purpose routine for checking errors etc.
> C
> c-----------------------------------------------------------------------
>      subroutine uservp (ix,iy,iz,eg)
>      include 'SIZE'
>      include 'TOTAL'
>      include 'NEKUSE'
>
>      integer e,f,eg
> c     e = gllel(eg)
>
>      udiff =0.
>      utrans=0.
>      return
>      end
> c-----------------------------------------------------------------------
>      subroutine userf  (ix,iy,iz,eg)
>      include 'SIZE'
>      include 'TOTAL'
>      include 'NEKUSE'
>
>      integer e,f,eg
> c     e = gllel(eg)
>
>
> c     Note: this is an acceleration term, NOT a force!
> c     Thus, ffx will subsequently be multiplied by rho(x,t).
>
>
>      ffx = 0.0
>      ffy = 0.0
>      ffz = 0.0
>
>      return
>      end
> c-----------------------------------------------------------------------
>      subroutine userq  (ix,iy,iz,eg)
>      include 'SIZE'
>      include 'TOTAL'
>      include 'NEKUSE'
>
>      integer e,f,eg
> c     e = gllel(eg)
>
>      qvol   = 0.0
>
>      return
>      end
> c-----------------------------------------------------------------------
>      subroutine userchk
>      include 'SIZE'
>      include 'TOTAL'
>      return
>      end
> c-----------------------------------------------------------------------
>      subroutine userbc (ix,iy,iz,iside,ieg)
>      include 'SIZE'
>      include 'TOTAL'
>      include 'NEKUSE'
>      ux=0.0
>      uy=0.0
>      uz=0.0
>      temp=0.0
>      return
>      end
> c-----------------------------------------------------------------------
>      subroutine useric (ix,iy,iz,ieg)
>      include 'SIZE'
>      include 'TOTAL'
>      include 'NEKUSE'
>      ux=0.0
>      uy=0.0
>      uz=0.0
>      temp=0
>      return
>      end
> c-----------------------------------------------------------------------
>      subroutine usrdat
>      include 'SIZE'
>      include 'TOTAL'
> c
>      return
>      end
> c-----------------------------------------------------------------------
>      subroutine usrdat2
>      include 'SIZE'
>      include 'TOTAL'
>
>      param(66) = 4.   ! These give the std nek binary i/o and are
>      param(67) = 4.   ! good default values
>
>      return
>      end
> c-----------------------------------------------------------------------
>      subroutine usrdat3
>      include 'SIZE'
>      include 'TOTAL'
> c
>      return
>      end
> c-----------------------------------------------------------------------
>
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>



-- 
Pradeep C. Rao
Graduate Research Assistant for FT2L (http://www1.mengr.tamu.edu/FT2L/)
Department of Mechanical Engineering
Texas A&M University
College Station, TX 77843-3123

428 Engineering Physics Building
(713) 210-9769
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/nek5000-users/attachments/20100823/f33aceb6/attachment.html>


More information about the Nek5000-users mailing list