[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