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