[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:25:03 CDT 2010


Hi Pradeep,

Dependence of conductivity on time and space is not a problem once one 
uses non zero p30 in .rea that activates a call to uservp of .usr file

If you also need a dependence of conductivity on temperature you may 
want to consider either using the values from the previous time step or 
doing extrapolation in time.

Best,
Aleks


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