[Nek5000-users] dissipation

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Mon Nov 9 10:22:38 CST 2015


Thank you, Paul
Do you mean that opcopy does unnecessary work of copying three components
of vector, when I need really output of only only scalar?
But as a result of
      call opcopy(vx,vy,vx,sij2,vy,vz)
      call hpts()
It is important for me to understand now if
I will anyway have in the first column the sij2?
Or you mean that vx and sij2 structures are different, so opcopy is not
correct and I will not have sij2 in the first column?

Thank you, Ilias


I hoped It would be easier...


But if I am right
call gradm1(dtdx,dtdy,dtdz,t)
or
call comp_vort3(v1,v2,v3,vx,vy,vz)
preserves vector structure,
so it can be used with opcopy.

So may be there is a way to construct dissipation which can also be used







On Mon, Nov 9, 2015 at 4:40 PM, <nek5000-users at lists.mcs.anl.gov> wrote:

>
> Hi Ilias,
>
> opcopy is for vector to vector copies - so that would not be correct usage.
>
> I would just look carefully at the hpts constructs if you want to
> interpolate your
> dissipation.
>
> Paul
>
> ------------------------------
> *From:* nek5000-users-bounces at lists.mcs.anl.gov [
> nek5000-users-bounces at lists.mcs.anl.gov] on behalf of
> nek5000-users at lists.mcs.anl.gov [nek5000-users at lists.mcs.anl.gov]
> *Sent:* Monday, November 09, 2015 9:34 AM
> *To:* nek5000-users at lists.mcs.anl.gov
> *Subject:* Re: [Nek5000-users] dissipation
>
> An afterquesion;
> Am I right that  I use the obtained field of dissipation
> for hpts output through
>       call opcopy(vx,vy,pr,sij2,vy,vz)
>       hpts()
> ?
>
> Thank you, Ilias
>
>
> On Mon, Nov 9, 2015 at 5:03 AM, <nek5000-users at lists.mcs.anl.gov> wrote:
>
>>
>> Hi Ilias,
>>
>>
>> How about:
>>
>>       subroutine dissipation(sij2)
>>
>>
>>       include 'SIZE'
>>
>>       include 'TOTAL'
>>
>>
>>       real sij2(lx1*ly1*lz1,lelt)
>>
>>
>>       common /scrns/         sij (lx1*ly1*lz1,6,lelv)
>>
>>
>>       parameter (lr=lx1*ly1*lz1)
>>
>>       common /scruz/         ur(lr),us(lr),ut(lr)
>>
>>      $                     , vr(lr),vs(lr),vt(lr)
>>
>>      $                     , wr(lr),ws(lr),wt(lr)
>>
>>
>>       integer e
>>
>>
>>       nij = 3+3*(ndim-2)
>>
>>
>>       call comp_sij(sij,nij,vx,vy,vz,ur,us,ut,vr,vs,vt,wr,ws,wt)
>>
>>
>>       nxyz = nx1*ny1*nz1
>>
>>       n    = nx1*ny1*nz1*nelv
>>
>>
>>       call rzero(sij2,n)
>>
>>
>>       do e=1,nelv
>>
>>       do j=1,nij
>>
>>       do i=1,nxyz
>>
>>          sij2(i,e)=sij2(i,e)+sij(i,j,e)**2
>>
>>       enddo
>>
>>       enddo
>>
>>       enddo
>>
>>
>>       return
>>
>>       end
>>
>> ?
>>
>> This should function correctly.
>>
>> Best, Paul
>>
>>
>> ------------------------------
>> *From:* nek5000-users-bounces at lists.mcs.anl.gov [
>> nek5000-users-bounces at lists.mcs.anl.gov] on behalf of
>> nek5000-users at lists.mcs.anl.gov [nek5000-users at lists.mcs.anl.gov]
>> *Sent:* Sunday, November 08, 2015 4:37 PM
>> *To:* nek5000-users at lists.mcs.anl.gov
>> *Subject:* [Nek5000-users] dissipation
>>
>> Dear neks,
>> I am trying to user comp_sij to compute dissipation in every point of the
>> domain.
>> The data storage is organised according to
>>       real sij(lx1*ly1*lz1,nij,lelv)
>> so the index of a component of tensor
>> precedes number of element, and
>> the is no continuous block of lx1*ly1*lz1,lelv points for an element of
>> tensor.
>> And so, the global functions like col3 of glsc can not be applied.
>> At least I don't understand how.
>>
>> To bypass this, I copied comp_sij to my usr file and changed the order of
>> last indices in sij
>>       real sij(lx1*ly1*lz1,lelv,nij)
>>
>>
>> After that I use the followng code to compute viscous dissipation
>>
>>        nij = 3
>>        if (if3d) nij=6
>>
>>       call il_comp_sij(sij,nij,vx,vy,vz,ur,us,ut,vr,vs,vt,wr,ws,wt)
>>
>>       call rzero(il_dissip,lv)
>>
>>       do j=1,nij
>>       call col3(sij2,sij(1,1,1,1,j),sij(1,1,1,1,j),nxyz)
>>       il_dissip=il_dissip+sij2
>>        if (if3d .and. j.ge.4) then
>>       il_dissip=il_dissip+sij2
>>        end if
>>       if ( .not. if3d .and. j.eq.3 ) then
>>       il_dissip=il_dissip+sij2
>>       end if
>>       il_dissip=2*param(2)*il_dissip
>>       enddo
>>
>> Is is a fair way to compute dissipation?
>>
>> Thanks, Ilias
>>
>>
>>
>> _______________________________________________
>> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/nek5000-users/attachments/20151109/c34a15a2/attachment.html>


More information about the Nek5000-users mailing list