[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:40:04 CDT 2010
Thanks Aleks,
Will give that a try.
On Mon, Aug 23, 2010 at 4:25 PM, <nek5000-users at lists.mcs.anl.gov> wrote:
> 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
>>
>> _______________________________________________
> 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/595ba6c8/attachment.html>
More information about the Nek5000-users
mailing list