[Nek5000-users] comp_vort3, nelt, conj_ht

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Mon Mar 27 12:39:31 CDT 2017


Thanks Sandeep.

Your approach should work too.

Can you elaborate more on the difference ?

It may be because there is a dsavg() in comp_vort3... but I think I turned that off.

Comp_vort3 might be a bit faster, but we normally don't care about performance for
this routine, so I think your way is cleaner and thus better.

I'm concerned however that they are different (which likely points to a problem in the
new comp_vort3 routine).

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, March 27, 2017 11:16 AM
To: nek5000-users at lists.mcs.anl.gov
Subject: [Nek5000-users] comp_vort3, nelt, conj_ht

Thank you Paul. Now comp_vort3 doesnt give zeros in the solid domain.
What is the difference between comp_vort3 and the calculation of curl using
        call gradm1(dAxdx,dAxdy,dAxdz,t(1,1,1,1,1))
        call gradm1(dAydx,dAydy,dAydz,t(1,1,1,1,2))
        call gradm1(dAzdx,dAzdy,dAzdz,t(1,1,1,1,3))
        call sub3(bfx1,dAzdy,dAydz,m)
        call sub3(bfy1,dAxdz,dAzdx,m)
        call sub3(bfz1,dAydx,dAxdy,m)
​When I compare the glsc3 of a curls computed by comp_vort3 and gradm1, there is a difference of  0.5% to 1%.
Which procedure suits well, if I want to use u x curl in the userq

Sincerely,
Sandeep




Hi Sandeep,

This issue should now be resolved.

comp_vort3() will now compute the curl of the supplied vector field over all elements, e=1,...,nelt.

Moreover, prepost() has been modified to not put zeros in the velocity field when e > nelv.

So, you should be able to do something like:

       call comp_vort3(curlv,w1,w2,u,v,w)

       call outpost(curlv(1,1),curlv(1,2),culrv(1,3),pr,t,'   ')

and have the right thing happen.

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: Thursday, March 23, 2017 2:57 PM
To: nek5000-users at lists.mcs.anl.gov<mailto:nek5000-users at lists.mcs.anl.gov>
Subject: [Nek5000-users] comp_vort3, nelt, conj_ht

Hello Neks,
I modified conj_ht example and defined three scalars. NEL>NELV. The domain of scalars is bigger than the fluid.
I create a vector by taking the curl of three scalars, using
  common /myvort/ b1(lx1,ly1,lz1,lelt,3),
  call comp_vort3(b1,work1,work2,t(1,1,1,1,1),
$     t(1,1,1,1,2),t(1,1,1,1,3))

b1 is computed correctly in the fluid domain, but is solid domain it showing zero.
Can someone tell me how to modify the comp_vort3 subroutine, to correctly compute b1 over the entire domain.
I tried to modify call dudxyz(work1,w,rym1,sym1,tym1,jacm1,2,2), changing the imsh=2 (the last second parameter in the above call), but the the result remains the same.
I use the three components of computed b1 in userq
Thank you in advance.

Sincerely,
Sandeep


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/nek5000-users/attachments/20170327/1ec63688/attachment.html>


More information about the Nek5000-users mailing list