[Nek5000-users] Output of temperature gradient, scalar dissipation rate and convective flux

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Fri Sep 28 08:21:08 CDT 2012


Great -- Thanks Joerg!


On Fri, 28 Sep 2012, nek5000-users at lists.mcs.anl.gov wrote:

> Hi Paul,
>
> seems to work:
>
>      if ((mod(istep,iostep).eq.0).and.(istep.ge.iostep)) then
> !-----Temperature gradient
>        call gradm1(dtdx,dtdy,dtdz,t)
>
>        do i=1,n
>
> !-----Convective current
>          velu=vz(i,1,1,1)
>          uzt(i) = t(i,1,1,1,1)*velu
>
> !-----Thermal dissipation epsT=(grad T)**2/sqrt(RaPr)
>          gradt2=dtdx(i)**2+dtdy(i)**2+dtdz(i)**2
>          epst(i)=gradt2*rapr
>
>        enddo
>
> !-------No pressure field, no scalar output
>        ifpo=.false.
>        ifto=.false.
>
>        call outpost2(dtdx,dtdy,dtdz,pr,t,0,'gdt')
>        call outpost2(   t, uzt,epsT,pr,t,0,'uzt')
>
>        ifpo=.true.
>        ifto=.true.
>
>      endif
>
> Best regards, Joerg.
>
>
>
>
>
>> Hi Joerg,
>>
>> You can set ifpo=.false. just before the call to outpost.
>> You can then turn it back on.
>>
>> You can also output multiple passive scalars.  For this, however, you
>> need to call outpost2(), which has a slightly different interface.
>> Have a look at the source and hopefully it will be clear how to proceed
>> if you wish to dump additional scalar fields in that way.
>>
>> For myself, I tend to just use outpost() and then insert whatever I need
>> in the vx-vy-vz slots, coupled with different prefixes, as in the example
>> below.
>>
>> Paul
>>
>>
>> ----- Original Message -----
>> From: nek5000-users at lists.mcs.anl.gov
>> To: nek5000-users at lists.mcs.anl.gov
>> Sent: Friday, September 28, 2012 10:22:27 AM
>> Subject: [Nek5000-users] Output of temperature gradient,	scalar
>> dissipation rate and convective flux
>>
>> Hi,
>>
>> thanks for the following suggestion concerning our post processing
>> where we need temperature gradients, scalar dissipation rate and
>> convective heat fluxes:
>>
>>      subroutine userchk
>>         :
>>      parameter (lt=lx1*ly1*lz1*lelt)
>>      common /mygrad/ tx(lt),ty(lt),tz(lt)
>>         :
>>      if (mod(istep,iostep).eq.0) then ! , say,
>>         call gradm1(tx,ty,tz,t)
>>         call outpost(tx,ty,tz,pr,t,'gdt') ! write to gdtblah.f000...
>>      endif
>>         :
>>      return
>>      end
>>
>> It has however one shortcoming, namely the unnecessary additional
>> output of the pressure field which we don't need
>> for this analysis.
>>
>> As far as I can see when going down from the routine outpost -->
>> outpost2 --> prepost  this is a fixed
>> structure and the pressure field cannot be simply substituted by
>> another scalar field (e.g. the scalar dissipation rate)
>> since it might have a different dimension (e.g. in case of spaces
>> Pn-Pn-2 which we are using).
>>
>> --- Can this problem be solved without editing the routines prepost?
>> --- Is prepost_map inside prepost still necessary?
>>
>> Thanks, Joerg.
>> _______________________________________________
>> Nek5000-users mailing list
>> Nek5000-users at lists.mcs.anl.gov
>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>> _______________________________________________
>> Nek5000-users mailing list
>> Nek5000-users at lists.mcs.anl.gov
>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>


More information about the Nek5000-users mailing list