[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:23:19 CDT 2010


OK - keep in mind that conductivity can be a function of whatever
you'd like...   You could thus conceivably time-step to the solution
(if you're after a steady state solution), or step in a time-accurate
way for an unsteady case.



On Mon, 23 Aug 2010, nek5000-users at lists.mcs.anl.gov wrote:

> 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
>



More information about the Nek5000-users mailing list