[Nek5000-users] dissipation
    nek5000-users at lists.mcs.anl.gov 
    nek5000-users at lists.mcs.anl.gov
       
    Mon Nov  9 09:40:50 CST 2015
    
    
  
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<mailto: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<mailto:nek5000-users-bounces at lists.mcs.anl.gov> [nek5000-users-bounces at lists.mcs.anl.gov<mailto:nek5000-users-bounces at lists.mcs.anl.gov>] on behalf of nek5000-users at lists.mcs.anl.gov<mailto:nek5000-users at lists.mcs.anl.gov> [nek5000-users at lists.mcs.anl.gov<mailto:nek5000-users at lists.mcs.anl.gov>]
Sent: Sunday, November 08, 2015 4:37 PM
To: nek5000-users at lists.mcs.anl.gov<mailto: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<mailto: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/a6854545/attachment-0001.html>
    
    
More information about the Nek5000-users
mailing list