From nek5000-users at lists.mcs.anl.gov Thu Mar 1 14:19:45 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Thu, 01 Mar 2012 21:19:45 +0100 Subject: [Nek5000-users] stokes flow with time-dependent boundary In-Reply-To: References: <4EEF6A48.9090601@mech.kth.se> <4EF1ED90.702@mech.kth.se> <4EF24BC8.8030302@mech.kth.se> <1330458936.19986.44.camel@falketind.mech.kth.se> Message-ID: <1330633185.19986.667.camel@falketind.mech.kth.se> Hello, Paul, thank you for you reply. After making these changes, i still did not get convergent results. however, i find that if i change NMXH to 1000 in driver2.f, then at least, ' **ERROR**: Failed in HMHOLTZ' will disappear, but 'Divergence' message printed by the subroutine uzawa remains. Another good news is that the resultant flow field looks reasonable compared to the analytical results, btw, i am calculating a 2d poiseuille flow with 'v O w w' BC. the divergence message is like '20 2.58595E-06 2.05697E-06 2.58595E-01 7.95442E-06 1 Divergence' i guess the 'Divergence' message is printed by the uzawa subroutine, its iteration number NMXH is set to 1000 in driver2.f file. any ideas? thanks in advance. lailai > Hi Lailai > > It's not clear that the simulation has broken down (nor that it hasn't). > In particular, your divergence on the first iteration is relatively small, > which is good. My guess is that this will ultimately converge. > > > 1 1.00000E-08 2.67182E-01 2.67182E-01 1.00000E+00 1 Divergence > > I would suggest to set the "divergence" and "helmholtz" parameters in > your .rea file to be 0, and set tolrel and tolabs to be 0.01. > > Nek will then try to optimize the tolerance for the iterative solvers > to give you a good solution with minimal computational overhead. > > Paul > > > > > > On Tue, 28 Feb 2012, nek5000-users at lists.mcs.anl.gov wrote: > > > Hello, Paul, > > > > thank you for your reply. By following you suggestion, after switching > > the flag IFNAN to F, i can run unsteady stokes flow, however, if i want > > to run a single steady stokes flow, i switch the flag IFTRAN to F(i > > guess i am right here), but the simulation will break down. the first > > recorded error in the log file looks like > > > > 1 100 **ERROR**: Failed in HMHOLTZ: VELX 6.2080E-01 1.7717E+02 > > 1.0000E-08 > > 1.0000000000000000E-008 p22 1 1 > > 1 1 Helmholtz VELY F: 0.0000E+00 1.0000E-08 1.0000E+00 > > 0.0000E+00 > > 1 Hmholtz VELY: 0 0.0000E+00 0.0000E+00 > > 1.0000E-08 > > 1 1.00000E-08 2.67182E-01 2.67182E-01 1.00000E+00 1 Divergence > > 1.0000000000000000E-008 p22 1 1 > > New CG1-tolerance (RINIT*epsm) = 5.4238943644626018E-014 > > > > any ideas on this? thanks in advance. > > > > lailai > > > > > > > > > > On Wed, 2011-12-21 at 15:17 -0600, nek5000-users at lists.mcs.anl.gov > > wrote: > >> Hi Lailai, > >> > >> I suggest initially starting with a single run, using steady Stokes. > >> (Note, steady Stokes works only for Pn-Pn-2, so set lx2,ly2 = lx1-2, etc.) > >> > >> Paul > >> > >> > >> On Wed, 21 Dec 2011, nek5000-users at lists.mcs.anl.gov wrote: > >> > >>> thank you for your tip, Paul. > >>> > >>> i think we are solving a series of Stokes problems linked by a time-dependent > >>> boundary condition. > >>> The time-derivative term is zero and we are not solving an unsteady Stokes > >>> problem. I think we are not clear how to solve a series of Stokes problems. > >>> > >>> lailai > >>> > >>> > >>> > >>> > >>> > >>> On 12/21/2011 06:47 PM, nek5000-users at lists.mcs.anl.gov wrote: > >>>> Hi Lailai, > >>>> > >>>> To switch to unsteady Stokes, you simply set the flag > >>>> IFNAV to "F" in the .rea file, which turns off the convective > >>>> term and simultaneously eliminates the CFL timestep constraint. > >>>> > >>>> [ Set: > >>>> > >>>> T F F F F F F F F F F IFNAV & IFADVC (convection in P.S. fields) > >>>> > >>>> to > >>>> > >>>> F F F F F F F F F F F IFNAV & IFADVC (convection in P.S. fields) > >>>> > >>>> .] > >>>> > >>>> It's still not clear to me if you are solving an unsteady > >>>> Stokes problem, or a series of steady Stokes problems. > >>>> (There is a difference...) > >>>> > >>>> Nek can handle either case with equal ease. > >>>> > >>>> I hope this helps. > >>>> > >>>> Paul > >>>> > >>>> > >>>> On Wed, 21 Dec 2011, nek5000-users at lists.mcs.anl.gov wrote: > >>>> > >>>>> On 12/19/2011 06:17 PM, nek5000-users at lists.mcs.anl.gov wrote: > >>>>>> > >>>>>> Hi Lailai, > >>>>>> > >>>>>> I have used the approach you proposed for solving multiple > >>>>>> steady stokes problems... you use an artificially large > >>>>>> timestep. That works. > >>>>>> > >>>>> > >>>>> thank for your reply, if understand correctly, here you are talking about > >>>>> the second approach i proposed. For each time step, we solve a transient > >>>>> problem with very large internal timestep to quickly get to the > >>>>> steady-state solution. > >>>>> since i am very new to nek5000, thus i am not sure how to implement this > >>>>> method which seems not trivial. > >>>>> > >>>>> On the other hand, i started from the first example of the Kovasznay > >>>>> problem. I remove the time-derivative and convection term by setting the > >>>>> density in .rea file to zero, the numerical results agree very well with > >>>>> the analytical solution with zero Re number. I guess here the solver is > >>>>> just inverting a matrix which seems feasible for a 2D problem but might be > >>>>> too expensive or inefficient for a 3D problem. > >>>>> > >>>>> > >>>>>> If you really have a time-dependent boundary condition, there > >>>>>> is no reason you can't just use the unsteady Stokes solver > >>>>>> with whatever timestep is required to accurately resolve your > >>>>>> temporal bcs. Note that, in this case, you would indeed have > >>>>>> the inertial term rho du/dt present in the physics. > >>>>>> > >>>>> > >>>>> > >>>>>> Paul > >>>>>> > >>>>>> > >>>>>> On Mon, 19 Dec 2011, nek5000-users at lists.mcs.anl.gov wrote: > >>>>>> > >>>>>>> Hello, guys, > >>>>>>> > >>>>>>> i am a new guy to Nek5000, i saw the manual of nek5000 that it can solve > >>>>>>> the steady stokes flow. > >>>>>>> i guess when i solve such a flow, do i need to set it as a transient > >>>>>>> simulation with time-derivative term included to get a steady-state > >>>>>>> solution? or, i can solve it by a direct solver method to get the > >>>>>>> solution immediately? > >>>>>>> > >>>>>>> since i want to add some time-dependent boundary condition for the > >>>>>>> steady stokes flow, so it will be pretty nice if i can solve it using > >>>>>>> the direct solver, for each time step, i solve one stokes flow; if > >>>>>>> nek5000 cannot solve it in such a way, i guess i have to use the first > >>>>>>> way; then for each time step i have to solve a transient problem to > >>>>>>> approach the steady state with some artificial time step used. > >>>>>>> > >>>>>>> i am not sure if i have stated my problem clearly. hopefully you guys > >>>>>>> have some experience on the feasibility of the two ways mentioned above. > >>>>>>> Thank you in advance. > >>>>>>> > >>>>>>> lailai > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> _______________________________________________ > >>>>>>> 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 > >>>>> > >>>> _______________________________________________ > >>>> 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 > > > > > > _______________________________________________ > > 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 From nek5000-users at lists.mcs.anl.gov Thu Mar 1 14:46:43 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Thu, 1 Mar 2012 14:46:43 -0600 (CST) Subject: [Nek5000-users] stokes flow with time-dependent boundary In-Reply-To: <1330633185.19986.667.camel@falketind.mech.kth.se> References: <4EEF6A48.9090601@mech.kth.se> <4EF1ED90.702@mech.kth.se> <4EF24BC8.8030302@mech.kth.se> <1330458936.19986.44.camel@falketind.mech.kth.se> <1330633185.19986.667.camel@falketind.mech.kth.se> Message-ID: Lailai, This appears to be working fine. The code iterates until a reasonably small L2-norm of the velocity divergence is obtained. For plane Poiseuille flow there will be no (or at most 1) pressure iterations. Paul On Thu, 1 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hello, Paul, > > thank you for you reply. After making these changes, i still did not get > convergent results. however, i find that if i change NMXH to 1000 in > driver2.f, then at least, ' **ERROR**: Failed in HMHOLTZ' will > disappear, but 'Divergence' message printed by the subroutine uzawa > remains. Another good news is that the resultant flow field looks > reasonable compared to the analytical results, btw, i am calculating a > 2d poiseuille flow with 'v O w w' BC. > > the divergence message is like > '20 2.58595E-06 2.05697E-06 2.58595E-01 7.95442E-06 1 Divergence' > > i guess the 'Divergence' message is printed by the uzawa subroutine, its > iteration number NMXH is set to 1000 in driver2.f file. > > any ideas? thanks in advance. > > lailai > > >> Hi Lailai >> >> It's not clear that the simulation has broken down (nor that it hasn't). >> In particular, your divergence on the first iteration is relatively small, >> which is good. My guess is that this will ultimately converge. >> >>> 1 1.00000E-08 2.67182E-01 2.67182E-01 1.00000E+00 1 Divergence >> >> I would suggest to set the "divergence" and "helmholtz" parameters in >> your .rea file to be 0, and set tolrel and tolabs to be 0.01. >> >> Nek will then try to optimize the tolerance for the iterative solvers >> to give you a good solution with minimal computational overhead. >> >> Paul >> >> >> >> >> >> On Tue, 28 Feb 2012, nek5000-users at lists.mcs.anl.gov wrote: >> >>> Hello, Paul, >>> >>> thank you for your reply. By following you suggestion, after switching >>> the flag IFNAN to F, i can run unsteady stokes flow, however, if i want >>> to run a single steady stokes flow, i switch the flag IFTRAN to F(i >>> guess i am right here), but the simulation will break down. the first >>> recorded error in the log file looks like >>> >>> 1 100 **ERROR**: Failed in HMHOLTZ: VELX 6.2080E-01 1.7717E+02 >>> 1.0000E-08 >>> 1.0000000000000000E-008 p22 1 1 >>> 1 1 Helmholtz VELY F: 0.0000E+00 1.0000E-08 1.0000E+00 >>> 0.0000E+00 >>> 1 Hmholtz VELY: 0 0.0000E+00 0.0000E+00 >>> 1.0000E-08 >>> 1 1.00000E-08 2.67182E-01 2.67182E-01 1.00000E+00 1 Divergence >>> 1.0000000000000000E-008 p22 1 1 >>> New CG1-tolerance (RINIT*epsm) = 5.4238943644626018E-014 >>> >>> any ideas on this? thanks in advance. >>> >>> lailai >>> >>> >>> >>> >>> On Wed, 2011-12-21 at 15:17 -0600, nek5000-users at lists.mcs.anl.gov >>> wrote: >>>> Hi Lailai, >>>> >>>> I suggest initially starting with a single run, using steady Stokes. >>>> (Note, steady Stokes works only for Pn-Pn-2, so set lx2,ly2 = lx1-2, etc.) >>>> >>>> Paul >>>> >>>> >>>> On Wed, 21 Dec 2011, nek5000-users at lists.mcs.anl.gov wrote: >>>> >>>>> thank you for your tip, Paul. >>>>> >>>>> i think we are solving a series of Stokes problems linked by a time-dependent >>>>> boundary condition. >>>>> The time-derivative term is zero and we are not solving an unsteady Stokes >>>>> problem. I think we are not clear how to solve a series of Stokes problems. >>>>> >>>>> lailai >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On 12/21/2011 06:47 PM, nek5000-users at lists.mcs.anl.gov wrote: >>>>>> Hi Lailai, >>>>>> >>>>>> To switch to unsteady Stokes, you simply set the flag >>>>>> IFNAV to "F" in the .rea file, which turns off the convective >>>>>> term and simultaneously eliminates the CFL timestep constraint. >>>>>> >>>>>> [ Set: >>>>>> >>>>>> T F F F F F F F F F F IFNAV & IFADVC (convection in P.S. fields) >>>>>> >>>>>> to >>>>>> >>>>>> F F F F F F F F F F F IFNAV & IFADVC (convection in P.S. fields) >>>>>> >>>>>> .] >>>>>> >>>>>> It's still not clear to me if you are solving an unsteady >>>>>> Stokes problem, or a series of steady Stokes problems. >>>>>> (There is a difference...) >>>>>> >>>>>> Nek can handle either case with equal ease. >>>>>> >>>>>> I hope this helps. >>>>>> >>>>>> Paul >>>>>> >>>>>> >>>>>> On Wed, 21 Dec 2011, nek5000-users at lists.mcs.anl.gov wrote: >>>>>> >>>>>>> On 12/19/2011 06:17 PM, nek5000-users at lists.mcs.anl.gov wrote: >>>>>>>> >>>>>>>> Hi Lailai, >>>>>>>> >>>>>>>> I have used the approach you proposed for solving multiple >>>>>>>> steady stokes problems... you use an artificially large >>>>>>>> timestep. That works. >>>>>>>> >>>>>>> >>>>>>> thank for your reply, if understand correctly, here you are talking about >>>>>>> the second approach i proposed. For each time step, we solve a transient >>>>>>> problem with very large internal timestep to quickly get to the >>>>>>> steady-state solution. >>>>>>> since i am very new to nek5000, thus i am not sure how to implement this >>>>>>> method which seems not trivial. >>>>>>> >>>>>>> On the other hand, i started from the first example of the Kovasznay >>>>>>> problem. I remove the time-derivative and convection term by setting the >>>>>>> density in .rea file to zero, the numerical results agree very well with >>>>>>> the analytical solution with zero Re number. I guess here the solver is >>>>>>> just inverting a matrix which seems feasible for a 2D problem but might be >>>>>>> too expensive or inefficient for a 3D problem. >>>>>>> >>>>>>> >>>>>>>> If you really have a time-dependent boundary condition, there >>>>>>>> is no reason you can't just use the unsteady Stokes solver >>>>>>>> with whatever timestep is required to accurately resolve your >>>>>>>> temporal bcs. Note that, in this case, you would indeed have >>>>>>>> the inertial term rho du/dt present in the physics. >>>>>>>> >>>>>>> >>>>>>> >>>>>>>> Paul >>>>>>>> >>>>>>>> >>>>>>>> On Mon, 19 Dec 2011, nek5000-users at lists.mcs.anl.gov wrote: >>>>>>>> >>>>>>>>> Hello, guys, >>>>>>>>> >>>>>>>>> i am a new guy to Nek5000, i saw the manual of nek5000 that it can solve >>>>>>>>> the steady stokes flow. >>>>>>>>> i guess when i solve such a flow, do i need to set it as a transient >>>>>>>>> simulation with time-derivative term included to get a steady-state >>>>>>>>> solution? or, i can solve it by a direct solver method to get the >>>>>>>>> solution immediately? >>>>>>>>> >>>>>>>>> since i want to add some time-dependent boundary condition for the >>>>>>>>> steady stokes flow, so it will be pretty nice if i can solve it using >>>>>>>>> the direct solver, for each time step, i solve one stokes flow; if >>>>>>>>> nek5000 cannot solve it in such a way, i guess i have to use the first >>>>>>>>> way; then for each time step i have to solve a transient problem to >>>>>>>>> approach the steady state with some artificial time step used. >>>>>>>>> >>>>>>>>> i am not sure if i have stated my problem clearly. hopefully you guys >>>>>>>>> have some experience on the feasibility of the two ways mentioned above. >>>>>>>>> Thank you in advance. >>>>>>>>> >>>>>>>>> lailai >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> 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 >>>>>>> >>>>>> _______________________________________________ >>>>>> 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 >>> >>> >>> _______________________________________________ >>> 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 > From nek5000-users at lists.mcs.anl.gov Thu Mar 1 15:09:57 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Thu, 01 Mar 2012 22:09:57 +0100 Subject: [Nek5000-users] middle plane flux Message-ID: <20120301220957.994227o61in5hbj9@www.mech.kth.se> Dear NEKs I am using NEK5000 to simulate turbulent flow in duct (channel with side walls). I would like to calculate flux at the middle slab of the domain (a zy plane) in each time step in order to compare it with my bulk (Z is my streamwise direction). Attached file is the .usr file containing the routine I wrote to compute the mid-flux. Seems works fine for the primitive tests; however, when I increase number of processors to 256 or upper it gives me NaNs. I was wondering if you could help me with that. With many thanks in advance. Azad ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. -------------- next part -------------- c----------------------------------------------------------------------- subroutine uservp (ix,iy,iz,ieg) include 'SIZE' include 'TOTAL' include 'NEKUSE' C udiff =0. utrans=0. return end c----------------------------------------------------------------------- subroutine userf (ix,iy,iz,ieg) include 'SIZE' include 'TOTAL' include 'NEKUSE' c include 'TRIPF' ffx = 0.0 ffy = 0.0 ffz = 0.0 return end c----------------------------------------------------------------------- subroutine userq (ix,iy,iz,ieg) include 'SIZE' include 'TOTAL' include 'NEKUSE' C qvol = 0.0 source = 0.0 return end c----------------------------------------------------------------------- subroutine userchk ! called once per step include 'SIZE' include 'TOTAL' if (istep.gt.10) call flux_2d(vz) return end c----------------------------------------------------------------------- subroutine userbc (ix,iy,iz,iside,ieg) include 'SIZE' include 'TOTAL' include 'NEKUSE' ux=0.0 uy=0.0 uz=0.0 return end c----------------------------------------------------------------------- subroutine useric (ix,iy,iz,ieg) include 'SIZE' include 'TOTAL' include 'NEKUSE' real pi,zs real a,s ux = 0. uy = 0. uz = 3.0*(2.0-x**2-y**2)/4.0 s = 1.0 call random_number(a) a=a-0.5 ux=ux+s*a call random_number(a) a=a-0.5 uy=uy+s*a call random_number(a) a=a-0.5 uz=uz+s*a return end C======================================================================= SUBROUTINE usrdat include 'SIZE' include 'TOTAL' include 'ZPER' ! For nelx,nely,nelz - needed for z_average nelx = 22 nely = 22 nelz = 95 RETURN END C======================================================================= subroutine usrdat2 return end c----------------------------------------------------------------------- subroutine usrdat3 return end c---------------------------------------------------------------------- c----------------------------------------------------------------------- subroutine flux_2d(uz) include 'SIZE' include 'TOTAL' include 'ZPER' real uz(1) common /scravg/ w(1),w1(1),w2(1) real Re_bulk, Re_mid Re_bulk = 1.0 / param(2) call zy_plane_average(w,uz,w1,w2) Re_mid = Re_bulk * w(1) if (nid.eq.0) then open(unit=37,access='append',file='history') c write(37,'(A)') ' Time ' write(37,3) time,Re_mid if (nid.eq.0.and.istep.eq.NTSTEPS) then close(37) endif 3 format(1p15e17.9) endif c write(*,*) 'mid flux:::::::::', w return end c----------------------------------------------------------------------- subroutine zy_plane_average(ua,u,w1,w2) c c Compute the zy average of quantity u() in the mid plane of the domain in the x direction. c include 'SIZE' include 'GEOM' include 'PARALLEL' include 'WZ' include 'ZPER' real ua(1),u (nx1,ny1,nz1,nelv) $ ,w1(1),w2(1) integer e,eg,ex,ey,ez real dy2,dz2 integer frame, plane C Find the mid-plane element-number for even/odd number of elements in the x direction if (mod(nelx,2).eq.0) then frame = (real(nelx) / 2.0) + 1 plane = 1 else if (mod(nelx,2).eq.1) then frame = floor(real(nelx) / 2.0) plane = floor(real(nx1) / 2.0) + 1 end if nelxy = nelx*nely if (nelxy.gt.lelx*lely) call exitti $ ('ABORT IN yz_plane_average.Increase lelx*lely in SIZE:$',nelxy) call rzero(ua,1) call rzero(w1,1) do e=1,nelt eg = lglel(e) call get_exyz(ex,ey,ez,eg,nelx,nely,nelz) i = plane if (ex.eq.frame) then do j=1,ny1 do i=plane,plane dy2 = 1.0*( ym1(i,ny1,k,e) - ym1(i,1,k,e) ) ! Computing the length of the elements in the y direction dz2 = 1.0 ! Assuming uniform in "z" direction do k=1,nz1 ua(i)=ua(i)+dy2*wym1(j)*dz2*wzm1(k)*u(i,j,k,e) w1(i)=w1(i)+dy2*wym1(j)*dz2*wzm1(k) ! the weigths which must be equal to the yz area enddo enddo enddo endif enddo call gop(ua,w2,'+ ',mxy) call gop(w1,w2,'+ ',mxy) ua(:) = ua(:) / w1(:) ! Normalize return end c----------------------------------------------------------------------- c automatically added by makenek subroutine usrsetvert(glo_num,nel,nx,ny,nz) ! to modify glo_num integer*8 glo_num(1) return end From nek5000-users at lists.mcs.anl.gov Fri Mar 2 02:43:21 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 2 Mar 2012 09:43:21 +0100 Subject: [Nek5000-users] fld file with Visit "The first time step in a Nek file must contain a mesh" Message-ID: Hi neks, I try to visualize the V.karman' vortexes by computing the vorticity field with this subroutine : if(mod(istep,iostep).eq.0) then call comp_vort3(vort,work1,work2,vx,vy,vz) call outpost(vort(1,3),vort(1,2),vort(1,1),pr,t,'vrt') endif Which works but, when i try to post-processes the data with Vizit i got the fallowing error message : "The first time step in a Nek file must contain a mesh" i try to open my vrt[mycase].fld* files with vis.nek3D which contains NEK5000 version 1.0 filetemplate: vrtvkarman2.fld%02d firsttimestep: 1 numtimesteps: 2 Is there a way to fix this ? Sorry for my poor english .. B.regards Can -------------- next part -------------- An HTML attachment was scrubbed... URL: From nek5000-users at lists.mcs.anl.gov Fri Mar 2 02:41:46 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 02 Mar 2012 09:41:46 +0100 Subject: [Nek5000-users] The first time step in a Nek file must contain a mesh Message-ID: <4F5087CA.1040009@onera.fr> Hi neks, I try to visualize the V.karman' vortexes by computing the vorticity field with this subroutine : if(mod(istep,iostep).eq.0) then call comp_vort3(vort,work1,work2,vx,vy,vz) call outpost(vort(1,3),vort(1,2),vort(1,1),pr,t,'vrt') endif Which works but, when i try to post-processes the data with Vizit i got the fallowing error message : "The first time step in a Nek file must contain a mesh" i try to open my vrt[mycase].fld* files with vis.nek3D which contains NEK5000 version 1.0 filetemplate: vrtvkarman2.fld%02d firsttimestep: 1 numtimesteps: 2 Is there a way to fix this ? Sorry for my poor english .. B.regards Can From nek5000-users at lists.mcs.anl.gov Fri Mar 2 06:23:44 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 2 Mar 2012 06:23:44 -0600 (CST) Subject: [Nek5000-users] =?utf-8?q?The_first_time_step_in_a_Nek_file_must_?= =?utf-8?q?contain_a=09mesh?= In-Reply-To: <4F5087CA.1040009@onera.fr> References: <4F5087CA.1040009@onera.fr> Message-ID: Hi, Generally speaking, nek should automatically dump the geometry on step 1. I'm not 100% certain why that did not happen in your case. It could be because your call to outpost executes on step 0 (i.e., after init. cond. is defined, but prior to the first step). Regarding vorticity, are you looking at a 2D case, or 3D? If 2D, for which vorticity is a scalar, I would recommend putting the vorticity in a temperature field and letting nek dump it. parameter(lt=lx1*ly1*lz1*lelv) common /scrns/ vort(lt*lelv,3),w1(lt),w2(lt) call comp_vort3(vort,w1,w2,vx,vy,vz) n=nx1*ny1*nz1*nelv k=1 call copy(t(1,1,1,1,k),vort,n) ! Put vorticity in temperature fld ifto=.true. ! Tell nek to dump temperature ....That's all you need, because now nek will dump the other variables as well as vorticity, which it will put into the temperature array. If you are also doing heat transfer, you will need to increase k and then set ipsco(k-1) to be .true. For 3D, a separate outpost call is a good idea. Here is a std. approach: parameter(lt=lx1*ly1*lz1*lelv) common /scrns/ vort(lt*lelv,3),w1(lt),w2(lt) if (istep.gt.0.and.mod(istep,iostep.eq.0)) then ifxyo=.false. if (istep.eq.1) ifxyo=.true. call comp_vort3(vort,w1,w2,vx,vy,vz) call outpost (vort(1,1),vort(1,2),vort(1,3),pr,t,'vrt') endif which puts the 3 vorticity components in the file where velocity would normally be. Also, it seems likely that you have param(66) and (67) set to 4 in your .usr file. This is fine, but if you are using VisIt, there are some potential advantages to not setting these values and letting nek set the default (which happens automatically if you set p66 and p67 to 0 in your .rea file and do not over-ride in the .usr file). Hope this helps, Paul On Fri, 2 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hi neks, > > I try to visualize the V.karman' vortexes by computing the vorticity field > with this subroutine : > > if(mod(istep,iostep).eq.0) then > call comp_vort3(vort,work1,work2,vx,vy,vz) > call outpost(vort(1,3),vort(1,2),vort(1,1),pr,t,'vrt') > endif > Which works but, when i try to post-processes the data with Vizit i got the > fallowing error message : > > "The first time step in a Nek file must contain a mesh" > > > i try to open my vrt[mycase].fld* files with vis.nek3D which contains > > NEK5000 > version 1.0 > filetemplate: vrtvkarman2.fld%02d > firsttimestep: 1 > numtimesteps: 2 > > Is there a way to fix this ? > Sorry for my poor english .. > B.regards > Can > > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users > From nek5000-users at lists.mcs.anl.gov Fri Mar 2 07:14:28 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 2 Mar 2012 07:14:28 -0600 (CST) Subject: [Nek5000-users] The first time step in a Nek file must contain a mesh In-Reply-To: Message-ID: <60077034.53414.1330694068470.JavaMail.root@zimbra.anl.gov> Hi Can, Also note that it is better to use extention .nek5000 for your VisIt matafile instead of .nek3d where you can also drop the first two lines. For automatic generation of this metafile .nek5000 and running visit with it you can use the following script: http://www.mcs.anl.gov/~obabko/nekvis Best. Aleks ----- Original Message ----- From: nek5000-users at lists.mcs.anl.gov To: nek5000-users at lists.mcs.anl.gov Sent: Friday, March 2, 2012 6:23:44 AM Subject: Re: [Nek5000-users] The first time step in a Nek file must contain a mesh Hi, Generally speaking, nek should automatically dump the geometry on step 1. I'm not 100% certain why that did not happen in your case. It could be because your call to outpost executes on step 0 (i.e., after init. cond. is defined, but prior to the first step). Regarding vorticity, are you looking at a 2D case, or 3D? If 2D, for which vorticity is a scalar, I would recommend putting the vorticity in a temperature field and letting nek dump it. parameter(lt=lx1*ly1*lz1*lelv) common /scrns/ vort(lt*lelv,3),w1(lt),w2(lt) call comp_vort3(vort,w1,w2,vx,vy,vz) n=nx1*ny1*nz1*nelv k=1 call copy(t(1,1,1,1,k),vort,n) ! Put vorticity in temperature fld ifto=.true. ! Tell nek to dump temperature ....That's all you need, because now nek will dump the other variables as well as vorticity, which it will put into the temperature array. If you are also doing heat transfer, you will need to increase k and then set ipsco(k-1) to be .true. For 3D, a separate outpost call is a good idea. Here is a std. approach: parameter(lt=lx1*ly1*lz1*lelv) common /scrns/ vort(lt*lelv,3),w1(lt),w2(lt) if (istep.gt.0.and.mod(istep,iostep.eq.0)) then ifxyo=.false. if (istep.eq.1) ifxyo=.true. call comp_vort3(vort,w1,w2,vx,vy,vz) call outpost (vort(1,1),vort(1,2),vort(1,3),pr,t,'vrt') endif which puts the 3 vorticity components in the file where velocity would normally be. Also, it seems likely that you have param(66) and (67) set to 4 in your .usr file. This is fine, but if you are using VisIt, there are some potential advantages to not setting these values and letting nek set the default (which happens automatically if you set p66 and p67 to 0 in your .rea file and do not over-ride in the .usr file). Hope this helps, Paul On Fri, 2 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hi neks, > > I try to visualize the V.karman' vortexes by computing the vorticity field > with this subroutine : > > if(mod(istep,iostep).eq.0) then > call comp_vort3(vort,work1,work2,vx,vy,vz) > call outpost(vort(1,3),vort(1,2),vort(1,1),pr,t,'vrt') > endif > Which works but, when i try to post-processes the data with Vizit i got the > fallowing error message : > > "The first time step in a Nek file must contain a mesh" > > > i try to open my vrt[mycase].fld* files with vis.nek3D which contains > > NEK5000 > version 1.0 > filetemplate: vrtvkarman2.fld%02d > firsttimestep: 1 > numtimesteps: 2 > > Is there a way to fix this ? > Sorry for my poor english .. > B.regards > Can > > _______________________________________________ > 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 From nek5000-users at lists.mcs.anl.gov Fri Mar 2 07:29:26 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 02 Mar 2012 14:29:26 +0100 Subject: [Nek5000-users] The first time step in a Nek file must contain a mesh In-Reply-To: <60077034.53414.1330694068470.JavaMail.root@zimbra.anl.gov> References: <60077034.53414.1330694068470.JavaMail.root@zimbra.anl.gov> Message-ID: <4F50CB36.4090209@onera.fr> nek5000-users at lists.mcs.anl.gov a ?crit : > Hi Can, > > Also note that it is better to use extention .nek5000 for your VisIt matafile instead of .nek3d where you can also drop > the first two lines. > > For automatic generation of this metafile .nek5000 and running visit with it you can use the following script: > > http://www.mcs.anl.gov/~obabko/nekvis > > Best. > Aleks > > > > ----- Original Message ----- > From: nek5000-users at lists.mcs.anl.gov > To: nek5000-users at lists.mcs.anl.gov > Sent: Friday, March 2, 2012 6:23:44 AM > Subject: Re: [Nek5000-users] The first time step in a Nek file must contain a mesh > > > Hi, > > Generally speaking, nek should automatically dump the geometry on step 1. > I'm not 100% certain why that did not happen in your case. It could be > because your call to outpost executes on step 0 (i.e., after init. cond. > is defined, but prior to the first step). > > Regarding vorticity, are you looking at a 2D case, or 3D? > > If 2D, for which vorticity is a scalar, I would recommend putting > the vorticity in a temperature field and letting nek dump it. > > parameter(lt=lx1*ly1*lz1*lelv) > common /scrns/ vort(lt*lelv,3),w1(lt),w2(lt) > > call comp_vort3(vort,w1,w2,vx,vy,vz) > > n=nx1*ny1*nz1*nelv > k=1 > call copy(t(1,1,1,1,k),vort,n) ! Put vorticity in temperature fld > ifto=.true. ! Tell nek to dump temperature > > > ....That's all you need, because now nek will dump the other > variables as well as vorticity, which it will put into the > temperature array. If you are also doing heat transfer, you > will need to increase k and then set ipsco(k-1) to be .true. > > For 3D, a separate outpost call is a good idea. Here is a std. approach: > > parameter(lt=lx1*ly1*lz1*lelv) > common /scrns/ vort(lt*lelv,3),w1(lt),w2(lt) > > > if (istep.gt.0.and.mod(istep,iostep.eq.0)) then > ifxyo=.false. > if (istep.eq.1) ifxyo=.true. > call comp_vort3(vort,w1,w2,vx,vy,vz) > call outpost (vort(1,1),vort(1,2),vort(1,3),pr,t,'vrt') > endif > > which puts the 3 vorticity components in the file where velocity would > normally be. > > Also, it seems likely that you have param(66) and (67) set to 4 in > your .usr file. This is fine, but if you are using VisIt, there > are some potential advantages to not setting these values and letting > nek set the default (which happens automatically if you set p66 and p67 > to 0 in your .rea file and do not over-ride in the .usr file). > > Hope this helps, > > Paul > > > > > On Fri, 2 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > > >> Hi neks, >> >> I try to visualize the V.karman' vortexes by computing the vorticity field >> with this subroutine : >> >> if(mod(istep,iostep).eq.0) then >> call comp_vort3(vort,work1,work2,vx,vy,vz) >> call outpost(vort(1,3),vort(1,2),vort(1,1),pr,t,'vrt') >> endif >> Which works but, when i try to post-processes the data with Vizit i got the >> fallowing error message : >> >> "The first time step in a Nek file must contain a mesh" >> >> >> i try to open my vrt[mycase].fld* files with vis.nek3D which contains >> >> NEK5000 >> version 1.0 >> filetemplate: vrtvkarman2.fld%02d >> firsttimestep: 1 >> numtimesteps: 2 >> >> Is there a way to fix this ? >> Sorry for my poor english .. >> B.regards >> Can >> >> _______________________________________________ >> 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 > Thank you very much to both of you, these are really useful infos :) But i got another question, i can visualize now the vorticity field, but i don't see any v.karman vortexes, i just see some vortexes around my circle (diameter 1) obstacle. My bc are as follow : unit-diameter cylinder is centered at (0,0) in a box on [-15,35] x [-15,15]. (picked up the .rea on the ext_cyl example) left : velocity inlet with 1m/s right : pressure output top and bottom , periodic Re= 160 (>50 for the instability) dt=0.01 End of simulation Time = 550 can this be because of the meshe not being tight enough ?? B.regards Can From nek5000-users at lists.mcs.anl.gov Fri Mar 2 07:30:45 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 2 Mar 2012 05:30:45 -0800 Subject: [Nek5000-users] fld file with Visit "The first time step in a Nek file must contain a mesh" In-Reply-To: References: Message-ID: Hello Can, Your .nek3D file looks fine. Does vrtvkarman2.fld01 have the location of the points for the mesh in it? (I've found that error message is typically correct ... if you see it, then there are no coordinates in the first file.) Best, Hank On Fri, Mar 2, 2012 at 12:43 AM, wrote: > Hi neks, > > I try to visualize the V.karman' vortexes by computing the vorticity field > with this subroutine : > > if(mod(istep,iostep).eq.0) then > call comp_vort3(vort,work1,work2,vx,vy,vz) > call outpost(vort(1,3),vort(1,2),vort(1,1),pr,t,'vrt') > endif > Which works but, when i try to post-processes the data with Vizit i got > the fallowing error message : > > "The first time step in a Nek file must contain a mesh" > > > i try to open my vrt[mycase].fld* files with vis.nek3D which contains > > NEK5000 > version 1.0 > filetemplate: vrtvkarman2.fld%02d > firsttimestep: 1 > numtimesteps: 2 > > Is there a way to fix this ? > Sorry for my poor english .. > B.regards > Can > _______________________________________________ > 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: From nek5000-users at lists.mcs.anl.gov Fri Mar 2 07:36:22 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 2 Mar 2012 07:36:22 -0600 (CST) Subject: [Nek5000-users] =?utf-8?q?The_first_time_step_in_a_Nek_file_must_?= =?utf-8?q?contain_a=09mesh?= In-Reply-To: <4F50CB36.4090209@onera.fr> References: <60077034.53414.1330694068470.JavaMail.root@zimbra.anl.gov> <4F50CB36.4090209@onera.fr> Message-ID: These parameters should definitely have yielded as street. Typically the street forms after t=100-200 convective time units. What is your lx1 value in SIZE ? What are p101 and p103 in the .rea file ? Paul > Thank you very much to both of you, these are really useful infos :) > But i got another question, i can visualize now the vorticity field, but i > don't see any v.karman vortexes, i just see some vortexes around my circle > (diameter 1) obstacle. > My bc are as follow : unit-diameter cylinder is centered at (0,0) in a box on > [-15,35] x [-15,15]. (picked up the .rea on the ext_cyl example) > left : velocity inlet with 1m/s > right : pressure output > top and bottom , periodic > Re= 160 (>50 for the instability) > dt=0.01 > End of simulation Time = 550 > can this be because of the meshe not being tight enough ?? > B.regards > Can From nek5000-users at lists.mcs.anl.gov Fri Mar 2 07:39:27 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 02 Mar 2012 14:39:27 +0100 Subject: [Nek5000-users] The first time step in a Nek file must contain a mesh In-Reply-To: References: <60077034.53414.1330694068470.JavaMail.root@zimbra.anl.gov> <4F50CB36.4090209@onera.fr> Message-ID: <4F50CD8F.9080304@onera.fr> nek5000-users at lists.mcs.anl.gov a ?crit : > > These parameters should definitely have yielded as street. Typically > the street forms after t=100-200 convective time units. > > What is your lx1 value in SIZE ? > > What are p101 and p103 in the .rea file ? > > Paul > > > >> Thank you very much to both of you, these are really useful infos :) >> But i got another question, i can visualize now the vorticity field, >> but i don't see any v.karman vortexes, i just see some vortexes >> around my circle (diameter 1) obstacle. >> My bc are as follow : unit-diameter cylinder is centered at (0,0) in >> a box on [-15,35] x [-15,15]. (picked up the .rea on the ext_cyl >> example) >> left : velocity inlet with 1m/s >> right : pressure output >> top and bottom , periodic >> Re= 160 (>50 for the instability) >> dt=0.01 >> End of simulation Time = 550 >> can this be because of the meshe not being tight enough ?? >> B.regards >> Can > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users lx1=10 0.00000 p101 Number of additional modes to filter 1.00000 p102 Dump out divergence at each time step From nek5000-users at lists.mcs.anl.gov Fri Mar 2 07:41:23 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 02 Mar 2012 14:41:23 +0100 Subject: [Nek5000-users] The first time step in a Nek file must contain a mesh In-Reply-To: <4F50CD8F.9080304@onera.fr> References: <60077034.53414.1330694068470.JavaMail.root@zimbra.anl.gov> <4F50CB36.4090209@onera.fr> <4F50CD8F.9080304@onera.fr> Message-ID: <4F50CE03.8060101@onera.fr> nek5000-users at lists.mcs.anl.gov a ?crit : > nek5000-users at lists.mcs.anl.gov a ?crit : >> >> These parameters should definitely have yielded as street. Typically >> the street forms after t=100-200 convective time units. >> >> What is your lx1 value in SIZE ? >> >> What are p101 and p103 in the .rea file ? >> >> Paul >> >> >> >>> Thank you very much to both of you, these are really useful infos :) >>> But i got another question, i can visualize now the vorticity field, >>> but i don't see any v.karman vortexes, i just see some vortexes >>> around my circle (diameter 1) obstacle. >>> My bc are as follow : unit-diameter cylinder is centered at (0,0) in >>> a box on [-15,35] x [-15,15]. (picked up the .rea on the ext_cyl >>> example) >>> left : velocity inlet with 1m/s >>> right : pressure output >>> top and bottom , periodic >>> Re= 160 (>50 for the instability) >>> dt=0.01 >>> End of simulation Time = 550 >>> can this be because of the meshe not being tight enough ?? >>> B.regards >>> Can >> _______________________________________________ >> Nek5000-users mailing list >> Nek5000-users at lists.mcs.anl.gov >> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users > lx1=10 0.00000 p101 Number of additional modes to filter > 1.00000 p102 Dump out divergence at each time step > > > > > > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users > Sorry i forgot 0.100000E-01 p103 weight of stabilizing filter (.01) Thx for helping me From nek5000-users at lists.mcs.anl.gov Fri Mar 2 12:01:03 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 2 Mar 2012 12:01:03 -0600 (CST) Subject: [Nek5000-users] The first time step in a Nek file must contain a mesh In-Reply-To: <4F50CE03.8060101@onera.fr> References: <60077034.53414.1330694068470.JavaMail.root@zimbra.anl.gov> <4F50CB36.4090209@onera.fr> <4F50CD8F.9080304@onera.fr> <4F50CE03.8060101@onera.fr> Message-ID: Can, With these parameters I'm seeing a vk street at time t=146.0 You may need to change the dynamic range of your plot variable because the vortices are fairly weak and you otherwise only see those that are in the immediate wake of the cylinder. Please let me know if this resolves the problem. Best regards, Paul > Thank you very much to both of you, these are really useful infos :) > But i got another question, i can visualize now the vorticity field, but > i don't see any v.karman vortexes, i just see some vortexes around my > circle (diameter 1) obstacle. > My bc are as follow : unit-diameter cylinder is centered at (0,0) in a > box on [-15,35] x [-15,15]. (picked up the .rea on the ext_cyl example) > left : velocity inlet with 1m/s > right : pressure output > top and bottom , periodic > Re= 160 (>50 for the instability) > dt=0.01 > End of simulation Time = 550 > can this be because of the meshe not being tight enough ?? > B.regards > Can From nek5000-users at lists.mcs.anl.gov Sat Mar 3 05:40:59 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Sat, 3 Mar 2012 12:40:59 +0100 Subject: [Nek5000-users] compilation problems with IBM xlc compiler Message-ID: <3D9AD86B-BCF4-4664-9586-574C30CA33E7@ing.unipi.it> Hi neks, I have the following problem when trying to compile NEK on a IBM SP6 using the IBM compiler. When the compilation arrives to the C routine gs.c, I get the following errors: -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- mpcc -c -DUNDERSCORE -O2 -DPTRSIZE8 -DMPI -DLONGINT8 -DGLOBAL_LONG_LONG -DPREFIX=jl_ /sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c -o obj/jl_gs.o /gpfs/prod/xlc10/usr/vacpp/bin/.orig/cc_r: 1501-245 (W) Warning: Hard ulimit has been reduced to less than RLIM_INFINITY. There may not be enough space to complete the compilation. "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 116.8: 1506-334 (S) Identifier unique_id has already been defined on line 649 of "/usr/include/sys/types.h". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 124.13: 1506-022 (S) "id" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 125.13: 1506-022 (S) "work_proc" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 126.13: 1506-022 (S) "src_if" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 201.41: 1506-022 (S) "work_proc" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 203.53: 1506-022 (S) "src_if" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 203.53: 1506-022 (S) "src_if" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 203.47: 1506-022 (S) "id" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 203.47: 1506-022 (S) "id" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 206.24: 1506-022 (S) "id" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 207.17: 1506-022 (S) "src_if" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 207.32: 1506-022 (S) "src_if" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 210.30: 1506-022 (S) "id" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 220.24: 1506-022 (S) "id" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 221.23: 1506-022 (S) "work_proc" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 221.48: 1506-022 (S) "src_if" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 223.46: 1506-022 (S) "id" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 224.24: 1506-022 (S) "work_proc" is not a member of "struct unique_id". "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 224.48: 1506-022 (S) "src_if" is not a member of "struct unique_id". make: *** [obj/jl_gs.o] Error 1 -bash-3.2$ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- I think that this is related to the compilation flags, which seems to be the same as those employed with gcc......Did you encountered this problem before? Do you have any suggestion to try to solve it? Thank you in advance for your help! Regards, Simone From nek5000-users at lists.mcs.anl.gov Sat Mar 3 06:44:50 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Sat, 3 Mar 2012 13:44:50 +0100 Subject: [Nek5000-users] compilation problems with IBM xlc compiler In-Reply-To: <3D9AD86B-BCF4-4664-9586-574C30CA33E7@ing.unipi.it> References: <3D9AD86B-BCF4-4664-9586-574C30CA33E7@ing.unipi.it> Message-ID: <316A791B-D1EB-4715-BAAE-57F4C27E1A2A@ing.unipi.it> Hi again, I just found out the problem! Actually in /usr/include/sys/types.h on the SP6 machine I am using there is a type names unique_id already defined, that was used instead of the one defined in gs.c when compiling nek5000. For the moment I just changed the name in gs.c from unique_id to unique_id2 because I don't know how to override the definition in the type.h file. Now I only have a final link problem with the function .flush: ld: 0711-317 ERROR: Undefined symbol: .flush I think this is easier to be solved and I will try to do so. Any suggestion? I take the occasion to thank all of you for having shared this great tool, nek5000, with the scientific community!! Regards, Simone > Hi neks, > > I have the following problem when trying to compile NEK on a IBM SP6 using the IBM compiler. When the compilation arrives to the C routine gs.c, I get the following errors: > > -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > mpcc -c -DUNDERSCORE -O2 -DPTRSIZE8 -DMPI -DLONGINT8 -DGLOBAL_LONG_LONG -DPREFIX=jl_ /sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c -o obj/jl_gs.o > /gpfs/prod/xlc10/usr/vacpp/bin/.orig/cc_r: 1501-245 (W) Warning: Hard ulimit has been reduced to less than RLIM_INFINITY. There may not be enough space to complete the compilation. > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 116.8: 1506-334 (S) Identifier unique_id has already been defined on line 649 of "/usr/include/sys/types.h". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 124.13: 1506-022 (S) "id" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 125.13: 1506-022 (S) "work_proc" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 126.13: 1506-022 (S) "src_if" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 201.41: 1506-022 (S) "work_proc" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 203.53: 1506-022 (S) "src_if" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 203.53: 1506-022 (S) "src_if" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 203.47: 1506-022 (S) "id" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 203.47: 1506-022 (S) "id" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 206.24: 1506-022 (S) "id" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 207.17: 1506-022 (S) "src_if" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 207.32: 1506-022 (S) "src_if" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 210.30: 1506-022 (S) "id" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 220.24: 1506-022 (S) "id" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 221.23: 1506-022 (S) "work_proc" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 221.48: 1506-022 (S) "src_if" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 223.46: 1506-022 (S) "id" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 224.24: 1506-022 (S) "work_proc" is not a member of "struct unique_id". > "/sp6/userexternal/CODICI/nek5_svn/trunk/nek/jl/gs.c", line 224.48: 1506-022 (S) "src_if" is not a member of "struct unique_id". > make: *** [obj/jl_gs.o] Error 1 > -bash-3.2$ > -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > I think that this is related to the compilation flags, which seems to be the same as those employed with gcc......Did you encountered this problem before? Do you have any suggestion to try to solve it? > > Thank you in advance for your help! > > Regards, > Simone > > > > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users From nek5000-users at lists.mcs.anl.gov Sat Mar 3 16:03:56 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Sat, 03 Mar 2012 23:03:56 +0100 Subject: [Nek5000-users] stokes flow with time-dependent boundary In-Reply-To: References: <4EEF6A48.9090601@mech.kth.se> <4EF1ED90.702@mech.kth.se> <4EF24BC8.8030302@mech.kth.se> <1330458936.19986.44.camel@falketind.mech.kth.se> <1330633185.19986.667.camel@falketind.mech.kth.se> Message-ID: <1330812236.30119.9.camel@falketind.mech.kth.se> Hi, Paul, thank you for your confirmation. so now we can come back to my initial attempt, .ie. a series of Stokes problems linked by a time-dependent boundary condition. i am not sure if nek5000 can directly solve such a problem yet, as i find that in connect2.f file, IF (.NOT.IFTRAN) THEN PARAM(11) = 1.0 PARAM(12) = 1.0 PARAM(19) = 0.0 ENDIF it seems to me that PARAM(11) will be ignored and reset to 1 by nek5000, am i right? are there any possible ideas to continue on with nek? many thanks in advance. lailai On Thu, 2012-03-01 at 14:46 -0600, nek5000-users at lists.mcs.anl.gov wrote: > Lailai, > > This appears to be working fine. > > The code iterates until a reasonably small L2-norm of the > velocity divergence is obtained. > > For plane Poiseuille flow there will be no (or at most 1) > pressure iterations. > > Paul > > > On Thu, 1 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > > > Hello, Paul, > > > > thank you for you reply. After making these changes, i still did not get > > convergent results. however, i find that if i change NMXH to 1000 in > > driver2.f, then at least, ' **ERROR**: Failed in HMHOLTZ' will > > disappear, but 'Divergence' message printed by the subroutine uzawa > > remains. Another good news is that the resultant flow field looks > > reasonable compared to the analytical results, btw, i am calculating a > > 2d poiseuille flow with 'v O w w' BC. > > > > the divergence message is like > > '20 2.58595E-06 2.05697E-06 2.58595E-01 7.95442E-06 1 Divergence' > > > > i guess the 'Divergence' message is printed by the uzawa subroutine, its > > iteration number NMXH is set to 1000 in driver2.f file. > > > > any ideas? thanks in advance. > > > > lailai > > > > > >> Hi Lailai > >> > >> It's not clear that the simulation has broken down (nor that it hasn't). > >> In particular, your divergence on the first iteration is relatively small, > >> which is good. My guess is that this will ultimately converge. > >> > >>> 1 1.00000E-08 2.67182E-01 2.67182E-01 1.00000E+00 1 Divergence > >> > >> I would suggest to set the "divergence" and "helmholtz" parameters in > >> your .rea file to be 0, and set tolrel and tolabs to be 0.01. > >> > >> Nek will then try to optimize the tolerance for the iterative solvers > >> to give you a good solution with minimal computational overhead. > >> > >> Paul > >> > >> > >> > >> > >> > >> On Tue, 28 Feb 2012, nek5000-users at lists.mcs.anl.gov wrote: > >> > >>> Hello, Paul, > >>> > >>> thank you for your reply. By following you suggestion, after switching > >>> the flag IFNAN to F, i can run unsteady stokes flow, however, if i want > >>> to run a single steady stokes flow, i switch the flag IFTRAN to F(i > >>> guess i am right here), but the simulation will break down. the first > >>> recorded error in the log file looks like > >>> > >>> 1 100 **ERROR**: Failed in HMHOLTZ: VELX 6.2080E-01 1.7717E+02 > >>> 1.0000E-08 > >>> 1.0000000000000000E-008 p22 1 1 > >>> 1 1 Helmholtz VELY F: 0.0000E+00 1.0000E-08 1.0000E+00 > >>> 0.0000E+00 > >>> 1 Hmholtz VELY: 0 0.0000E+00 0.0000E+00 > >>> 1.0000E-08 > >>> 1 1.00000E-08 2.67182E-01 2.67182E-01 1.00000E+00 1 Divergence > >>> 1.0000000000000000E-008 p22 1 1 > >>> New CG1-tolerance (RINIT*epsm) = 5.4238943644626018E-014 > >>> > >>> any ideas on this? thanks in advance. > >>> > >>> lailai > >>> > >>> > >>> > >>> > >>> On Wed, 2011-12-21 at 15:17 -0600, nek5000-users at lists.mcs.anl.gov > >>> wrote: > >>>> Hi Lailai, > >>>> > >>>> I suggest initially starting with a single run, using steady Stokes. > >>>> (Note, steady Stokes works only for Pn-Pn-2, so set lx2,ly2 = lx1-2, etc.) > >>>> > >>>> Paul > >>>> > >>>> > >>>> On Wed, 21 Dec 2011, nek5000-users at lists.mcs.anl.gov wrote: > >>>> > >>>>> thank you for your tip, Paul. > >>>>> > >>>>> i think we are solving a series of Stokes problems linked by a time-dependent > >>>>> boundary condition. > >>>>> The time-derivative term is zero and we are not solving an unsteady Stokes > >>>>> problem. I think we are not clear how to solve a series of Stokes problems. > >>>>> > >>>>> lailai > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> On 12/21/2011 06:47 PM, nek5000-users at lists.mcs.anl.gov wrote: > >>>>>> Hi Lailai, > >>>>>> > >>>>>> To switch to unsteady Stokes, you simply set the flag > >>>>>> IFNAV to "F" in the .rea file, which turns off the convective > >>>>>> term and simultaneously eliminates the CFL timestep constraint. > >>>>>> > >>>>>> [ Set: > >>>>>> > >>>>>> T F F F F F F F F F F IFNAV & IFADVC (convection in P.S. fields) > >>>>>> > >>>>>> to > >>>>>> > >>>>>> F F F F F F F F F F F IFNAV & IFADVC (convection in P.S. fields) > >>>>>> > >>>>>> .] > >>>>>> > >>>>>> It's still not clear to me if you are solving an unsteady > >>>>>> Stokes problem, or a series of steady Stokes problems. > >>>>>> (There is a difference...) > >>>>>> > >>>>>> Nek can handle either case with equal ease. > >>>>>> > >>>>>> I hope this helps. > >>>>>> > >>>>>> Paul > >>>>>> > >>>>>> > >>>>>> On Wed, 21 Dec 2011, nek5000-users at lists.mcs.anl.gov wrote: > >>>>>> > >>>>>>> On 12/19/2011 06:17 PM, nek5000-users at lists.mcs.anl.gov wrote: > >>>>>>>> > >>>>>>>> Hi Lailai, > >>>>>>>> > >>>>>>>> I have used the approach you proposed for solving multiple > >>>>>>>> steady stokes problems... you use an artificially large > >>>>>>>> timestep. That works. > >>>>>>>> > >>>>>>> > >>>>>>> thank for your reply, if understand correctly, here you are talking about > >>>>>>> the second approach i proposed. For each time step, we solve a transient > >>>>>>> problem with very large internal timestep to quickly get to the > >>>>>>> steady-state solution. > >>>>>>> since i am very new to nek5000, thus i am not sure how to implement this > >>>>>>> method which seems not trivial. > >>>>>>> > >>>>>>> On the other hand, i started from the first example of the Kovasznay > >>>>>>> problem. I remove the time-derivative and convection term by setting the > >>>>>>> density in .rea file to zero, the numerical results agree very well with > >>>>>>> the analytical solution with zero Re number. I guess here the solver is > >>>>>>> just inverting a matrix which seems feasible for a 2D problem but might be > >>>>>>> too expensive or inefficient for a 3D problem. > >>>>>>> > >>>>>>> > >>>>>>>> If you really have a time-dependent boundary condition, there > >>>>>>>> is no reason you can't just use the unsteady Stokes solver > >>>>>>>> with whatever timestep is required to accurately resolve your > >>>>>>>> temporal bcs. Note that, in this case, you would indeed have > >>>>>>>> the inertial term rho du/dt present in the physics. > >>>>>>>> > >>>>>>> > >>>>>>> > >>>>>>>> Paul > >>>>>>>> > >>>>>>>> > >>>>>>>> On Mon, 19 Dec 2011, nek5000-users at lists.mcs.anl.gov wrote: > >>>>>>>> > >>>>>>>>> Hello, guys, > >>>>>>>>> > >>>>>>>>> i am a new guy to Nek5000, i saw the manual of nek5000 that it can solve > >>>>>>>>> the steady stokes flow. > >>>>>>>>> i guess when i solve such a flow, do i need to set it as a transient > >>>>>>>>> simulation with time-derivative term included to get a steady-state > >>>>>>>>> solution? or, i can solve it by a direct solver method to get the > >>>>>>>>> solution immediately? > >>>>>>>>> > >>>>>>>>> since i want to add some time-dependent boundary condition for the > >>>>>>>>> steady stokes flow, so it will be pretty nice if i can solve it using > >>>>>>>>> the direct solver, for each time step, i solve one stokes flow; if > >>>>>>>>> nek5000 cannot solve it in such a way, i guess i have to use the first > >>>>>>>>> way; then for each time step i have to solve a transient problem to > >>>>>>>>> approach the steady state with some artificial time step used. > >>>>>>>>> > >>>>>>>>> i am not sure if i have stated my problem clearly. hopefully you guys > >>>>>>>>> have some experience on the feasibility of the two ways mentioned above. > >>>>>>>>> Thank you in advance. > >>>>>>>>> > >>>>>>>>> lailai > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> _______________________________________________ > >>>>>>>>> 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 > >>>>>>> > >>>>>> _______________________________________________ > >>>>>> 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 > >>> > >>> > >>> _______________________________________________ > >>> 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 > > > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users From nek5000-users at lists.mcs.anl.gov Sat Mar 3 16:37:26 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Sat, 3 Mar 2012 16:37:26 -0600 (CST) Subject: [Nek5000-users] stokes flow with time-dependent boundary In-Reply-To: <1330812236.30119.9.camel@falketind.mech.kth.se> References: <4EEF6A48.9090601@mech.kth.se> <4EF1ED90.702@mech.kth.se> <4EF24BC8.8030302@mech.kth.se> <1330458936.19986.44.camel@falketind.mech.kth.se> <1330633185.19986.667.camel@falketind.mech.kth.se> <1330812236.30119.9.camel@falketind.mech.kth.se> Message-ID: Hi Lailai, It really depends on what you want to do. If you want to solve unsteady stokes, nek will do that. If you want steady stokes, nek will also do that. For unsteady stokes, you can take an arbitrarily large timestep so that the momentum diffusion dominates, i.e., you are at steady state at the end of each timestep. I think the latter option is what you want. Paul On Sat, 3 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hi, Paul, > > thank you for your confirmation. so now we can come back to my initial > attempt, .ie. > a series of Stokes problems linked by a time-dependent boundary > condition. > i am not sure if nek5000 can directly solve such a problem yet, as i > find that in connect2.f file, > IF (.NOT.IFTRAN) THEN > PARAM(11) = 1.0 > PARAM(12) = 1.0 > PARAM(19) = 0.0 > ENDIF > it seems to me that PARAM(11) will be ignored and reset to 1 by nek5000, > am i right? > > are there any possible ideas to continue on with nek? > many thanks in advance. > > lailai > > > On Thu, 2012-03-01 at 14:46 -0600, nek5000-users at lists.mcs.anl.gov > wrote: >> Lailai, >> >> This appears to be working fine. >> >> The code iterates until a reasonably small L2-norm of the >> velocity divergence is obtained. >> >> For plane Poiseuille flow there will be no (or at most 1) >> pressure iterations. >> >> Paul >> >> >> On Thu, 1 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >> >>> Hello, Paul, >>> >>> thank you for you reply. After making these changes, i still did not get >>> convergent results. however, i find that if i change NMXH to 1000 in >>> driver2.f, then at least, ' **ERROR**: Failed in HMHOLTZ' will >>> disappear, but 'Divergence' message printed by the subroutine uzawa >>> remains. Another good news is that the resultant flow field looks >>> reasonable compared to the analytical results, btw, i am calculating a >>> 2d poiseuille flow with 'v O w w' BC. >>> >>> the divergence message is like >>> '20 2.58595E-06 2.05697E-06 2.58595E-01 7.95442E-06 1 Divergence' >>> >>> i guess the 'Divergence' message is printed by the uzawa subroutine, its >>> iteration number NMXH is set to 1000 in driver2.f file. >>> >>> any ideas? thanks in advance. >>> >>> lailai >>> >>> >>>> Hi Lailai >>>> >>>> It's not clear that the simulation has broken down (nor that it hasn't). >>>> In particular, your divergence on the first iteration is relatively small, >>>> which is good. My guess is that this will ultimately converge. >>>> >>>>> 1 1.00000E-08 2.67182E-01 2.67182E-01 1.00000E+00 1 Divergence >>>> >>>> I would suggest to set the "divergence" and "helmholtz" parameters in >>>> your .rea file to be 0, and set tolrel and tolabs to be 0.01. >>>> >>>> Nek will then try to optimize the tolerance for the iterative solvers >>>> to give you a good solution with minimal computational overhead. >>>> >>>> Paul >>>> >>>> >>>> >>>> >>>> >>>> On Tue, 28 Feb 2012, nek5000-users at lists.mcs.anl.gov wrote: >>>> >>>>> Hello, Paul, >>>>> >>>>> thank you for your reply. By following you suggestion, after switching >>>>> the flag IFNAN to F, i can run unsteady stokes flow, however, if i want >>>>> to run a single steady stokes flow, i switch the flag IFTRAN to F(i >>>>> guess i am right here), but the simulation will break down. the first >>>>> recorded error in the log file looks like >>>>> >>>>> 1 100 **ERROR**: Failed in HMHOLTZ: VELX 6.2080E-01 1.7717E+02 >>>>> 1.0000E-08 >>>>> 1.0000000000000000E-008 p22 1 1 >>>>> 1 1 Helmholtz VELY F: 0.0000E+00 1.0000E-08 1.0000E+00 >>>>> 0.0000E+00 >>>>> 1 Hmholtz VELY: 0 0.0000E+00 0.0000E+00 >>>>> 1.0000E-08 >>>>> 1 1.00000E-08 2.67182E-01 2.67182E-01 1.00000E+00 1 Divergence >>>>> 1.0000000000000000E-008 p22 1 1 >>>>> New CG1-tolerance (RINIT*epsm) = 5.4238943644626018E-014 >>>>> >>>>> any ideas on this? thanks in advance. >>>>> >>>>> lailai >>>>> >>>>> >>>>> >>>>> >>>>> On Wed, 2011-12-21 at 15:17 -0600, nek5000-users at lists.mcs.anl.gov >>>>> wrote: >>>>>> Hi Lailai, >>>>>> >>>>>> I suggest initially starting with a single run, using steady Stokes. >>>>>> (Note, steady Stokes works only for Pn-Pn-2, so set lx2,ly2 = lx1-2, etc.) >>>>>> >>>>>> Paul >>>>>> >>>>>> >>>>>> On Wed, 21 Dec 2011, nek5000-users at lists.mcs.anl.gov wrote: >>>>>> >>>>>>> thank you for your tip, Paul. >>>>>>> >>>>>>> i think we are solving a series of Stokes problems linked by a time-dependent >>>>>>> boundary condition. >>>>>>> The time-derivative term is zero and we are not solving an unsteady Stokes >>>>>>> problem. I think we are not clear how to solve a series of Stokes problems. >>>>>>> >>>>>>> lailai >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 12/21/2011 06:47 PM, nek5000-users at lists.mcs.anl.gov wrote: >>>>>>>> Hi Lailai, >>>>>>>> >>>>>>>> To switch to unsteady Stokes, you simply set the flag >>>>>>>> IFNAV to "F" in the .rea file, which turns off the convective >>>>>>>> term and simultaneously eliminates the CFL timestep constraint. >>>>>>>> >>>>>>>> [ Set: >>>>>>>> >>>>>>>> T F F F F F F F F F F IFNAV & IFADVC (convection in P.S. fields) >>>>>>>> >>>>>>>> to >>>>>>>> >>>>>>>> F F F F F F F F F F F IFNAV & IFADVC (convection in P.S. fields) >>>>>>>> >>>>>>>> .] >>>>>>>> >>>>>>>> It's still not clear to me if you are solving an unsteady >>>>>>>> Stokes problem, or a series of steady Stokes problems. >>>>>>>> (There is a difference...) >>>>>>>> >>>>>>>> Nek can handle either case with equal ease. >>>>>>>> >>>>>>>> I hope this helps. >>>>>>>> >>>>>>>> Paul >>>>>>>> >>>>>>>> >>>>>>>> On Wed, 21 Dec 2011, nek5000-users at lists.mcs.anl.gov wrote: >>>>>>>> >>>>>>>>> On 12/19/2011 06:17 PM, nek5000-users at lists.mcs.anl.gov wrote: >>>>>>>>>> >>>>>>>>>> Hi Lailai, >>>>>>>>>> >>>>>>>>>> I have used the approach you proposed for solving multiple >>>>>>>>>> steady stokes problems... you use an artificially large >>>>>>>>>> timestep. That works. >>>>>>>>>> >>>>>>>>> >>>>>>>>> thank for your reply, if understand correctly, here you are talking about >>>>>>>>> the second approach i proposed. For each time step, we solve a transient >>>>>>>>> problem with very large internal timestep to quickly get to the >>>>>>>>> steady-state solution. >>>>>>>>> since i am very new to nek5000, thus i am not sure how to implement this >>>>>>>>> method which seems not trivial. >>>>>>>>> >>>>>>>>> On the other hand, i started from the first example of the Kovasznay >>>>>>>>> problem. I remove the time-derivative and convection term by setting the >>>>>>>>> density in .rea file to zero, the numerical results agree very well with >>>>>>>>> the analytical solution with zero Re number. I guess here the solver is >>>>>>>>> just inverting a matrix which seems feasible for a 2D problem but might be >>>>>>>>> too expensive or inefficient for a 3D problem. >>>>>>>>> >>>>>>>>> >>>>>>>>>> If you really have a time-dependent boundary condition, there >>>>>>>>>> is no reason you can't just use the unsteady Stokes solver >>>>>>>>>> with whatever timestep is required to accurately resolve your >>>>>>>>>> temporal bcs. Note that, in this case, you would indeed have >>>>>>>>>> the inertial term rho du/dt present in the physics. >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> Paul >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Mon, 19 Dec 2011, nek5000-users at lists.mcs.anl.gov wrote: >>>>>>>>>> >>>>>>>>>>> Hello, guys, >>>>>>>>>>> >>>>>>>>>>> i am a new guy to Nek5000, i saw the manual of nek5000 that it can solve >>>>>>>>>>> the steady stokes flow. >>>>>>>>>>> i guess when i solve such a flow, do i need to set it as a transient >>>>>>>>>>> simulation with time-derivative term included to get a steady-state >>>>>>>>>>> solution? or, i can solve it by a direct solver method to get the >>>>>>>>>>> solution immediately? >>>>>>>>>>> >>>>>>>>>>> since i want to add some time-dependent boundary condition for the >>>>>>>>>>> steady stokes flow, so it will be pretty nice if i can solve it using >>>>>>>>>>> the direct solver, for each time step, i solve one stokes flow; if >>>>>>>>>>> nek5000 cannot solve it in such a way, i guess i have to use the first >>>>>>>>>>> way; then for each time step i have to solve a transient problem to >>>>>>>>>>> approach the steady state with some artificial time step used. >>>>>>>>>>> >>>>>>>>>>> i am not sure if i have stated my problem clearly. hopefully you guys >>>>>>>>>>> have some experience on the feasibility of the two ways mentioned above. >>>>>>>>>>> Thank you in advance. >>>>>>>>>>> >>>>>>>>>>> lailai >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> 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 >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> 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 >>>>> >>>>> >>>>> _______________________________________________ >>>>> 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 >>> >> _______________________________________________ >> 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 > From nek5000-users at lists.mcs.anl.gov Sun Mar 4 08:35:00 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Sun, 04 Mar 2012 15:35:00 +0100 Subject: [Nek5000-users] middle plane flux In-Reply-To: References: Message-ID: <1330871700.21816.81.camel@damavand.mech.kth.se> Dear NEKs I think I could fix the problem regarding mid-plane flux computation somehow. I have attached the routine in case any users run into the same issue in the future! Thanks Azad P.S. Just wanted to mention I add the plane number manually (if (ex.eq.4) then) since I had 6 element in the x-direction. One could change it with respect to the domain. > Date: Thu, 01 Mar 2012 22:09:57 +0100 > From: nek5000-users at lists.mcs.anl.gov > Subject: [Nek5000-users] middle plane flux > To: nek5000-users at lists.mcs.anl.gov > Message-ID: <20120301220957.994227o61in5hbj9 at www.mech.kth.se> > Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"; > DelSp="Yes" > > Dear NEKs > > I am using NEK5000 to simulate turbulent flow in duct (channel with > side walls). I would like to calculate flux at the middle slab of the > domain (a zy plane) in each time step in order to compare it with my > bulk (Z is my streamwise direction). Attached file is the .usr file > containing the routine I wrote to compute the mid-flux. Seems works > fine for the primitive tests; however, when I increase number of > processors to 256 or upper it gives me NaNs. I was wondering if you > could help me with that. > > With many thanks in advance. > Azad > > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users > > > End of Nek5000-users Digest, Vol 37, Issue 1 > ******************************************** -------------- next part -------------- c----------------------------------------------------------------------- subroutine userchk include 'SIZE' include 'TOTAL' call midplane_flux(vx,vy,vz) return end c----------------------------------------------------------------------- subroutine midplane_flux(ux,uy,uz) include 'SIZE' include 'TOTAL' include 'ZPER' real ux(1),uy(1),uz(1) parameter (xsli = ly1*lz1*lely*lelz) parameter (yzaver = 1) common /x_sli/ u(xsli),v(xsli),w(xsli),w1(xsli),w2(xsli) common /yz_aveg/uuu(yzaver),vvv(yzaver),www(yzaver), $ www1(yzaver),www2(yzaver) call my_x_slice(w,uz,w1,w2) call my_yz_average(www,w,www1,www2) return end c----------------------------------------------------------------------- subroutine my_yz_average(ua,u,www1,www2) include 'SIZE' include 'GEOM' include 'PARALLEL' include 'WZ' include 'ZPER' real ua(1),u (ny1,nz1,nely*nelz) $ ,www1(1),www2(1) integer e,eg,ex,ey,ez real dz2,dy2 mxy = 1 call rzero(ua,mxy) call rzero(www1,mxy) do e=1,nely*nelz eg = lglel(e) call get_exyz(ex,ey,ez,eg,nelx,nely,nelz) do j=1,ny1 dy2 = 1.0*( ym1(1,ny1,1,e) - ym1(1,1,1,e) ) dz2 = 1.0 ! Assuming uniform in "z" direction do k=1,nz1 ua(1) = ua(1)+dy2*wym1(j)*dz2*wzm1(k)*u(j,k,e) www1(1) = www1(1)+dy2*wym1(j)*dz2*wzm1(k) enddo enddo enddo call gop(ua,www2,'+ ',mxy) call gop(www1,www2,'+ ',mxy) do i=1,mxy ua(i) = ua(i) / www1(i) ! Normalize enddo return end c----------------------------------------------------------------------- subroutine my_x_slice (ua,u,w1,w2) include 'SIZE' include 'GEOM' include 'PARALLEL' include 'WZ' include 'ZPER' c real ua(ny1,nz1,nely,nelz),u (nx1,ny1,nz1,nelv) $ ,w1(ny1,nz1,nely,nelz),w2(ny1,nz1,nely,nelz) integer e,eg,ex,ey,ez real dx2 c myz = nely*nelz*ny1*nz1 call rzero(ua,myz) c do e=1,nelt c eg = lglel(e) call get_exyz(ex,ey,ez,eg,nelx,nely,nelz) i = 1 if (ex.eq.4) then do k=1,nz1 do j=1,ny1 ua(j,k,ey,ez) = u(i,j,k,e) enddo enddo endif enddo call gop(ua,w2,'+ ',myz) return end c----------------------------------------------------------------------- From nek5000-users at lists.mcs.anl.gov Mon Mar 5 08:03:47 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Mon, 05 Mar 2012 15:03:47 +0100 Subject: [Nek5000-users] pressure normalisation in periodic flows In-Reply-To: References: <015a01ccf0be$d375b1a0$7a6114e0$@mech.kth.se> <20120224191846.12863adifwecvlvq@www.mech.kth.se> Message-ID: <20120305150347.12543xn8s8tkvow3@www.mech.kth.se> Dear Paul, Thank you for your reply. We agree with your point of view. Meanwhile, the pressure, after being orthogonalized for several time-steps in USERSCHK, didn't drift again and the values were around zero. Best regards George Quoting nek5000-users at lists.mcs.anl.gov: > > Dear Philipp, > > Thank you for your email. I think I understand the issue... Without > yet verifying it, my guess is that we never explicitly orthogonalize > p itself, but only dp and thus if there is somehow drift in the mean > of p it is not corrected. > > At this point, this is just a hypothesis... I'll try to verify. > > Best regards, > > Paul > > > On Fri, 24 Feb 2012, nek5000-users at lists.mcs.anl.gov wrote: > >> >> Dear Paul, >> >> Thank you for your reply. In regards to the pressure normalization we >> have tested the following: >> >> 1- Starting from restart files containing the high-pressure values (of >> order 10^7). A run was performed for 53 time-steps and in the USERCHK, >> we have normalized the pressure as follows: >> >> ---------------------------------------------------------------------------- >> >> C%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%C >> common /scrcg/ pm1(lx1,ly1,lz1,lelv) ! Mapped pressure >> real pa(lx1,ly1,lz1), pb(lx1,ly1,lz1) ! Working arrays for mapp >> integer*8 ntotpg ! Possibly more than 2 billion pts total >> C%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%C >> >> call my_full_restart ! save/load files for full-restart >> >> ntotp = nelv*nx2*ny2*nz2 >> ntotpg = ntotp >> ntotpg = i8glsum(ntotpg,1) ! Input must be integer*8 >> pbar_alg = glsum(pr,ntotp)/ntotpg >> pbar_phy = -glsc2(pr,bm2,ntotp)/volvm2 >> call cadd(pr,pbar_phy,ntotp) >> >> ---------------------------------------------------------------------------- >> >> After the run ended, the pressure values were around zeros. For >> several runs after-wards with the above procedure in the USERCHK taken >> away. The pressure was fine and it didn't spike again. >> >> Meanwhile: >> >> 2- Starting from the same set of files (containing the >> high-pressure values). A run was performed for 153 time-steps with >> no pressure normalization in the USERCHK as before. Here, we looked >> at the >> >> subroutine ortho (respr) >> >> in navier1.f and printed out the values of respr,rlam. These were >> of order 1E-07 and E-012. However, during the run the pressure was >> high, and this was noticed by printing out (pr) in the USERCHK >> where the values were of order 10^7. >> >> Best regards >> >> George >> >> >> Quoting nek5000-users at lists.mcs.anl.gov: >> >>> >>> Dear Philipp, >>> >>> Thank you for the detailed note. >>> >>> The normal way to orthogonalize would be: >>> >>> call ortho(pr) >>> >>> One has to be careful in this context since there are two >>> types of orthogonalization to consider. One is where you >>> remove the kernel of the pressure matrix (i.e., the vector >>> of all 1's), the other is where you remove the physical >>> mean. These values are defined as follows: >>> >>> pbar_alg = sum_i=1,n (p_i) / n >>> >>> pbar_phy = int p dV / volume >>> >>> Currently, ortho() does the former, since that is the >>> condition we are trying to satisfy in the iterative solvers. >>> Which condition is best for you is not 100% clear to me, but >>> it is probably a fine point that is not of leading-order >>> importance. In any case, you can evaluate these as follows: >>> >>> include 'SIZE' >>> include 'TOTAL' >>> >>> integer*8 ntotpg ! Possibly more than 2 billion pts total >>> >>> ntotp = nelv*nx2*ny2*nz2 >>> ntotpg = ntotp >>> ntotpg = i8glsum(ntotpg,1) ! Input must be integer*8 >>> pbar_alg = glsum(pr,ntotp)/ntotpg >>> >>> pbar_phy = glsc2(pr,bm2,ntotp)/volvm2 >>> >>> What is more curious is, why is the pressure spiking? >>> If you have a repeatable case where this happens, I'd >>> be happy to dig into it. Please feel free to contact >>> me off-list if you'd like to transfer some files. >>> >>> I'm happy to hear that the new restart feature avoids >>> this problem. >>> >>> Best regards, >>> >>> Paul >>> >>> >>> >>> >>> On Tue, 21 Feb 2012, nek5000-users at lists.mcs.anl.gov wrote: >>> >>>> Dear all, >>>> We are running turbulent pipe flow. During these runs we have >>>> observed some >>>> interesting behaviour of the instantaneous pressure, namely its mean value >>>> can be of order 10e7 depending on the run. We have tried various ways to >>>> bring that mean instantaneous pressure down to around zero, but we only >>>> succeeded partially. Of course, for computing the flow statistics (such as >>>>

and prms) we do have an additional normalisation based on the >>>> mean wall >>>> pressure, but having such a high "computational" pressure may lead to loss >>>> of precision which we would like to avoid. >>>> >>>> Therefore, we have a few questions which we tried to figure out during the >>>> last weeks: >>>> 1) from the Deville, Fischer and Mund book (and previous channel >>>> experiences) we assume that nek5000 will in the case of periodic >>>> bc (that is >>>> without any "O" condition) set the mean instantaneous pressure to >>>> zero. For >>>> some of our runs this is most probably fulfilled (checked only >>>> graphically...). Which routine would you suggest to use to do a volume >>>> average of the pressure (pnpn-2)? >>>> 2) Some of our runs were initially ran using the older restart scheme with >>>> only a single field/single precision. Since a few weeks we are exclusively >>>> using the newer restart option with four previous fields/double precision. >>>> The runs that were originally run with the old restart option are the ones >>>> that experience the high pressure values, whereas the cases that were only >>>> run (i.e. from the initiation with random noise) with the new restart have >>>> "correct" pressure levels (i.e. around zero). >>>> We would like to reduce the high pressures from the older runs. We have >>>> tried many things; subtracting a mean pressure in userchk, >>>> removing the wall >>>> pressure during the run etc., but none of these options completely solved >>>> our issue (i.e. the pressure was rising again). Would there be an >>>> option to >>>> restart nek without specifying a pressure? >>>> 3) To learn more about how nek is really doing the normalisation, >>>> which part >>>> of the code is doing the p-normalisation? >>>> >>>> By the way, we are using PnPn-2, mainly because our experience is that we >>>> are faster for our case. >>>> >>>> Thanks a lot for any help! >>>> Philipp >>>> >>>> _______________________________________________ >>>> 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 >>> >> >> >> >> ---------------------------------------------------------------- >> This message was sent using IMP, the Internet Messaging Program. >> _______________________________________________ >> 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 > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. From nek5000-users at lists.mcs.anl.gov Mon Mar 5 09:19:30 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Mon, 05 Mar 2012 16:19:30 +0100 Subject: [Nek5000-users] changing the number of cores in conjunction with new restart Message-ID: <4F54D982.5030403@mech.kth.se> Dear nek5000 developers, I just wanted to share an observation that I've done. I've seen that the velocity field is a bit reshuffled when I use the new accurate restart feature in nek5000 and restart with a different number of cores compared to the number used when the rs8blah0.f* were written out. Has anyone noticed this? Could there be a bug somewhere in the related routines? If not, then maybe we use the routines in the wrong way. We've used a few versions > 75? of the code. Best regards, Johan Malm From nek5000-users at lists.mcs.anl.gov Mon Mar 5 09:23:32 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Mon, 5 Mar 2012 09:23:32 -0600 (CST) Subject: [Nek5000-users] =?utf-8?q?changing_the_number_of_cores_in_conjunc?= =?utf-8?q?tion_with=09new_restart?= In-Reply-To: <4F54D982.5030403@mech.kth.se> References: <4F54D982.5030403@mech.kth.se> Message-ID: Dear Johan, Thanks for bringing this to our attention. It's certainly possible... That feature has not yet had a lot of exercise, particularly over a broad range of usage variants. We'll take a look right away. Best regards, Paul On Mon, 5 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Dear nek5000 developers, > > I just wanted to share an observation that I've done. I've seen that the > velocity field is a bit reshuffled when I use the new accurate restart > feature in nek5000 and restart with a different number of cores compared > to the number used when the rs8blah0.f* were written out. Has anyone > noticed this? Could there be a bug somewhere in the related routines? If > not, then maybe we use the routines in the wrong way. We've used a few > versions > 75? of the code. > > Best regards, > > Johan Malm > > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users > From nek5000-users at lists.mcs.anl.gov Mon Mar 5 12:10:57 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Mon, 05 Mar 2012 19:10:57 +0100 Subject: [Nek5000-users] changing the number of cores in conjunction with new restart In-Reply-To: References: Message-ID: <1330971057.21816.91.camel@damavand.mech.kth.se> Hi Johan; I used both PN_PN and PN_PN-2. I had the same experience with PN_PN-2; however, PN_PN survived and ran very well. By any chance, I just wanted to say thanks to Paul for developing this new restart features. It's amazingly well preserving the field. Best regards Azad > Date: Mon, 05 Mar 2012 16:19:30 +0100 > From: nek5000-users at lists.mcs.anl.gov > Subject: [Nek5000-users] changing the number of cores in conjunction > with new restart > To: nek5000-users at lists.mcs.anl.gov > Message-ID: <4F54D982.5030403 at mech.kth.se> > Content-Type: text/plain; charset=ISO-8859-1 > > Dear nek5000 developers, > > I just wanted to share an observation that I've done. I've seen that the > velocity field is a bit reshuffled when I use the new accurate restart > feature in nek5000 and restart with a different number of cores compared > to the number used when the rs8blah0.f* were written out. Has anyone > noticed this? Could there be a bug somewhere in the related routines? If > not, then maybe we use the routines in the wrong way. We've used a few > versions > 75? of the code. > > Best regards, > > Johan Malm > > > > ------------------------------ > > Message: 3 > Date: Mon, 5 Mar 2012 09:23:32 -0600 (CST) > From: nek5000-users at lists.mcs.anl.gov > Subject: Re: [Nek5000-users] changing the number of cores in > conjunction with new restart > To: nek5000-users at lists.mcs.anl.gov > Message-ID: > Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed > > > Dear Johan, > > Thanks for bringing this to our attention. It's certainly > possible... That feature has not yet had a lot of exercise, > particularly over a broad range of usage variants. We'll take > a look right away. > > Best regards, > > Paul > > > On Mon, 5 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > > > Dear nek5000 developers, > > > > I just wanted to share an observation that I've done. I've seen that the > > velocity field is a bit reshuffled when I use the new accurate restart > > feature in nek5000 and restart with a different number of cores compared > > to the number used when the rs8blah0.f* were written out. Has anyone > > noticed this? Could there be a bug somewhere in the related routines? If > > not, then maybe we use the routines in the wrong way. We've used a few > > versions > 75? of the code. > > > > Best regards, > > > > Johan Malm > > > > _______________________________________________ > > 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 > > > End of Nek5000-users Digest, Vol 37, Issue 6 > ******************************************** From nek5000-users at lists.mcs.anl.gov Mon Mar 5 12:26:33 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Mon, 5 Mar 2012 12:26:33 -0600 (CST) Subject: [Nek5000-users] =?utf-8?q?changing_the_number_of_cores_in_conjunc?= =?utf-8?q?tion=09with_new_restart?= In-Reply-To: <1330971057.21816.91.camel@damavand.mech.kth.se> References: <1330971057.21816.91.camel@damavand.mech.kth.se> Message-ID: Thank you to both of you for your input. It sounds like the issue has to do with pn-pn-2 pressure mapping, so I'll look there as a starting point. Paul On Mon, 5 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hi Johan; > > I used both PN_PN and PN_PN-2. I had the same experience with PN_PN-2; > however, PN_PN survived and ran very well. By any chance, I just wanted > to say thanks to Paul for developing this new restart features. It's > amazingly well preserving the field. > > Best regards > Azad > > >> Date: Mon, 05 Mar 2012 16:19:30 +0100 >> From: nek5000-users at lists.mcs.anl.gov >> Subject: [Nek5000-users] changing the number of cores in conjunction >> with new restart >> To: nek5000-users at lists.mcs.anl.gov >> Message-ID: <4F54D982.5030403 at mech.kth.se> >> Content-Type: text/plain; charset=ISO-8859-1 >> >> Dear nek5000 developers, >> >> I just wanted to share an observation that I've done. I've seen that the >> velocity field is a bit reshuffled when I use the new accurate restart >> feature in nek5000 and restart with a different number of cores compared >> to the number used when the rs8blah0.f* were written out. Has anyone >> noticed this? Could there be a bug somewhere in the related routines? If >> not, then maybe we use the routines in the wrong way. We've used a few >> versions > 75? of the code. >> >> Best regards, >> >> Johan Malm >> >> >> >> ------------------------------ >> >> Message: 3 >> Date: Mon, 5 Mar 2012 09:23:32 -0600 (CST) >> From: nek5000-users at lists.mcs.anl.gov >> Subject: Re: [Nek5000-users] changing the number of cores in >> conjunction with new restart >> To: nek5000-users at lists.mcs.anl.gov >> Message-ID: >> Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed >> >> >> Dear Johan, >> >> Thanks for bringing this to our attention. It's certainly >> possible... That feature has not yet had a lot of exercise, >> particularly over a broad range of usage variants. We'll take >> a look right away. >> >> Best regards, >> >> Paul >> >> >> On Mon, 5 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >> >>> Dear nek5000 developers, >>> >>> I just wanted to share an observation that I've done. I've seen that the >>> velocity field is a bit reshuffled when I use the new accurate restart >>> feature in nek5000 and restart with a different number of cores compared >>> to the number used when the rs8blah0.f* were written out. Has anyone >>> noticed this? Could there be a bug somewhere in the related routines? If >>> not, then maybe we use the routines in the wrong way. We've used a few >>> versions > 75? of the code. >>> >>> Best regards, >>> >>> Johan Malm >>> >>> _______________________________________________ >>> 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 >> >> >> End of Nek5000-users Digest, Vol 37, Issue 6 >> ******************************************** > > > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users > From nek5000-users at lists.mcs.anl.gov Tue Mar 6 11:28:19 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Tue, 6 Mar 2012 11:28:19 -0600 (CST) Subject: [Nek5000-users] rotational symmetry In-Reply-To: References: Message-ID: Hi Mike, I'm not certain if this post ever got an answer? There is support for cyclic bcs, if you are using Pn-Pn. Also, there is support for swirl + axisymmetry, if you just want the k=0 azimuthal mode. Incidentally, we have a new multigrid solver for Pn-Pn that should be in the repo within a couple of days --- running it through buildbot tests now. This solver is better or faster than the Pn-Pn-2 SEMG code. Paul On Wed, 22 Feb 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hello Neks. > > I'm simulating rotating flow in a cylindrical geometry via a Coriolis forcing. Is there any periodic-BC mechanism for exploiting the symmetry, or do I need to model the whole thing? > > Thanks. > --Mike > > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users > From nek5000-users at lists.mcs.anl.gov Tue Mar 6 11:59:27 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Tue, 6 Mar 2012 10:59:27 -0700 Subject: [Nek5000-users] rotational symmetry In-Reply-To: References: Message-ID: <038591D1-39B8-4166-8B83-F5A354DA5EDB@nrel.gov> Hi Paul, This is the first answer -- thanks! I'm using IFSTRS (for variable viscosity), so I believe I'm stuck with PN-PN-2, and hence a full 3D model. Good to hear about the new Pn-PN multi-grid solver -- I'll wait for the repo update before I do those channel-flow runs. Cheers, Mike On Mar 6, 2012, at 10:28 AM, wrote: > > Hi Mike, > > I'm not certain if this post ever got an answer? > > There is support for cyclic bcs, if you are using Pn-Pn. > > Also, there is support for swirl + axisymmetry, if you > just want the k=0 azimuthal mode. > > Incidentally, we have a new multigrid solver for Pn-Pn > that should be in the repo within a couple of days --- running > it through buildbot tests now. This solver is better or > faster than the Pn-Pn-2 SEMG code. > > Paul > > > On Wed, 22 Feb 2012, nek5000-users at lists.mcs.anl.gov wrote: > >> Hello Neks. >> >> I'm simulating rotating flow in a cylindrical geometry via a Coriolis forcing. Is there any periodic-BC mechanism for exploiting the symmetry, or do I need to model the whole thing? >> >> Thanks. >> --Mike >> >> _______________________________________________ >> 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 From nek5000-users at lists.mcs.anl.gov Fri Mar 9 05:40:54 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 9 Mar 2012 17:10:54 +0530 Subject: [Nek5000-users] Spherical Mesh Message-ID: I am trying create a spherical mesh. I have tried with the commands given in the manual but somehow I was not able to build the mesh .... if anyone could help me regarding it it would be a great help .... -------------- next part -------------- An HTML attachment was scrubbed... URL: From nek5000-users at lists.mcs.anl.gov Wed Mar 7 04:10:44 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Wed, 7 Mar 2012 11:10:44 +0100 Subject: [Nek5000-users] Add/subtract 1d-mean profile Message-ID: Hi NEKs, I'm new to NEK and as a first exercise I'm calculating DNS of turbulent channel flow. So far everything is fine and works as is should. Now i wanna do some postprocessing with the (binary) files I dumped out. Let's say I wanna look at a single file: Is it possible to calc the 1d mean of u over the whole channel domain (for example with "call planar_average_s") then take this 1d mean profile and subtract it from u at every point to get u' (=> u'(i,j,k,e) = u(i,j,k,e) - (j))? As I didn't dump the averages with "avg_all()" the hint given in https://lists.mcs.anl.gov/mailman/htdig/nek5000-users/2010-May/000451.htmlin this case is not applicable. Thanks! Jan Frielinghausen -------------- next part -------------- An HTML attachment was scrubbed... URL: From nek5000-users at lists.mcs.anl.gov Fri Mar 9 08:34:30 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 9 Mar 2012 08:34:30 -0600 (CST) Subject: [Nek5000-users] Add/subtract 1d-mean profile In-Reply-To: Message-ID: <638631043.79481.1331303670316.JavaMail.root@zimbra.anl.gov> Hi Jan, Here are routines that I sometimes use that call avg_all for the list of a dump binary files given in a.list http://www.mcs.anl.gov/~obabko/avg_fld.usr Use call avg_fld_all in post-processing mode of Nek5000 (nsteps=0 in .rea) with a created a.list file of your binary .f files (for .fld files uncomment line with p66 & p67 = 4) Best. Aleks ----- Original Message ----- From: nek5000-users at lists.mcs.anl.gov To: nek5000-users at lists.mcs.anl.gov Sent: Wednesday, March 7, 2012 4:10:44 AM Subject: [Nek5000-users] Add/subtract 1d-mean profile Hi NEKs, I'm new to NEK and as a first exercise I'm calculating DNS of turbulent channel flow. So far everything is fine and works as is should. Now i wanna do some postprocessing with the (binary) files I dumped out. Let's say I wanna look at a single file: Is it possible to calc the 1d mean of u over the whole channel domain (for example with "call planar_average_s") then take this 1d mean profile and subtract it from u at every point to get u' (=> u'(i,j,k,e) = u(i,j,k,e) - (j))? As I didn't dump the averages with "avg_all()" the hint given in https://lists.mcs.anl.gov/mailman/htdig/nek5000-users/2010-May/000451.html in this case is not applicable. Thanks! Jan Frielinghausen _______________________________________________ Nek5000-users mailing list Nek5000-users at lists.mcs.anl.gov https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users From nek5000-users at lists.mcs.anl.gov Fri Mar 9 09:11:42 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 9 Mar 2012 16:11:42 +0100 Subject: [Nek5000-users] Add/subtract 1d-mean profile In-Reply-To: <638631043.79481.1331303670316.JavaMail.root@zimbra.anl.gov> References: <638631043.79481.1331303670316.JavaMail.root@zimbra.anl.gov> Message-ID: Hi Aleks, thank you for posting your routines. They are certainly very useful! But my point is to find an easy and quick way to check a single velocity field. That can usually be done by taking the means over the full box and subtracting them (as described in the first mail) from the instantaneous field. I don't wanna do my full postprocessing that way. It's just to have a quick look on the data (in particular the fluctuations)... Do you think that is possible? Thanks! Jan F. Am 9. M?rz 2012 15:34 schrieb : > Hi Jan, > > Here are routines that I sometimes use that call avg_all for the list of a > dump binary files given in a.list > > http://www.mcs.anl.gov/~obabko/avg_fld.usr > > Use > > call avg_fld_all > > in post-processing mode of Nek5000 (nsteps=0 in .rea) with a created > a.list file of your binary .f files (for .fld files uncomment line with p66 > & p67 = 4) > > Best. > Aleks > > > > ----- Original Message ----- > From: nek5000-users at lists.mcs.anl.gov > To: nek5000-users at lists.mcs.anl.gov > Sent: Wednesday, March 7, 2012 4:10:44 AM > Subject: [Nek5000-users] Add/subtract 1d-mean profile > > > Hi NEKs, > > I'm new to NEK and as a first exercise I'm calculating DNS of turbulent > channel flow. So far everything is fine and works as is should. > > Now i wanna do some postprocessing with the (binary) files I dumped out. > Let's say I wanna look at a single file: > > Is it possible to calc the 1d mean of u over the whole channel domain (for > example with "call planar_average_s") then take this 1d mean profile and > subtract it from u at every point to get u' (=> u'(i,j,k,e) = u(i,j,k,e) - > (j))? > > As I didn't dump the averages with "avg_all()" the hint given in > https://lists.mcs.anl.gov/mailman/htdig/nek5000-users/2010-May/000451.htmlin this case is not applicable. > > Thanks! > Jan Frielinghausen > > _______________________________________________ > 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: From nek5000-users at lists.mcs.anl.gov Fri Mar 9 09:42:27 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 9 Mar 2012 15:42:27 +0000 Subject: [Nek5000-users] Surface source term Message-ID: Dear NEKs, I am trying to add a surface source term in the energy equation on a certain surface of my 2D domain. The way I did was to put into userq the following expression: qvol = qref*area(ix,1,ifc,iel)/bm1(ix,iy,iz,iel) The case seems to work fine but I would like to ask you just a confirmation that the way I did is correct (maybe there are some mathematical/physical reasons why that way is wrong). Thanks in advance for your help. Regards, Andreas. From nek5000-users at lists.mcs.anl.gov Fri Mar 9 11:10:54 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 9 Mar 2012 11:10:54 -0600 (CST) Subject: [Nek5000-users] Surface source term In-Reply-To: References: Message-ID: Hi Andreas, That looks right to me... Did you also use: iel = gllel(ieg) where ieg is the argument passed into the call line? Also, do you get the expected energy balance in a test case? Best, Paul On Fri, 9 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Dear NEKs, > > I am trying to add a surface source term in the energy equation on a certain surface of my 2D domain. > > The way I did was to put into userq the following expression: > > qvol = qref*area(ix,1,ifc,iel)/bm1(ix,iy,iz,iel) > > The case seems to work fine but I would like to ask you just a confirmation that the way I did is correct (maybe there are some mathematical/physical reasons why that way is wrong). > > Thanks in advance for your help. > > Regards, > Andreas. > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users > From nek5000-users at lists.mcs.anl.gov Fri Mar 9 11:19:10 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 9 Mar 2012 17:19:10 +0000 Subject: [Nek5000-users] Surface source term In-Reply-To: References: , Message-ID: Hi Paul, yes, I use also "iel = gllel(ieg)". I have just checked the energy balance and it is fine. Thanks a lot for your answer. Regards, Andreas. ________________________________________ 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: Friday, March 09, 2012 6:10 PM To: nek5000-users at lists.mcs.anl.gov Subject: Re: [Nek5000-users] Surface source term Hi Andreas, That looks right to me... Did you also use: iel = gllel(ieg) where ieg is the argument passed into the call line? Also, do you get the expected energy balance in a test case? Best, Paul On Fri, 9 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Dear NEKs, > > I am trying to add a surface source term in the energy equation on a certain surface of my 2D domain. > > The way I did was to put into userq the following expression: > > qvol = qref*area(ix,1,ifc,iel)/bm1(ix,iy,iz,iel) > > The case seems to work fine but I would like to ask you just a confirmation that the way I did is correct (maybe there are some mathematical/physical reasons why that way is wrong). > > Thanks in advance for your help. > > Regards, > Andreas. > _______________________________________________ > 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 From nek5000-users at lists.mcs.anl.gov Fri Mar 9 12:19:57 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 9 Mar 2012 12:19:57 -0600 (CST) Subject: [Nek5000-users] New multigrid for pn-pn Message-ID: Dear Neks, We've just uploaded a new multigrid solver for the Pn-Pn formulation that appears to be quite a bit faster than the previous Schwarz-based solver. We'd welcome any feedback regarding bugs and noticeable performance gains (or losses). Note that it has not yet been implemented for Pn-Pn+axisymmetry. Paul From nek5000-users at lists.mcs.anl.gov Fri Mar 9 12:23:00 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 9 Mar 2012 12:23:00 -0600 (CST) Subject: [Nek5000-users] Add/subtract 1d-mean profile In-Reply-To: References: <638631043.79481.1331303670316.JavaMail.root@zimbra.anl.gov> Message-ID: Jan, For what you want, I would do it inside nek, but it could also be done in VisIt or in postnek by sampling the field along many z-lines and then averaging these together. What is the size (E,N) of your data? Regards, Paul On Fri, 9 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hi Aleks, > > thank you for posting your routines. They are certainly very useful! > But my point is to find an easy and quick way to check a single velocity > field. That can usually be done by taking the means over the full box and > subtracting them (as described in the first mail) from the instantaneous > field. > I don't wanna do my full postprocessing that way. It's just to have a quick > look on the data (in particular the fluctuations)... > Do you think that is possible? > > Thanks! > Jan F. > > Am 9. M?rz 2012 15:34 schrieb : > >> Hi Jan, >> >> Here are routines that I sometimes use that call avg_all for the list of a >> dump binary files given in a.list >> >> http://www.mcs.anl.gov/~obabko/avg_fld.usr >> >> Use >> >> call avg_fld_all >> >> in post-processing mode of Nek5000 (nsteps=0 in .rea) with a created >> a.list file of your binary .f files (for .fld files uncomment line with p66 >> & p67 = 4) >> >> Best. >> Aleks >> >> >> >> ----- Original Message ----- >> From: nek5000-users at lists.mcs.anl.gov >> To: nek5000-users at lists.mcs.anl.gov >> Sent: Wednesday, March 7, 2012 4:10:44 AM >> Subject: [Nek5000-users] Add/subtract 1d-mean profile >> >> >> Hi NEKs, >> >> I'm new to NEK and as a first exercise I'm calculating DNS of turbulent >> channel flow. So far everything is fine and works as is should. >> >> Now i wanna do some postprocessing with the (binary) files I dumped out. >> Let's say I wanna look at a single file: >> >> Is it possible to calc the 1d mean of u over the whole channel domain (for >> example with "call planar_average_s") then take this 1d mean profile and >> subtract it from u at every point to get u' (=> u'(i,j,k,e) = u(i,j,k,e) - >> (j))? >> >> As I didn't dump the averages with "avg_all()" the hint given in >> https://lists.mcs.anl.gov/mailman/htdig/nek5000-users/2010-May/000451.htmlin this case is not applicable. >> >> Thanks! >> Jan Frielinghausen >> >> _______________________________________________ >> 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 >> > From nek5000-users at lists.mcs.anl.gov Sat Mar 10 18:05:50 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Sun, 11 Mar 2012 01:05:50 +0100 Subject: [Nek5000-users] Add/subtract 1d-mean profile In-Reply-To: References: <638631043.79481.1331303670316.JavaMail.root@zimbra.anl.gov> Message-ID: Hi Paul and Aleks, I wanna do it inside nek, too! The size of my data is ~comparable to the high resolution case in "A comparison of Nek5000 and OpenFOAM for DNS of turbulent channel flow" => E=5,...,9, N ~ 5000,...,10000. The question however doesn't aim on how to postprocess a particular dataset but is more a general question... I'll try to illustrate another example with the same kind of problem to describe what I mean: We look at the following grid --> i3=1,...,5 -->i4=1,...,5 #---+------+------+---#---+------+------+---# jglob=9 | | | + + + + + + + + + ^ | | | | | Element 3 | Element 4 | | + + + + + + + + + | | | | | | | | | + + + + + + + + + | ^ | | | ^ | j3=1,...,5| #---+------+------+---#---+------+------+---# | j4=1,...,5 | | | | | + + + + + + + + + | | | | | | Element 1 | Element 2 | | + + + + + + + + + | | | | | | | | | + + + + + + + + + | jglob=2 j1=1,...5 ^ | | | ^ | | #---+------+------+---#---+------+------+---# | j2=1,...5 | jglob=1 --> i1=1,...,5 -->i2=1,...,5 ------------------------------------------> iglob=1 2 3 ... 9 Now i have a list with values defined on the "global" nodes. Lets say we have a 1d profile U(:,jglob) 9 # *** | 8 + *************** | | 7 + ********************* | | 6 + ************************ | 5 # ************************* | 4 + ************************ | | 3 + ********************* | | 2 + *************** | jglob=1 # *** How can I add or subtract this profile which is given on the "global nodes" to each point of the field. Or asked another way: how do I get the global index as a function of the local index (jglob(j))? Thanks in advance! Jan F. Am 9. M?rz 2012 19:23 schrieb : > > > Jan, > > For what you want, I would do it inside nek, but it could > also be done in VisIt or in postnek by sampling the field > along many z-lines and then averaging these together. > > What is the size (E,N) of your data? > > Regards, > > Paul > > > > On Fri, 9 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > >> Hi Aleks, >> >> thank you for posting your routines. They are certainly very useful! >> But my point is to find an easy and quick way to check a single velocity >> field. That can usually be done by taking the means over the full box and >> subtracting them (as described in the first mail) from the instantaneous >> field. >> I don't wanna do my full postprocessing that way. It's just to have a quick >> look on the data (in particular the fluctuations)... >> Do you think that is possible? >> >> Thanks! >> Jan F. >> >> Am 9. M?rz 2012 15:34 schrieb : >> >>> Hi Jan, >>> >>> Here are routines that I sometimes use that call avg_all for the list of a >>> dump binary files given in a.list >>> >>> http://www.mcs.anl.gov/~obabko/avg_fld.usr >>> >>> Use >>> >>> call avg_fld_all >>> >>> in post-processing mode of Nek5000 (nsteps=0 in .rea) with a created >>> a.list file of your binary .f files (for .fld files uncomment line with p66 >>> & p67 = 4) >>> >>> Best. >>> Aleks >>> >>> >>> >>> ----- Original Message ----- >>> From: nek5000-users at lists.mcs.anl.gov >>> To: nek5000-users at lists.mcs.anl.gov >>> Sent: Wednesday, March 7, 2012 4:10:44 AM >>> Subject: [Nek5000-users] Add/subtract 1d-mean profile >>> >>> >>> Hi NEKs, >>> >>> I'm new to NEK and as a first exercise I'm calculating DNS of turbulent >>> channel flow. So far everything is fine and works as is should. >>> >>> Now i wanna do some postprocessing with the (binary) files I dumped out. >>> Let's say I wanna look at a single file: >>> >>> Is it possible to calc the 1d mean of u over the whole channel domain (for >>> example with "call planar_average_s") then take this 1d mean profile and >>> subtract it from u at every point to get u' (=> u'(i,j,k,e) = u(i,j,k,e) - >>> (j))? >>> >>> As I didn't dump the averages with "avg_all()" the hint given in >>> https://lists.mcs.anl.gov/mailman/htdig/nek5000-users/2010-May/000451.htmlinthis case is not applicable. >>> >>> >>> Thanks! >>> Jan Frielinghausen >>> >>> _______________________________________________ >>> 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 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nek5000-users at lists.mcs.anl.gov Sat Mar 10 20:35:07 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Sat, 10 Mar 2012 20:35:07 -0600 (CST) Subject: [Nek5000-users] Add/subtract 1d-mean profile In-Reply-To: References: <638631043.79481.1331303670316.JavaMail.root@zimbra.anl.gov> Message-ID: Hi Jan, Thanks for the input. I guess my first question is the following. When you say you want to "add or subtract this profile which is given on the global nodes to each point of the field" it seems we need to be talking in the context of some software that is going to read the field in and then process the data. At present, I know of only 3 codes to do that: nek, VisIt, and postnek (though there have been custom, one-off, codes written in the past). Second question is --- What do you want to do with this field after you have subtracted the mean profile? Do you want to write it to disk, visualize it, use it in a calculation, analyze it with more statistics, or....? In any case, it seems likely that processing in nek is the way to go because it has the ability to read the data, write the data, and readily compute statistics. In this mode, you simply are using nek as a post-processor and not for timestepping. Please advise if that's the path you wish to take, or if you had something else in mind. Cheers, Paul On Sun, 11 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hi Paul and Aleks, > > I wanna do it inside nek, too! The size of my data is ~comparable to the > high resolution case in "A comparison of Nek5000 and OpenFOAM for DNS of > turbulent channel flow" => E=5,...,9, N ~ 5000,...,10000. > The question however doesn't aim on how to postprocess a particular dataset > but is more a general question... > > I'll try to illustrate another example with the same kind of problem to > describe what I mean: > > > We look at the following grid > > > --> i3=1,...,5 -->i4=1,...,5 > #---+------+------+---#---+------+------+---# > jglob=9 > | | | > + + + + + + + + + ^ > | | | | > | Element 3 | Element 4 | | > + + + + + + + + + | > | | | | > | | | | > + + + + + + + + + | > ^ | | | ^ | > j3=1,...,5| #---+------+------+---#---+------+------+---# | j4=1,...,5 | > | | | | > + + + + + + + + + | > | | | | > | Element 1 | Element 2 | | > + + + + + + + + + | > | | | | > | | | | > + + + + + + + + + | > jglob=2 > j1=1,...5 ^ | | | ^ | > | #---+------+------+---#---+------+------+---# | j2=1,...5 | > jglob=1 > --> i1=1,...,5 -->i2=1,...,5 > > ------------------------------------------> > > iglob=1 2 3 ... 9 > > > Now i have a list with values defined on the "global" nodes. > Lets say we have a 1d profile U(:,jglob) > > 9 # *** > | > 8 + *************** > | > | > 7 + ********************* > | > | > 6 + ************************ > | > 5 # ************************* > | > 4 + ************************ > | > | > 3 + ********************* > | > | > 2 + *************** > | > jglob=1 # *** > > > How can I add or subtract this profile which is given on the "global nodes" > to each point of the field. > Or asked another way: how do I get the global index as a function of the > local index (jglob(j))? > > Thanks in advance! > Jan F. > > Am 9. M?rz 2012 19:23 schrieb : >> >> >> Jan, >> >> For what you want, I would do it inside nek, but it could >> also be done in VisIt or in postnek by sampling the field >> along many z-lines and then averaging these together. >> >> What is the size (E,N) of your data? >> >> Regards, >> >> Paul >> >> >> >> On Fri, 9 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >> >>> Hi Aleks, >>> >>> thank you for posting your routines. They are certainly very useful! >>> But my point is to find an easy and quick way to check a single velocity >>> field. That can usually be done by taking the means over the full box and >>> subtracting them (as described in the first mail) from the instantaneous >>> field. >>> I don't wanna do my full postprocessing that way. It's just to have a > quick >>> look on the data (in particular the fluctuations)... >>> Do you think that is possible? >>> >>> Thanks! >>> Jan F. >>> >>> Am 9. M?rz 2012 15:34 schrieb : >>> >>>> Hi Jan, >>>> >>>> Here are routines that I sometimes use that call avg_all for the list > of a >>>> dump binary files given in a.list >>>> >>>> http://www.mcs.anl.gov/~obabko/avg_fld.usr >>>> >>>> Use >>>> >>>> call avg_fld_all >>>> >>>> in post-processing mode of Nek5000 (nsteps=0 in .rea) with a created >>>> a.list file of your binary .f files (for .fld files uncomment line with > p66 >>>> & p67 = 4) >>>> >>>> Best. >>>> Aleks >>>> >>>> >>>> >>>> ----- Original Message ----- >>>> From: nek5000-users at lists.mcs.anl.gov >>>> To: nek5000-users at lists.mcs.anl.gov >>>> Sent: Wednesday, March 7, 2012 4:10:44 AM >>>> Subject: [Nek5000-users] Add/subtract 1d-mean profile >>>> >>>> >>>> Hi NEKs, >>>> >>>> I'm new to NEK and as a first exercise I'm calculating DNS of turbulent >>>> channel flow. So far everything is fine and works as is should. >>>> >>>> Now i wanna do some postprocessing with the (binary) files I dumped out. >>>> Let's say I wanna look at a single file: >>>> >>>> Is it possible to calc the 1d mean of u over the whole channel domain > (for >>>> example with "call planar_average_s") then take this 1d mean profile and >>>> subtract it from u at every point to get u' (=> u'(i,j,k,e) = > u(i,j,k,e) - >>>> (j))? >>>> >>>> As I didn't dump the averages with "avg_all()" the hint given in >>>> > https://lists.mcs.anl.gov/mailman/htdig/nek5000-users/2010-May/000451.htmlinthis > case is not applicable. >>>> >>>> >>>> Thanks! >>>> Jan Frielinghausen >>>> >>>> _______________________________________________ >>>> 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 >> > From nek5000-users at lists.mcs.anl.gov Sun Mar 11 07:52:20 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Sun, 11 Mar 2012 13:52:20 +0100 Subject: [Nek5000-users] Add/subtract 1d-mean profile In-Reply-To: References: <638631043.79481.1331303670316.JavaMail.root@zimbra.anl.gov> Message-ID: Hi Paul, first of all thanks for the quick reply! I guess my first question is the following. When you say you want to "add or subtract this profile which is given on the global nodes to each point of the field" it seems we need to be talking in the context of some software that is going to read the field in and then process the data. At present, I know of only 3 codes to do that: nek, VisIt, and postnek (though there have been custom, one-off, codes written in the past). I want to do the whole post-processing in nek. With VisIt I only visualize my data generated with nek (the post-processed data as well as the raw simulation data). With postnek I haven't worked until now and I think postnek is not what I'm looking for. Second question is --- What do you want to do with this field after you have subtracted the mean profile? Do you want to write it to disk, visualize it, use it in a calculation, analyze it with more statistics, or....? I want to analyze the statistics, calculate higher order moments of the fluctuation field (to compare it with the channel data of Robert D. Moser, John Kim and Nagi N. Mansour, Physics of Fluids, vol 11(4), for example the skewness or the flatness of the field) or the gradients of the fluctuation field du'_i/dx_j to get (fluctuation based) \omega'_k or the (fluctuation based) strain rate tensor s'_ij = 1/2*(du'_i/dx_j + du'_j/dx_i). These are only few examples on what I would like to do... But for all these things I need the fluctuation field and that means u' = u - . In this context would be (for example if I don't have the temporal avg_all() means) the spatial (y-) mean over the full channel domain. When I do my production run with the code I can obtain the temporal averages by calling avg_all() every timestep and then write it to disk, thats clear to me. But my question aims on how to get the fluctuation field without having the temporal averages. Based on only a single velocity filed (as described above). In any case, it seems likely that processing in nek is the way to go because it has the ability to read the data, write the data, and readily compute statistics. In this mode, you simply are using nek as a post-processor and not for timestepping. Please advise if that's the path you wish to take, or if you had something else in mind. Yes, thats the way I want to do my post-processing (and already do it right now...). Regards Jan F. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nek5000-users at lists.mcs.anl.gov Sun Mar 11 12:09:00 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Sun, 11 Mar 2012 18:09:00 +0100 Subject: [Nek5000-users] Add/subtract 1d-mean profile In-Reply-To: References: <638631043.79481.1331303670316.JavaMail.root@zimbra.anl.gov> Message-ID: (Same mail, new formatting...) Hi Paul, first of all thanks for the quick reply! > I guess my first question is the following.? When you say you want to > > "add or subtract this profile which is given on the global nodes to each point of the field" > it seems we need to be talking in the context of some software > that is going to read the field in and then process the data. > > At present, I know of only 3 codes to do that: nek, VisIt, and postnek (though there have been custom, one-off, codes written > in the past). I want to do the whole post-processing in nek. With VisIt I only visualize my data generated with nek (the post-processed data as well as the raw simulation data). With postnek I haven't worked until now and I think postnek is not what I'm looking for. > Second question is --- What do you want to do with this field > after you have subtracted the mean profile??? Do you want to > write it to disk, visualize it, use it in a calculation, analyze it with more statistics, or....? I want to analyze the statistics, calculate higher order moments of the fluctuation field (to compare it with the channel data of Robert D. Moser, John Kim and Nagi N. Mansour, Physics of Fluids, vol 11(4), for example the skewness or the flatness of the field) or the gradients of the fluctuation field du'_i/dx_j to get (fluctuation based) \omega'_k or the (fluctuation based) strain rate tensor s'_ij = 1/2*(du'_i/dx_j + du'_j/dx_i). These are only few examples on what I would like to do... But for all these things I need the fluctuation field and that means u' = u - . In this context would be (for example if I don't have the temporal avg_all() means) the spatial (y-) mean over the full channel domain. When I do my production run with the code I can obtain the temporal averages by calling avg_all() every timestep and then write it to disk, thats clear to me. But my question aims on how to get the fluctuation field without having the temporal averages. Based on only a single velocity filed (as described above). > In any case, it seems likely that processing in nek is the > way to go because it has the ability to read the data, write > the data, and readily compute statistics.?? In this mode, you > simply are using nek as a post-processor and not for timestepping. > > Please advise if that's the path you wish to take, or if you > had something else in mind. Yes, thats the way I want? to do my post-processing (and already do it right now...). Regards Jan F. From nek5000-users at lists.mcs.anl.gov Mon Mar 12 04:22:06 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Mon, 12 Mar 2012 10:22:06 +0100 Subject: [Nek5000-users] does load_fld() work with .f00* files ?? (default binary files) Message-ID: <4F5DC03E.8060405@onera.fr> Hi everyone, i am trying to post process some data but it seems load_fld doesn't load the velocity field correctly. My binary files are default .f00* files (param(66)=param(67)=0) I want to recalculate the vortex size (aa in my code) in a 2D case. So here is what i want my userchk() to do Open one by one .f00* files, Calculate the vorticity field from velocity field Restrain the domain to avoid Boundary conditions Calculate the circulation Calculate The vorticity barycenter coordinates Calculate The vorticity Size (aa) Output to "Rayon_Circulation_domaine_entier" file the quantity sqrt(aa) Does load_fld() work only with .fld files ?? Because with this i got only negative values for the vorticity size and the circulation value is not good B.regards Can My post-precessing part in my userchk() is like ! read file-list if (nid.eq.0) then open(unit=199,file='file.list',form='formatted',status='old') read(199,*) nfiles read(199,'(A80)') (filename(j),j=1,nfiles) close(199) endif call bcast(nfiles,isize) call bcast(filename,nfiles*80) do j = 1,nfiles call load_fld(filename(j)) call comp_vort3(vort,work1,work2,vx,vy,vz) do i=1, ntot if((abs(xm1(i,1,1,1))<14.9) .and. (abs(ym1(i,1,1,1))<14.9)) & then x_new(i)=xm1(i,1,1,1) y_new(i)=ym1(i,1,1,1) rId(i)=1.0 else x_new(i)=0.0 y_new(i)=0.0 rId(i)=0.0 endif enddo circ=glsc3(rId,bm1,vort(1,1),ntot) x_c=glsc3(x_new,bm1,vort(1,1),ntot)/circ ! Calculation of vorticity barrycenter y_c=glsc3(y_new,bm1,vort(1,1),ntot)/circ do i=1, ntot if((abs(xm1(i,1,1,1))<14.9) .and. (abs(ym1(i,1,1,1))<14.9)) & then rr(i)=(xm1(i,1,1,1)-x_c(1))**2 + (ym1(i,1,1,1) & -y_c(1))**2 else rr(i)=0.0 endif enddo aa=glsc3(rr,bm1,vort(1,1),ntot)/circ ! Calculation of vorticity size print*,'aa=',aa if (nid.eq.0) then open(UNIT=1,FILE='Rayon_Circulation_domaine_entier',STATUS='unknown') !Output to 'Rayon_Circulation_domaine_entier' file write(1,'(1p20E15.7)') time,sqrt(aa),circ endif enddo !we are done call exitt c ================================================================================================================= From nek5000-users at lists.mcs.anl.gov Mon Mar 12 07:00:11 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Mon, 12 Mar 2012 13:00:11 +0100 Subject: [Nek5000-users] does load_fld() work with .f00* files ?? (default binary files) In-Reply-To: <4F5DC03E.8060405@onera.fr> References: <4F5DC03E.8060405@onera.fr> Message-ID: <4F5DE54B.1070402@onera.fr> nek5000-users at lists.mcs.anl.gov a ?crit : > Hi everyone, i am trying to post process some data but it seems > load_fld doesn't load the velocity field correctly. > My binary files are default .f00* files (param(66)=param(67)=0) > I want to recalculate the vortex size (aa in my code) in a 2D case. > So here is what i want my userchk() to do > Open one by one .f00* files, > Calculate the vorticity field from velocity field > Restrain the domain to avoid Boundary conditions > Calculate the circulation > Calculate The vorticity barycenter coordinates > Calculate The vorticity Size (aa) > Output to "Rayon_Circulation_domaine_entier" file the quantity sqrt(aa) > Does load_fld() work only with .fld files ?? Because with this i got > only negative values for the vorticity size and the circulation value > is not good > B.regards > Can > > > > My post-precessing part in my userchk() is like > > ! read file-list > if (nid.eq.0) then > open(unit=199,file='file.list',form='formatted',status='old') > read(199,*) nfiles > read(199,'(A80)') (filename(j),j=1,nfiles) > close(199) > endif > call bcast(nfiles,isize) > call bcast(filename,nfiles*80) > do j = 1,nfiles > call load_fld(filename(j)) > call comp_vort3(vort,work1,work2,vx,vy,vz) > do i=1, ntot > if((abs(xm1(i,1,1,1))<14.9) .and. (abs(ym1(i,1,1,1))<14.9)) > & then > x_new(i)=xm1(i,1,1,1) > y_new(i)=ym1(i,1,1,1) > rId(i)=1.0 > > else > > x_new(i)=0.0 > y_new(i)=0.0 > rId(i)=0.0 > > endif > > enddo > circ=glsc3(rId,bm1,vort(1,1),ntot) > x_c=glsc3(x_new,bm1,vort(1,1),ntot)/circ > ! Calculation of vorticity barrycenter > y_c=glsc3(y_new,bm1,vort(1,1),ntot)/circ > > do i=1, ntot > if((abs(xm1(i,1,1,1))<14.9) .and. (abs(ym1(i,1,1,1))<14.9)) > & then rr(i)=(xm1(i,1,1,1)-x_c(1))**2 + (ym1(i,1,1,1) > & -y_c(1))**2 > else > rr(i)=0.0 > endif > enddo > > aa=glsc3(rr,bm1,vort(1,1),ntot)/circ > ! Calculation of vorticity size > print*,'aa=',aa > if (nid.eq.0) then > > open(UNIT=1,FILE='Rayon_Circulation_domaine_entier',STATUS='unknown') > !Output to 'Rayon_Circulation_domaine_entier' file > write(1,'(1p20E15.7)') time,sqrt(aa),circ > endif > enddo > > !we are done > call exitt > c > ================================================================================================================= > > > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users Well sorry for this, load_fld() works great with .f00* files Le problem was related to my grid in the domain which was not tight enough for x>10 Thx anyways From nek5000-users at lists.mcs.anl.gov Mon Mar 12 07:54:11 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Mon, 12 Mar 2012 07:54:11 -0500 (CDT) Subject: [Nek5000-users] Add/subtract 1d-mean profile In-Reply-To: Message-ID: <235747948.85598.1331556851515.JavaMail.root@zimbra.anl.gov> Hi Jan, Please, take a look at the routine planar_average_z(ua,u,w1,w2) in navier5.f:1728 For a box-like (say cartesian) geometry with element numbering in the lexographical order, it returns xy-plane-averaged ua of an array u(i,j,k,e) To use it you need to set your box dimensions, say with lelx,lely,lelz in SIZE and then in userchk() real ua(lz1,lelz),uf(lx1,ly1,lz1,lelv),w1(lz1,lelz),w2(lz1,nelz) ! avg., fluct. & work arrays integer e,eg,ez nelx = lelx nely = lely nelz = lelz melg = nelx*nely*nelz if (melg.eq.nelgt) then call planar_average_z(ua,vz,w1,w2) do e=1,nelv do k=1,nz1 do k=1,nz1 do k=1,nz1 eg = lglel(e) call get_exyz(ex,ey,ez,eg,nelx,nely,nelz) ! lexicographical ordering uf(i,j,k,e) = vz(i,j,k,e) - ua(k,ez) ! not efficient but clear enddo enddo enddo enddo else if (nid.eq.0) write (6,*) ' Wrong lelx,lely,lelz' endif Best. Aleks ----- Original Message ----- From: nek5000-users at lists.mcs.anl.gov To: nek5000-users at lists.mcs.anl.gov Sent: Sunday, March 11, 2012 12:09:00 PM Subject: Re: [Nek5000-users] Add/subtract 1d-mean profile (Same mail, new formatting...) Hi Paul, first of all thanks for the quick reply! > I guess my first question is the following.? When you say you want to > > "add or subtract this profile which is given on the global nodes to each point of the field" > it seems we need to be talking in the context of some software > that is going to read the field in and then process the data. > > At present, I know of only 3 codes to do that: nek, VisIt, and postnek (though there have been custom, one-off, codes written > in the past). I want to do the whole post-processing in nek. With VisIt I only visualize my data generated with nek (the post-processed data as well as the raw simulation data). With postnek I haven't worked until now and I think postnek is not what I'm looking for. > Second question is --- What do you want to do with this field > after you have subtracted the mean profile??? Do you want to > write it to disk, visualize it, use it in a calculation, analyze it with more statistics, or....? I want to analyze the statistics, calculate higher order moments of the fluctuation field (to compare it with the channel data of Robert D. Moser, John Kim and Nagi N. Mansour, Physics of Fluids, vol 11(4), for example the skewness or the flatness of the field) or the gradients of the fluctuation field du'_i/dx_j to get (fluctuation based) \omega'_k or the (fluctuation based) strain rate tensor s'_ij = 1/2*(du'_i/dx_j + du'_j/dx_i). These are only few examples on what I would like to do... But for all these things I need the fluctuation field and that means u' = u - . In this context would be (for example if I don't have the temporal avg_all() means) the spatial (y-) mean over the full channel domain. When I do my production run with the code I can obtain the temporal averages by calling avg_all() every timestep and then write it to disk, thats clear to me. But my question aims on how to get the fluctuation field without having the temporal averages. Based on only a single velocity filed (as described above). > In any case, it seems likely that processing in nek is the > way to go because it has the ability to read the data, write > the data, and readily compute statistics.?? In this mode, you > simply are using nek as a post-processor and not for timestepping. > > Please advise if that's the path you wish to take, or if you > had something else in mind. Yes, thats the way I want? to do my post-processing (and already do it right now...). Regards Jan F. _______________________________________________ Nek5000-users mailing list Nek5000-users at lists.mcs.anl.gov https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users From nek5000-users at lists.mcs.anl.gov Mon Mar 12 08:12:37 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Mon, 12 Mar 2012 08:12:37 -0500 (CDT) Subject: [Nek5000-users] Add/subtract 1d-mean profile In-Reply-To: References: <638631043.79481.1331303670316.JavaMail.root@zimbra.anl.gov> Message-ID: Hi Jan, I've added a routine, "no_y_profile(u)" to the current version of the repo (navier5.f). Usage is of the form shown below. If you want the y_profile in an array, just look at the navier5.f source and you can see the correct calling sequence. Paul c----------------------------------------------------------------------- subroutine userchk include 'SIZE' include 'TOTAL' parameter (ll=lx1*ly1*lz1*lelt) common /mystufr/ u(ll),v(ll),w(ll) call opcopy(u,v,w,vx,vy,vz) call no_y_profile(u) call no_y_profile(v) call no_y_profile(w) if (istep.gt.0.and.mod(istep,iostep).eq.0) $ call outpost(u,v,w,pr,t,'noy') return end c----------------------------------------------------------------------- Paul On Sun, 11 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hi Paul, > > first of all thanks for the quick reply! > > > I guess my first question is the following. When you say you > want to > > "add or subtract this profile which is given on the global nodes > to each point of the field" > > it seems we need to be talking in the context of some software > that is going to read the field in and then process the data. > > At present, I know of only 3 codes to do that: nek, VisIt, and postnek > (though there have been custom, one-off, codes written > in the past). > > I want to do the whole post-processing in nek. With VisIt I only visualize > my data generated with nek (the post-processed data as well as the raw > simulation data). With postnek I haven't worked until now and I think > postnek is not what I'm looking for. > > > Second question is --- What do you want to do with this field > after you have subtracted the mean profile? Do you want to > write it to disk, visualize it, use it in a calculation, analyze it with > more statistics, or....? > > I want to analyze the statistics, calculate higher order moments of the > fluctuation field (to compare it with the channel data of Robert D. Moser, > John Kim and Nagi N. Mansour, > Physics of Fluids, vol 11(4), for example the skewness or the flatness of > the field) or the gradients of the fluctuation field du'_i/dx_j to get > (fluctuation based) \omega'_k or the (fluctuation based) strain rate tensor > s'_ij = 1/2*(du'_i/dx_j + du'_j/dx_i). > These are only few examples on what I would like to do... > > But for all these things I need the fluctuation field and that means u' = u > - . > In this context would be (for example if I don't have the temporal > avg_all() means) the spatial (y-) mean over the full channel domain. > > When I do my production run with the code I can obtain the temporal > averages by calling avg_all() every timestep and then write it to disk, > thats clear to me. > > But my question aims on how to get the fluctuation field without having the > temporal averages. Based on only a single velocity filed (as described > above). > > > In any case, it seems likely that processing in nek is the > way to go because it has the ability to read the data, write > the data, and readily compute statistics. In this mode, you > simply are using nek as a post-processor and not for timestepping. > > Please advise if that's the path you wish to take, or if you > had something else in mind. > > Yes, thats the way I want to do my post-processing (and already do it > right now...). > > Regards > Jan F. > From nek5000-users at lists.mcs.anl.gov Wed Mar 14 07:11:46 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Wed, 14 Mar 2012 12:11:46 +0000 Subject: [Nek5000-users] Element connectivity information Message-ID: <02B4AE64-C950-4BF4-B6AA-0B81F9D97C88@mech.kth.se> Hi Neks, I am using Nek5000 coupled to an Arnoldi algorithm for hydrodynamic stability computations. In these, I form a vector of the velocities, which I regularly pass to the Arnoldi solver. Then, a new velocity vector is formed which is passed back to Nek5000. Now, the code works as it is, but in addition to the physical modes it produces some spurious modes, which I think originate from the fact that the velocities at the element-common boundaries are accounted for twice. To fix this, I need to access the element connectivity information. Can you please guide me to in which variable this is stored? In particular, this is what I would like to do: - add the element-common points to the local vector only for one of two adjacent elements (and for a corner point, only one of the four elements adjacent to it). - for the vector that Arnoldi returns, make sure that the new values of the velocity are inserted also for the other adjacent element(s). Thanks a lot in advance! Outi From nek5000-users at lists.mcs.anl.gov Wed Mar 14 08:40:30 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Wed, 14 Mar 2012 08:40:30 -0500 (CDT) Subject: [Nek5000-users] Element connectivity information In-Reply-To: <02B4AE64-C950-4BF4-B6AA-0B81F9D97C88@mech.kth.se> References: <02B4AE64-C950-4BF4-B6AA-0B81F9D97C88@mech.kth.se> Message-ID: Hi Outi, We encounter this problem all the time in conjugate gradient and gmres iteration. For reasons of symmetry (and, hence, commutativity and associativity, which are two essential ingredients for parallel execution), I would suggest that you not try to store the data only once, but rather scale by the inverse counting-matrix (aka, multiplicity), so that interface points are not counted twice when computing your inner products. The inverse counting-matrix is stored in vmult() and tmult(). A typical application is: alpha = glsc3(vx,vmult,vx,n) (n=nx1*ny1*nz1*nelv) which gives the l2 inner product: alpha := sum_i (vx_i)^2 for a vector VX. Note that if you instead want the L2 inner product alpha = \int_Omega (vx)^2 dV you would compute this as: alpha = glsc3(vx,bm1,vx,n) = vx^T B vx which is the inner product of vx with the (diagonal) mass matrix B. If you want the average of the physical rms (say), it would be: alpha = glsc3(vx,bm1,vx,n) if (alpha.gt.0) alpha = sqrt(alpha/volvm1) etc. In summary, for linear algebra, use vmult(). For physics, use bm1() (B, on Mesh 1). Please let me know if this help to resolve your problem. Best regards, Paul On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hi Neks, > > I am using Nek5000 coupled to an Arnoldi algorithm for hydrodynamic stability > computations. In these, I form a vector of the velocities, which I regularly > pass to the Arnoldi solver. Then, a new velocity vector is formed which is > passed back to Nek5000. > > Now, the code works as it is, but in addition to the physical modes it > produces some spurious modes, which I think originate from the fact that the > velocities at the element-common boundaries are accounted for twice. To fix > this, I need to access the element connectivity information. Can you please > guide me to in which variable this is stored? > > In particular, this is what I would like to do: > - add the element-common points to the local vector only for one of two > adjacent elements (and for a corner point, only one of the four elements > adjacent to it). > - for the vector that Arnoldi returns, make sure that the new values of the > velocity are inserted also for the other adjacent element(s). > > Thanks a lot in advance! > Outi > > > > > > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users From nek5000-users at lists.mcs.anl.gov Wed Mar 14 12:24:11 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Wed, 14 Mar 2012 17:24:11 +0000 Subject: [Nek5000-users] Element connectivity information In-Reply-To: References: <02B4AE64-C950-4BF4-B6AA-0B81F9D97C88@mech.kth.se> Message-ID: <2C3E2E23-E262-4047-97DD-E9012459895A@mech.kth.se> Hi Paul, Thank you for a quick response. My current understanding is that the error occurs since Arnoldi treats the velocities in the duplicated points as separate degrees of freedom (which they are not in Nek5000, since they come out always equal). So, therefore I am not so sure that a weighting operation would remove the problem. Anyway, I will test what you suggest in a few cases and tell you how it comes out. But if it turns out that counting the points once is the only option (asymmetrically, as you point out), is it possible to do this? (Another option is always that I make changes inside the Arnoldi algorithm, but this might be a bit more elaborate.) Thanks a lot, Outi 14 Mar 2012 kl. 13:40 skrev nek5000-users at lists.mcs.anl.gov: > > > Hi Outi, > > We encounter this problem all the time in conjugate gradient > and gmres iteration. > > For reasons of symmetry (and, hence, commutativity and associativity, > which are two essential ingredients for parallel execution), I would > suggest that you not try to store the data only once, but rather > scale by the inverse counting-matrix (aka, multiplicity), so that > interface points are not counted twice when computing your inner > products. > > The inverse counting-matrix is stored in vmult() and tmult(). A > typical application is: > > alpha = glsc3(vx,vmult,vx,n) (n=nx1*ny1*nz1*nelv) > > which gives the l2 inner product: alpha := sum_i (vx_i)^2 for a > vector VX. > > Note that if you instead want the L2 inner product > > alpha = \int_Omega (vx)^2 dV > > you would compute this as: > > alpha = glsc3(vx,bm1,vx,n) > > = vx^T B vx > > which is the inner product of vx with the (diagonal) mass matrix B. > > If you want the average of the physical rms (say), it would be: > > > alpha = glsc3(vx,bm1,vx,n) > if (alpha.gt.0) alpha = sqrt(alpha/volvm1) > > > etc. > > In summary, for linear algebra, use vmult(). For physics, use bm1() > (B, on Mesh 1). > > > Please let me know if this help to resolve your problem. > > Best regards, > > Paul > > > > On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > >> Hi Neks, >> >> I am using Nek5000 coupled to an Arnoldi algorithm for hydrodynamic >> stability computations. In these, I form a vector of the >> velocities, which I regularly pass to the Arnoldi solver. Then, a >> new velocity vector is formed which is passed back to Nek5000. >> >> Now, the code works as it is, but in addition to the physical modes >> it produces some spurious modes, which I think originate from the >> fact that the velocities at the element-common boundaries are >> accounted for twice. To fix this, I need to access the element >> connectivity information. Can you please guide me to in which >> variable this is stored? >> >> In particular, this is what I would like to do: >> - add the element-common points to the local vector only for one >> of two adjacent elements (and for a corner point, only one of the >> four elements adjacent to it). >> - for the vector that Arnoldi returns, make sure that the new >> values of the velocity are inserted also for the other adjacent >> element(s). >> >> Thanks a lot in advance! >> Outi >> >> >> >> >> >> _______________________________________________ >> 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 From nek5000-users at lists.mcs.anl.gov Wed Mar 14 17:23:50 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Wed, 14 Mar 2012 17:23:50 -0500 (CDT) Subject: [Nek5000-users] Element connectivity information In-Reply-To: <2C3E2E23-E262-4047-97DD-E9012459895A@mech.kth.se> References: <02B4AE64-C950-4BF4-B6AA-0B81F9D97C88@mech.kth.se> <2C3E2E23-E262-4047-97DD-E9012459895A@mech.kth.se> Message-ID: Dear Outi, Can you tell me a bit more about the Arnoldi solver? (I know about the method. Here, I mean the specific source code that you are using, what the interface to the code is, etc.) Best regards, Paul On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hi Paul, > > Thank you for a quick response. > My current understanding is that the error occurs since Arnoldi treats the > velocities in the duplicated points as separate degrees of freedom (which > they are not in Nek5000, since they come out always equal). > So, therefore I am not so sure that a weighting operation would remove the > problem. > Anyway, I will test what you suggest in a few cases and tell you how it comes > out. > > But if it turns out that counting the points once is the only option > (asymmetrically, as you point out), is it possible to do this? > (Another option is always that I make changes inside the Arnoldi algorithm, > but this might be a bit more elaborate.) > > Thanks a lot, > > Outi > > 14 Mar 2012 kl. 13:40 skrev nek5000-users at lists.mcs.anl.gov: > >> >> >> Hi Outi, >> >> We encounter this problem all the time in conjugate gradient >> and gmres iteration. >> >> For reasons of symmetry (and, hence, commutativity and associativity, >> which are two essential ingredients for parallel execution), I would >> suggest that you not try to store the data only once, but rather >> scale by the inverse counting-matrix (aka, multiplicity), so that interface >> points are not counted twice when computing your inner >> products. >> >> The inverse counting-matrix is stored in vmult() and tmult(). A >> typical application is: >> >> alpha = glsc3(vx,vmult,vx,n) (n=nx1*ny1*nz1*nelv) >> >> which gives the l2 inner product: alpha := sum_i (vx_i)^2 for a vector VX. >> >> Note that if you instead want the L2 inner product >> >> alpha = \int_Omega (vx)^2 dV >> >> you would compute this as: >> >> alpha = glsc3(vx,bm1,vx,n) >> >> = vx^T B vx >> >> which is the inner product of vx with the (diagonal) mass matrix B. >> >> If you want the average of the physical rms (say), it would be: >> >> >> alpha = glsc3(vx,bm1,vx,n) >> if (alpha.gt.0) alpha = sqrt(alpha/volvm1) >> >> >> etc. >> >> In summary, for linear algebra, use vmult(). For physics, use bm1() >> (B, on Mesh 1). >> >> >> Please let me know if this help to resolve your problem. >> >> Best regards, >> >> Paul >> >> >> >> On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >> >>> Hi Neks, >>> >>> I am using Nek5000 coupled to an Arnoldi algorithm for hydrodynamic >>> stability computations. In these, I form a vector of the velocities, which >>> I regularly pass to the Arnoldi solver. Then, a new velocity vector is >>> formed which is passed back to Nek5000. >>> >>> Now, the code works as it is, but in addition to the physical modes it >>> produces some spurious modes, which I think originate from the fact that >>> the velocities at the element-common boundaries are accounted for twice. >>> To fix this, I need to access the element connectivity information. Can >>> you please guide me to in which variable this is stored? >>> >>> In particular, this is what I would like to do: >>> - add the element-common points to the local vector only for one of two >>> adjacent elements (and for a corner point, only one of the four elements >>> adjacent to it). >>> - for the vector that Arnoldi returns, make sure that the new values of >>> the velocity are inserted also for the other adjacent element(s). >>> >>> Thanks a lot in advance! >>> Outi >>> >>> >>> >>> >>> >>> _______________________________________________ >>> 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 From nek5000-users at lists.mcs.anl.gov Thu Mar 15 05:40:29 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Thu, 15 Mar 2012 11:40:29 +0100 Subject: [Nek5000-users] Add/subtract 1d-mean profile In-Reply-To: References: <638631043.79481.1331303670316.JavaMail.root@zimbra.anl.gov> Message-ID: Works very well! Thanks a lot! Jan Am 12. M?rz 2012 14:12 schrieb : > > > Hi Jan, > > I've added a routine, "no_y_profile(u)" to the current version > of the repo (navier5.f). > > Usage is of the form shown below. > > If you want the y_profile in an array, just look at the navier5.f > source and you can see the correct calling sequence. > > Paul > > > c----------------------------------------------------------------------- > ? ? ?subroutine userchk > ? ? ?include 'SIZE' > ? ? ?include 'TOTAL' > > ? ? ?parameter (ll=lx1*ly1*lz1*lelt) > ? ? ?common /mystufr/ u(ll),v(ll),w(ll) > > ? ? ?call opcopy(u,v,w,vx,vy,vz) > ? ? ?call no_y_profile(u) > ? ? ?call no_y_profile(v) > ? ? ?call no_y_profile(w) > > ? ? ?if (istep.gt.0.and.mod(istep,iostep).eq.0) > ? ? $ ? call outpost(u,v,w,pr,t,'noy') > > > ? ? ?return > ? ? ?end > c----------------------------------------------------------------------- > > > Paul > > > > > On Sun, 11 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > >> Hi Paul, >> >> first of all thanks for the quick reply! >> >> >> I guess my first question is the following. ?When you say you >> want to >> >> "add or subtract this profile which is given on the global nodes >> to each point of the field" >> >> it seems we need to be talking in the context of some software >> that is going to read the field in and then process the data. >> >> At present, I know of only 3 codes to do that: nek, VisIt, and postnek >> (though there have been custom, one-off, codes written >> in the past). >> >> I want to do the whole post-processing in nek. With VisIt I only visualize >> my data generated with nek (the post-processed data as well as the raw >> simulation data). With postnek I haven't worked until now and I think >> postnek is not what I'm looking for. >> >> >> Second question is --- What do you want to do with this field >> after you have subtracted the mean profile? ? Do you want to >> write it to disk, visualize it, use it in a calculation, analyze it with >> more statistics, or....? >> >> I want to analyze the statistics, calculate higher order moments of the >> fluctuation field (to compare it with the channel data of Robert D. Moser, >> John Kim and Nagi N. Mansour, >> Physics of Fluids, vol 11(4), for example the skewness or the flatness of >> the field) or the gradients of the fluctuation field du'_i/dx_j to get >> (fluctuation based) \omega'_k or the (fluctuation based) strain rate >> tensor >> s'_ij = 1/2*(du'_i/dx_j + du'_j/dx_i). >> These are only few examples on what I would like to do... >> >> But for all these things I need the fluctuation field and that means u' = >> u >> - . >> In this context would be (for example if I don't have the temporal >> avg_all() means) the spatial (y-) mean over the full channel domain. >> >> When I do my production run with the code I can obtain the temporal >> averages by calling avg_all() every timestep and then write it to disk, >> thats clear to me. >> >> But my question aims on how to get the fluctuation field without having >> the >> temporal averages. Based on only a single velocity filed (as described >> above). >> >> >> In any case, it seems likely that processing in nek is the >> way to go because it has the ability to read the data, write >> the data, and readily compute statistics. ? In this mode, you >> simply are using nek as a post-processor and not for timestepping. >> >> Please advise if that's the path you wish to take, or if you >> had something else in mind. >> >> Yes, thats the way I want ?to do my post-processing (and already do it >> right now...). >> >> Regards >> Jan F. >> > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users From nek5000-users at lists.mcs.anl.gov Thu Mar 15 06:34:36 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Thu, 15 Mar 2012 11:34:36 +0000 Subject: [Nek5000-users] Element connectivity information In-Reply-To: References: <02B4AE64-C950-4BF4-B6AA-0B81F9D97C88@mech.kth.se> <2C3E2E23-E262-4047-97DD-E9012459895A@mech.kth.se> Message-ID: Dear Paul, I am using the parallel version of ARPACK. It is currently only called inside userchk. When the Arnoldi operations finish, the Nek5000 velocity vector is updated, and I force Nek5000 to start with the new vector as an initial condition. (I am aware of that this is not an elegant implementation, but we thought other options would imply modifying the source). I have verified the code against the local Orr-Sommerfeld spectrum in a channel flow (using periodic BC in the streamwise direction), and the wake behind a cylinder. It seems like the spectrum is reproduced correctly, except from a few spurious eigenvalues, that are always located "exactly" at zero (real and imaginary part). Those do not appear for all cases I have studied, but for many cases. So far, I have ignored the spurious eigenvalues, though they make the convergence slower. Best regards, Outi 14 Mar 2012 kl. 22:23 skrev nek5000-users at lists.mcs.anl.gov: > > Dear Outi, > > Can you tell me a bit more about the Arnoldi solver? (I know > about the method. Here, I mean the specific source code that > you are using, what the interface to the code is, etc.) > > Best regards, > > Paul > > > On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > >> Hi Paul, >> >> Thank you for a quick response. >> My current understanding is that the error occurs since Arnoldi >> treats the velocities in the duplicated points as separate degrees >> of freedom (which they are not in Nek5000, since they come out >> always equal). >> So, therefore I am not so sure that a weighting operation would >> remove the problem. >> Anyway, I will test what you suggest in a few cases and tell you >> how it comes out. >> >> But if it turns out that counting the points once is the only >> option (asymmetrically, as you point out), is it possible to do this? >> (Another option is always that I make changes inside the Arnoldi >> algorithm, but this might be a bit more elaborate.) >> >> Thanks a lot, >> >> Outi >> >> 14 Mar 2012 kl. 13:40 skrev nek5000-users at lists.mcs.anl.gov: >> >>> Hi Outi, >>> We encounter this problem all the time in conjugate gradient >>> and gmres iteration. >>> For reasons of symmetry (and, hence, commutativity and >>> associativity, >>> which are two essential ingredients for parallel execution), I would >>> suggest that you not try to store the data only once, but rather >>> scale by the inverse counting-matrix (aka, multiplicity), so that >>> interface points are not counted twice when computing your inner >>> products. >>> The inverse counting-matrix is stored in vmult() and tmult(). A >>> typical application is: >>> >>> alpha = glsc3(vx,vmult,vx,n) (n=nx1*ny1*nz1*nelv) >>> which gives the l2 inner product: alpha := sum_i (vx_i)^2 for a >>> vector VX. >>> Note that if you instead want the L2 inner product >>> >>> alpha = \int_Omega (vx)^2 dV >>> you would compute this as: >>> >>> alpha = glsc3(vx,bm1,vx,n) >>> >>> = vx^T B vx >>> which is the inner product of vx with the (diagonal) mass matrix B. >>> If you want the average of the physical rms (say), it would be: >>> >>> alpha = glsc3(vx,bm1,vx,n) >>> if (alpha.gt.0) alpha = sqrt(alpha/volvm1) >>> etc. >>> In summary, for linear algebra, use vmult(). For physics, use bm1() >>> (B, on Mesh 1). >>> Please let me know if this help to resolve your problem. >>> Best regards, >>> Paul >>> On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >>>> Hi Neks, >>>> I am using Nek5000 coupled to an Arnoldi algorithm for >>>> hydrodynamic stability computations. In these, I form a vector of >>>> the velocities, which I regularly pass to the Arnoldi solver. >>>> Then, a new velocity vector is formed which is passed back to >>>> Nek5000. >>>> Now, the code works as it is, but in addition to the physical >>>> modes it produces some spurious modes, which I think originate >>>> from the fact that the velocities at the element-common >>>> boundaries are accounted for twice. To fix this, I need to access >>>> the element connectivity information. Can you please guide me to >>>> in which variable this is stored? >>>> In particular, this is what I would like to do: >>>> - add the element-common points to the local vector only for one >>>> of two adjacent elements (and for a corner point, only one of the >>>> four elements adjacent to it). >>>> - for the vector that Arnoldi returns, make sure that the new >>>> values of the velocity are inserted also for the other adjacent >>>> element(s). >>>> Thanks a lot in advance! >>>> Outi >>>> _______________________________________________ >>>> 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 > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users From nek5000-users at lists.mcs.anl.gov Thu Mar 15 07:16:39 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Thu, 15 Mar 2012 07:16:39 -0500 (CDT) Subject: [Nek5000-users] Element connectivity information In-Reply-To: References: <02B4AE64-C950-4BF4-B6AA-0B81F9D97C88@mech.kth.se> <2C3E2E23-E262-4047-97DD-E9012459895A@mech.kth.se> Message-ID: Dear Outi, Thank you for the update. Just so I understand better, what are the degrees of freedom for your eigenvalue problem? Are there ndim velocity components, plus pressure, plus temperature? Regarding pressure, are you using PnPn or PnPn-2 ? What about boundary conditions? If you are eliminating redundant velocity variables then you presumably also need to eliminate inactive boundary values. Once I have a handle on what you need I'll see if we can come up with a strategy. Best regards, Paul On Thu, 15 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Dear Paul, > > I am using the parallel version of ARPACK. It is currently only called inside > userchk. When the Arnoldi operations finish, the Nek5000 velocity vector is > updated, and I force Nek5000 to start with the new vector as an initial > condition. > (I am aware of that this is not an elegant implementation, but we thought > other options would imply modifying the source). > > I have verified the code against the local Orr-Sommerfeld spectrum in a > channel flow (using periodic BC in the streamwise direction), and the wake > behind a cylinder. > It seems like the spectrum is reproduced correctly, except from a few > spurious eigenvalues, that are always located "exactly" at zero (real and > imaginary part). Those do not appear for all cases I have studied, but for > many cases. So far, I have ignored the spurious eigenvalues, though they make > the convergence slower. > > Best regards, > Outi > > 14 Mar 2012 kl. 22:23 skrev nek5000-users at lists.mcs.anl.gov: > >> >> Dear Outi, >> >> Can you tell me a bit more about the Arnoldi solver? (I know >> about the method. Here, I mean the specific source code that >> you are using, what the interface to the code is, etc.) >> >> Best regards, >> >> Paul >> >> >> On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >> >>> Hi Paul, >>> >>> Thank you for a quick response. >>> My current understanding is that the error occurs since Arnoldi treats the >>> velocities in the duplicated points as separate degrees of freedom (which >>> they are not in Nek5000, since they come out always equal). >>> So, therefore I am not so sure that a weighting operation would remove the >>> problem. >>> Anyway, I will test what you suggest in a few cases and tell you how it >>> comes out. >>> >>> But if it turns out that counting the points once is the only option >>> (asymmetrically, as you point out), is it possible to do this? >>> (Another option is always that I make changes inside the Arnoldi >>> algorithm, but this might be a bit more elaborate.) >>> >>> Thanks a lot, >>> >>> Outi >>> >>> 14 Mar 2012 kl. 13:40 skrev nek5000-users at lists.mcs.anl.gov: >>> >>>> Hi Outi, >>>> We encounter this problem all the time in conjugate gradient >>>> and gmres iteration. >>>> For reasons of symmetry (and, hence, commutativity and associativity, >>>> which are two essential ingredients for parallel execution), I would >>>> suggest that you not try to store the data only once, but rather >>>> scale by the inverse counting-matrix (aka, multiplicity), so that >>>> interface points are not counted twice when computing your inner >>>> products. >>>> The inverse counting-matrix is stored in vmult() and tmult(). A >>>> typical application is: >>>> >>>> alpha = glsc3(vx,vmult,vx,n) (n=nx1*ny1*nz1*nelv) >>>> which gives the l2 inner product: alpha := sum_i (vx_i)^2 for a vector >>>> VX. >>>> Note that if you instead want the L2 inner product >>>> >>>> alpha = \int_Omega (vx)^2 dV >>>> you would compute this as: >>>> >>>> alpha = glsc3(vx,bm1,vx,n) >>>> >>>> = vx^T B vx >>>> which is the inner product of vx with the (diagonal) mass matrix B. >>>> If you want the average of the physical rms (say), it would be: >>>> >>>> alpha = glsc3(vx,bm1,vx,n) >>>> if (alpha.gt.0) alpha = sqrt(alpha/volvm1) >>>> etc. >>>> In summary, for linear algebra, use vmult(). For physics, use bm1() >>>> (B, on Mesh 1). >>>> Please let me know if this help to resolve your problem. >>>> Best regards, >>>> Paul >>>> On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >>>>> Hi Neks, >>>>> I am using Nek5000 coupled to an Arnoldi algorithm for hydrodynamic >>>>> stability computations. In these, I form a vector of the velocities, >>>>> which I regularly pass to the Arnoldi solver. Then, a new velocity >>>>> vector is formed which is passed back to Nek5000. >>>>> Now, the code works as it is, but in addition to the physical modes it >>>>> produces some spurious modes, which I think originate from the fact that >>>>> the velocities at the element-common boundaries are accounted for twice. >>>>> To fix this, I need to access the element connectivity information. Can >>>>> you please guide me to in which variable this is stored? >>>>> In particular, this is what I would like to do: >>>>> - add the element-common points to the local vector only for one of two >>>>> adjacent elements (and for a corner point, only one of the four elements >>>>> adjacent to it). >>>>> - for the vector that Arnoldi returns, make sure that the new values of >>>>> the velocity are inserted also for the other adjacent element(s). >>>>> Thanks a lot in advance! >>>>> Outi >>>>> _______________________________________________ >>>>> 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 >> _______________________________________________ >> 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 From nek5000-users at lists.mcs.anl.gov Thu Mar 15 08:44:20 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Thu, 15 Mar 2012 08:44:20 -0500 (CDT) Subject: [Nek5000-users] Element connectivity information In-Reply-To: References: <02B4AE64-C950-4BF4-B6AA-0B81F9D97C88@mech.kth.se> <2C3E2E23-E262-4047-97DD-E9012459895A@mech.kth.se> Message-ID: Dear Outi, Just a follow-up on my earlier comments about Arnoldi. With iterative methods in general, there is absolutely no need to condense the redundant nodes because the solver has no concept of the dimension of the system ("n" is not an explicit part of the algorithm). The solver only knows about the rank that it discovers during the orthogonalization process. So, as long as every input vector in the SEM case is continuous, arpack will not distinguish whether you have the redundant storage or not---it has no means for making this discovery. Hence, if you are seeing spurious modes, they are a result of breaking the condition that the vectors are continuous or of some other mode that is not being controlled. A common source for such breakage is failure to dssum in the appropriate place, particularly in a preconditioning step, or somehow failing to propagate needed information. My suspicion is that there is something else going on that we should pay attention to. Just to make this concrete, arpack will discover the eigenvalues of the following to matrices (of rank 2) in exactly the same iteration count: A(2x2) and A' := PAP^T where / 1 0 \ P = | 0 1 | \ 0 1 / note that the latter case makes vectors v' = P v have redundant 2nd and 3rd entries. This being said, you have to pay attention to any preconditioning steps (particularly any involving direct methods, where knowing "n" is important), to ensure that each vector in the iteration step is in the column space of P. (In nek, the equivalent of "P" is the matrix that does the global to local map.... and in fact, there is never a matrix "A" of the type described above.) Note that it might appear that A' has a spurious eigenmode, which is true, but it is in fact not allowed because that eigenmode is not in the range of P (i.e., would correspond to a discontinuous velocity field, which would never be generated in a proper setup). Also note that there might be an issue if you told Arpack that the rank of your matrix is 3 instead of 2 (e.g., it would look for 3 eigenvalues). However, since you are only looking for m << n eigenvalues, there is no reason to suspect that this is an issue. I hope this helps. Cheers, Paul On Thu, 15 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Dear Paul, > > I am using the parallel version of ARPACK. It is currently only called inside > userchk. When the Arnoldi operations finish, the Nek5000 velocity vector is > updated, and I force Nek5000 to start with the new vector as an initial > condition. > (I am aware of that this is not an elegant implementation, but we thought > other options would imply modifying the source). > > I have verified the code against the local Orr-Sommerfeld spectrum in a > channel flow (using periodic BC in the streamwise direction), and the wake > behind a cylinder. > It seems like the spectrum is reproduced correctly, except from a few > spurious eigenvalues, that are always located "exactly" at zero (real and > imaginary part). Those do not appear for all cases I have studied, but for > many cases. So far, I have ignored the spurious eigenvalues, though they make > the convergence slower. > > Best regards, > Outi > > 14 Mar 2012 kl. 22:23 skrev nek5000-users at lists.mcs.anl.gov: > >> >> Dear Outi, >> >> Can you tell me a bit more about the Arnoldi solver? (I know >> about the method. Here, I mean the specific source code that >> you are using, what the interface to the code is, etc.) >> >> Best regards, >> >> Paul >> >> >> On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >> >>> Hi Paul, >>> >>> Thank you for a quick response. >>> My current understanding is that the error occurs since Arnoldi treats the >>> velocities in the duplicated points as separate degrees of freedom (which >>> they are not in Nek5000, since they come out always equal). >>> So, therefore I am not so sure that a weighting operation would remove the >>> problem. >>> Anyway, I will test what you suggest in a few cases and tell you how it >>> comes out. >>> >>> But if it turns out that counting the points once is the only option >>> (asymmetrically, as you point out), is it possible to do this? >>> (Another option is always that I make changes inside the Arnoldi >>> algorithm, but this might be a bit more elaborate.) >>> >>> Thanks a lot, >>> >>> Outi >>> >>> 14 Mar 2012 kl. 13:40 skrev nek5000-users at lists.mcs.anl.gov: >>> >>>> Hi Outi, >>>> We encounter this problem all the time in conjugate gradient >>>> and gmres iteration. >>>> For reasons of symmetry (and, hence, commutativity and associativity, >>>> which are two essential ingredients for parallel execution), I would >>>> suggest that you not try to store the data only once, but rather >>>> scale by the inverse counting-matrix (aka, multiplicity), so that >>>> interface points are not counted twice when computing your inner >>>> products. >>>> The inverse counting-matrix is stored in vmult() and tmult(). A >>>> typical application is: >>>> >>>> alpha = glsc3(vx,vmult,vx,n) (n=nx1*ny1*nz1*nelv) >>>> which gives the l2 inner product: alpha := sum_i (vx_i)^2 for a vector >>>> VX. >>>> Note that if you instead want the L2 inner product >>>> >>>> alpha = \int_Omega (vx)^2 dV >>>> you would compute this as: >>>> >>>> alpha = glsc3(vx,bm1,vx,n) >>>> >>>> = vx^T B vx >>>> which is the inner product of vx with the (diagonal) mass matrix B. >>>> If you want the average of the physical rms (say), it would be: >>>> >>>> alpha = glsc3(vx,bm1,vx,n) >>>> if (alpha.gt.0) alpha = sqrt(alpha/volvm1) >>>> etc. >>>> In summary, for linear algebra, use vmult(). For physics, use bm1() >>>> (B, on Mesh 1). >>>> Please let me know if this help to resolve your problem. >>>> Best regards, >>>> Paul >>>> On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >>>>> Hi Neks, >>>>> I am using Nek5000 coupled to an Arnoldi algorithm for hydrodynamic >>>>> stability computations. In these, I form a vector of the velocities, >>>>> which I regularly pass to the Arnoldi solver. Then, a new velocity >>>>> vector is formed which is passed back to Nek5000. >>>>> Now, the code works as it is, but in addition to the physical modes it >>>>> produces some spurious modes, which I think originate from the fact that >>>>> the velocities at the element-common boundaries are accounted for twice. >>>>> To fix this, I need to access the element connectivity information. Can >>>>> you please guide me to in which variable this is stored? >>>>> In particular, this is what I would like to do: >>>>> - add the element-common points to the local vector only for one of two >>>>> adjacent elements (and for a corner point, only one of the four elements >>>>> adjacent to it). >>>>> - for the vector that Arnoldi returns, make sure that the new values of >>>>> the velocity are inserted also for the other adjacent element(s). >>>>> Thanks a lot in advance! >>>>> Outi >>>>> _______________________________________________ >>>>> 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 >> _______________________________________________ >> 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 From nek5000-users at lists.mcs.anl.gov Thu Mar 15 09:16:00 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Thu, 15 Mar 2012 14:16:00 +0000 Subject: [Nek5000-users] Element connectivity information In-Reply-To: References: <02B4AE64-C950-4BF4-B6AA-0B81F9D97C88@mech.kth.se> <2C3E2E23-E262-4047-97DD-E9012459895A@mech.kth.se> Message-ID: <837032B1-2A56-4901-B2BF-E925F0E4B7CD@mech.kth.se> Dear Paul, Thank you for the input. I will think about your answers and return to you. I should mention that it is true that the zero eigenvalues have eigenvectors that are discontinuous at the element boundaries. My idea was that velocity vectors that are slightly discontinuous across the element boundaries might be returned by Arnoldi, if not else, due to finite precision arithmetics. (And since Arnoldi is looking for the unstable or least stable eigenvalues, zero eigenvalues would often be returned among the first ones.) But I understand that your experience tells you the problem is somewhere else. Outi 15 Mar 2012 kl. 13:44 skrev nek5000-users at lists.mcs.anl.gov: > > Dear Outi, > > Just a follow-up on my earlier comments about Arnoldi. > > With iterative methods in general, there is absolutely no > need to condense the redundant nodes because the solver > has no concept of the dimension of the system ("n" is not > an explicit part of the algorithm). The solver only knows about > the rank that it discovers during the orthogonalization > process. So, as long as every input vector in the SEM case is > continuous, arpack will not distinguish whether you have the > redundant storage or not---it has no means for making this > discovery. > > Hence, if you are seeing spurious modes, they are a result > of breaking the condition that the vectors are continuous > or of some other mode that is not being controlled. > A common source for such breakage is failure to dssum in > the appropriate place, particularly in a preconditioning > step, or somehow failing to propagate needed information. > My suspicion is that there is something else going on > that we should pay attention to. > > Just to make this concrete, arpack will discover the eigenvalues of > the following to matrices (of rank 2) > in exactly the same iteration count: > > > A(2x2) > > and > > A' := PAP^T > > > where > > / 1 0 \ > P = | 0 1 | > \ 0 1 / > > note that the latter case makes vectors v' = P v have > redundant 2nd and 3rd entries. > > This being said, you have to pay attention to any preconditioning > steps (particularly any involving direct methods, where knowing "n" > is important), to > ensure that each vector in the iteration step is in the > column space of P. > > (In nek, the equivalent of "P" is the matrix that does > the global to local map.... and in fact, there is never a matrix "A" > of the type described above.) > > Note that it might appear that A' has a spurious > eigenmode, which is true, but it is in fact not > allowed because that eigenmode is not in the range > of P (i.e., would correspond to a discontinuous > velocity field, which would never be generated in > a proper setup). Also note that there might be an > issue if you told Arpack that the rank of your matrix > is 3 instead of 2 (e.g., it would look for 3 eigenvalues). > However, since you are only looking for m << n eigenvalues, > there is no reason to suspect that this is an issue. > > I hope this helps. > > Cheers, > > Paul > > On Thu, 15 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > >> Dear Paul, >> >> I am using the parallel version of ARPACK. It is currently only >> called inside userchk. When the Arnoldi operations finish, the >> Nek5000 velocity vector is updated, and I force Nek5000 to start >> with the new vector as an initial condition. >> (I am aware of that this is not an elegant implementation, but we >> thought other options would imply modifying the source). >> >> I have verified the code against the local Orr-Sommerfeld spectrum >> in a channel flow (using periodic BC in the streamwise direction), >> and the wake behind a cylinder. >> It seems like the spectrum is reproduced correctly, except from a >> few spurious eigenvalues, that are always located "exactly" at zero >> (real and imaginary part). Those do not appear for all cases I have >> studied, but for many cases. So far, I have ignored the spurious >> eigenvalues, though they make the convergence slower. >> >> Best regards, >> Outi >> >> 14 Mar 2012 kl. 22:23 skrev nek5000-users at lists.mcs.anl.gov: >> >>> Dear Outi, >>> Can you tell me a bit more about the Arnoldi solver? (I know >>> about the method. Here, I mean the specific source code that >>> you are using, what the interface to the code is, etc.) >>> Best regards, >>> Paul >>> On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >>>> Hi Paul, >>>> Thank you for a quick response. >>>> My current understanding is that the error occurs since Arnoldi >>>> treats the velocities in the duplicated points as separate >>>> degrees of freedom (which they are not in Nek5000, since they >>>> come out always equal). >>>> So, therefore I am not so sure that a weighting operation would >>>> remove the problem. >>>> Anyway, I will test what you suggest in a few cases and tell you >>>> how it comes out. >>>> But if it turns out that counting the points once is the only >>>> option (asymmetrically, as you point out), is it possible to do >>>> this? >>>> (Another option is always that I make changes inside the Arnoldi >>>> algorithm, but this might be a bit more elaborate.) >>>> Thanks a lot, >>>> Outi >>>> 14 Mar 2012 kl. 13:40 skrev nek5000-users at lists.mcs.anl.gov: >>>>> Hi Outi, >>>>> We encounter this problem all the time in conjugate gradient >>>>> and gmres iteration. >>>>> For reasons of symmetry (and, hence, commutativity and >>>>> associativity, >>>>> which are two essential ingredients for parallel execution), I >>>>> would >>>>> suggest that you not try to store the data only once, but rather >>>>> scale by the inverse counting-matrix (aka, multiplicity), so >>>>> that interface points are not counted twice when computing your >>>>> inner >>>>> products. >>>>> The inverse counting-matrix is stored in vmult() and tmult(). A >>>>> typical application is: >>>>> >>>>> alpha = glsc3(vx,vmult,vx,n) (n=nx1*ny1*nz1*nelv) >>>>> which gives the l2 inner product: alpha := sum_i (vx_i)^2 for a >>>>> vector VX. >>>>> Note that if you instead want the L2 inner product >>>>> >>>>> alpha = \int_Omega (vx)^2 dV >>>>> you would compute this as: >>>>> >>>>> alpha = glsc3(vx,bm1,vx,n) >>>>> >>>>> = vx^T B vx >>>>> which is the inner product of vx with the (diagonal) mass matrix >>>>> B. >>>>> If you want the average of the physical rms (say), it would be: >>>>> >>>>> alpha = glsc3(vx,bm1,vx,n) >>>>> if (alpha.gt.0) alpha = sqrt(alpha/volvm1) >>>>> etc. >>>>> In summary, for linear algebra, use vmult(). For physics, use >>>>> bm1() >>>>> (B, on Mesh 1). >>>>> Please let me know if this help to resolve your problem. >>>>> Best regards, >>>>> Paul >>>>> On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >>>>>> Hi Neks, >>>>>> I am using Nek5000 coupled to an Arnoldi algorithm for >>>>>> hydrodynamic stability computations. In these, I form a vector >>>>>> of the velocities, which I regularly pass to the Arnoldi >>>>>> solver. Then, a new velocity vector is formed which is passed >>>>>> back to Nek5000. >>>>>> Now, the code works as it is, but in addition to the physical >>>>>> modes it produces some spurious modes, which I think originate >>>>>> from the fact that the velocities at the element-common >>>>>> boundaries are accounted for twice. To fix this, I need to >>>>>> access the element connectivity information. Can you please >>>>>> guide me to in which variable this is stored? >>>>>> In particular, this is what I would like to do: >>>>>> - add the element-common points to the local vector only for >>>>>> one of two adjacent elements (and for a corner point, only one >>>>>> of the four elements adjacent to it). >>>>>> - for the vector that Arnoldi returns, make sure that the new >>>>>> values of the velocity are inserted also for the other adjacent >>>>>> element(s). >>>>>> Thanks a lot in advance! >>>>>> Outi >>>>>> _______________________________________________ >>>>>> 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 >>> _______________________________________________ >>> 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 From nek5000-users at lists.mcs.anl.gov Thu Mar 15 09:34:01 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Thu, 15 Mar 2012 14:34:01 +0000 Subject: [Nek5000-users] Element connectivity information In-Reply-To: References: <02B4AE64-C950-4BF4-B6AA-0B81F9D97C88@mech.kth.se> <2C3E2E23-E262-4047-97DD-E9012459895A@mech.kth.se> Message-ID: Dear Paul, I answer this one as well, despite that you think removing the element boundaries might be unnecessary. Only velocities (ndim components) are included. I use PnPn-2. Currently, I don't remove the outer boundary points, but I have thought about removing those as well, and that I know how to do. Best regards, Outi 15 Mar 2012 kl. 12:16 skrev nek5000-users at lists.mcs.anl.gov: > > Dear Outi, > > Thank you for the update. Just so I understand better, what are > the degrees of freedom for your eigenvalue problem? Are there > ndim velocity components, plus pressure, plus temperature? > > Regarding pressure, are you using PnPn or PnPn-2 ? > > What about boundary conditions? If you are eliminating redundant > velocity variables then you presumably also need to eliminate inactive > boundary values. > > Once I have a handle on what you need I'll see if we can come up with > a strategy. > > Best regards, > > Paul > > On Thu, 15 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > >> Dear Paul, >> >> I am using the parallel version of ARPACK. It is currently only >> called inside userchk. When the Arnoldi operations finish, the >> Nek5000 velocity vector is updated, and I force Nek5000 to start >> with the new vector as an initial condition. >> (I am aware of that this is not an elegant implementation, but we >> thought other options would imply modifying the source). >> >> I have verified the code against the local Orr-Sommerfeld spectrum >> in a channel flow (using periodic BC in the streamwise direction), >> and the wake behind a cylinder. >> It seems like the spectrum is reproduced correctly, except from a >> few spurious eigenvalues, that are always located "exactly" at zero >> (real and imaginary part). Those do not appear for all cases I have >> studied, but for many cases. So far, I have ignored the spurious >> eigenvalues, though they make the convergence slower. >> >> Best regards, >> Outi >> >> 14 Mar 2012 kl. 22:23 skrev nek5000-users at lists.mcs.anl.gov: >> >>> Dear Outi, >>> Can you tell me a bit more about the Arnoldi solver? (I know >>> about the method. Here, I mean the specific source code that >>> you are using, what the interface to the code is, etc.) >>> Best regards, >>> Paul >>> On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >>>> Hi Paul, >>>> Thank you for a quick response. >>>> My current understanding is that the error occurs since Arnoldi >>>> treats the velocities in the duplicated points as separate >>>> degrees of freedom (which they are not in Nek5000, since they >>>> come out always equal). >>>> So, therefore I am not so sure that a weighting operation would >>>> remove the problem. >>>> Anyway, I will test what you suggest in a few cases and tell you >>>> how it comes out. >>>> But if it turns out that counting the points once is the only >>>> option (asymmetrically, as you point out), is it possible to do >>>> this? >>>> (Another option is always that I make changes inside the Arnoldi >>>> algorithm, but this might be a bit more elaborate.) >>>> Thanks a lot, >>>> Outi >>>> 14 Mar 2012 kl. 13:40 skrev nek5000-users at lists.mcs.anl.gov: >>>>> Hi Outi, >>>>> We encounter this problem all the time in conjugate gradient >>>>> and gmres iteration. >>>>> For reasons of symmetry (and, hence, commutativity and >>>>> associativity, >>>>> which are two essential ingredients for parallel execution), I >>>>> would >>>>> suggest that you not try to store the data only once, but rather >>>>> scale by the inverse counting-matrix (aka, multiplicity), so >>>>> that interface points are not counted twice when computing your >>>>> inner >>>>> products. >>>>> The inverse counting-matrix is stored in vmult() and tmult(). A >>>>> typical application is: >>>>> >>>>> alpha = glsc3(vx,vmult,vx,n) (n=nx1*ny1*nz1*nelv) >>>>> which gives the l2 inner product: alpha := sum_i (vx_i)^2 for a >>>>> vector VX. >>>>> Note that if you instead want the L2 inner product >>>>> >>>>> alpha = \int_Omega (vx)^2 dV >>>>> you would compute this as: >>>>> >>>>> alpha = glsc3(vx,bm1,vx,n) >>>>> >>>>> = vx^T B vx >>>>> which is the inner product of vx with the (diagonal) mass matrix >>>>> B. >>>>> If you want the average of the physical rms (say), it would be: >>>>> >>>>> alpha = glsc3(vx,bm1,vx,n) >>>>> if (alpha.gt.0) alpha = sqrt(alpha/volvm1) >>>>> etc. >>>>> In summary, for linear algebra, use vmult(). For physics, use >>>>> bm1() >>>>> (B, on Mesh 1). >>>>> Please let me know if this help to resolve your problem. >>>>> Best regards, >>>>> Paul >>>>> On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >>>>>> Hi Neks, >>>>>> I am using Nek5000 coupled to an Arnoldi algorithm for >>>>>> hydrodynamic stability computations. In these, I form a vector >>>>>> of the velocities, which I regularly pass to the Arnoldi >>>>>> solver. Then, a new velocity vector is formed which is passed >>>>>> back to Nek5000. >>>>>> Now, the code works as it is, but in addition to the physical >>>>>> modes it produces some spurious modes, which I think originate >>>>>> from the fact that the velocities at the element-common >>>>>> boundaries are accounted for twice. To fix this, I need to >>>>>> access the element connectivity information. Can you please >>>>>> guide me to in which variable this is stored? >>>>>> In particular, this is what I would like to do: >>>>>> - add the element-common points to the local vector only for >>>>>> one of two adjacent elements (and for a corner point, only one >>>>>> of the four elements adjacent to it). >>>>>> - for the vector that Arnoldi returns, make sure that the new >>>>>> values of the velocity are inserted also for the other adjacent >>>>>> element(s). >>>>>> Thanks a lot in advance! >>>>>> Outi >>>>>> _______________________________________________ >>>>>> 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 >>> _______________________________________________ >>> 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 From nek5000-users at lists.mcs.anl.gov Thu Mar 15 10:53:05 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Thu, 15 Mar 2012 10:53:05 -0500 (CDT) Subject: [Nek5000-users] Element connectivity information In-Reply-To: <837032B1-2A56-4901-B2BF-E925F0E4B7CD@mech.kth.se> References: <02B4AE64-C950-4BF4-B6AA-0B81F9D97C88@mech.kth.se> <2C3E2E23-E262-4047-97DD-E9012459895A@mech.kth.se> <837032B1-2A56-4901-B2BF-E925F0E4B7CD@mech.kth.se> Message-ID: Dear Outi, My suspicion is that there is an issue with the way Arnoldi is viewing the matrix-vector product. A velocity vector that is discontinuous is inadmissable. In the example below, that would correspond to failing to multiply by P, which would mean that you would be working with a matrix that is different from A'. A proper matvec in Nek is of the form: call axhelm(v,u,...) call dssum (v...) call col2 (v,mask,...) The dssum() ensures that v is in H1. The mask ensures that it is in H^1_0. Note that u should also be in H^1_0 if it is to be a legitimate element of the Krylov subspace in which the Arnoldi scheme is operating. (Obviously, a matvec for your case is more complex... but I just wanted to show the essential ingredients for the simple case of the Helmholtz operator.) Best regards, Paul On Thu, 15 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Dear Paul, > > Thank you for the input. I will think about your answers and return to you. > > I should mention that it is true that the zero eigenvalues have eigenvectors > that are discontinuous at the element boundaries. > My idea was that velocity vectors that are slightly discontinuous across the > element boundaries might be returned by Arnoldi, if not else, due to finite > precision arithmetics. (And since Arnoldi is looking for the unstable or > least stable eigenvalues, zero eigenvalues would often be returned among the > first ones.) > > But I understand that your experience tells you the problem is somewhere > else. > > Outi > > 15 Mar 2012 kl. 13:44 skrev nek5000-users at lists.mcs.anl.gov: > >> >> Dear Outi, >> >> Just a follow-up on my earlier comments about Arnoldi. >> >> With iterative methods in general, there is absolutely no >> need to condense the redundant nodes because the solver >> has no concept of the dimension of the system ("n" is not >> an explicit part of the algorithm). The solver only knows about the rank >> that it discovers during the orthogonalization >> process. So, as long as every input vector in the SEM case is continuous, >> arpack will not distinguish whether you have the >> redundant storage or not---it has no means for making this >> discovery. >> >> Hence, if you are seeing spurious modes, they are a result >> of breaking the condition that the vectors are continuous >> or of some other mode that is not being controlled. >> A common source for such breakage is failure to dssum in >> the appropriate place, particularly in a preconditioning >> step, or somehow failing to propagate needed information. >> My suspicion is that there is something else going on >> that we should pay attention to. >> >> Just to make this concrete, arpack will discover the eigenvalues of the >> following to matrices (of rank 2) >> in exactly the same iteration count: >> >> >> A(2x2) >> >> and >> >> A' := PAP^T >> >> >> where >> >> / 1 0 \ >> P = | 0 1 | >> \ 0 1 / >> >> note that the latter case makes vectors v' = P v have >> redundant 2nd and 3rd entries. >> >> This being said, you have to pay attention to any preconditioning steps >> (particularly any involving direct methods, where knowing "n" is >> important), to >> ensure that each vector in the iteration step is in the >> column space of P. >> >> (In nek, the equivalent of "P" is the matrix that does >> the global to local map.... and in fact, there is never a matrix "A" of the >> type described above.) >> >> Note that it might appear that A' has a spurious >> eigenmode, which is true, but it is in fact not >> allowed because that eigenmode is not in the range >> of P (i.e., would correspond to a discontinuous >> velocity field, which would never be generated in >> a proper setup). Also note that there might be an >> issue if you told Arpack that the rank of your matrix >> is 3 instead of 2 (e.g., it would look for 3 eigenvalues). >> However, since you are only looking for m << n eigenvalues, >> there is no reason to suspect that this is an issue. >> >> I hope this helps. >> >> Cheers, >> >> Paul >> >> On Thu, 15 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >> >>> Dear Paul, >>> >>> I am using the parallel version of ARPACK. It is currently only called >>> inside userchk. When the Arnoldi operations finish, the Nek5000 velocity >>> vector is updated, and I force Nek5000 to start with the new vector as an >>> initial condition. >>> (I am aware of that this is not an elegant implementation, but we thought >>> other options would imply modifying the source). >>> >>> I have verified the code against the local Orr-Sommerfeld spectrum in a >>> channel flow (using periodic BC in the streamwise direction), and the wake >>> behind a cylinder. >>> It seems like the spectrum is reproduced correctly, except from a few >>> spurious eigenvalues, that are always located "exactly" at zero (real and >>> imaginary part). Those do not appear for all cases I have studied, but for >>> many cases. So far, I have ignored the spurious eigenvalues, though they >>> make the convergence slower. >>> >>> Best regards, >>> Outi >>> >>> 14 Mar 2012 kl. 22:23 skrev nek5000-users at lists.mcs.anl.gov: >>> >>>> Dear Outi, >>>> Can you tell me a bit more about the Arnoldi solver? (I know >>>> about the method. Here, I mean the specific source code that >>>> you are using, what the interface to the code is, etc.) >>>> Best regards, >>>> Paul >>>> On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >>>>> Hi Paul, >>>>> Thank you for a quick response. >>>>> My current understanding is that the error occurs since Arnoldi treats >>>>> the velocities in the duplicated points as separate degrees of freedom >>>>> (which they are not in Nek5000, since they come out always equal). >>>>> So, therefore I am not so sure that a weighting operation would remove >>>>> the problem. >>>>> Anyway, I will test what you suggest in a few cases and tell you how it >>>>> comes out. >>>>> But if it turns out that counting the points once is the only option >>>>> (asymmetrically, as you point out), is it possible to do this? >>>>> (Another option is always that I make changes inside the Arnoldi >>>>> algorithm, but this might be a bit more elaborate.) >>>>> Thanks a lot, >>>>> Outi >>>>> 14 Mar 2012 kl. 13:40 skrev nek5000-users at lists.mcs.anl.gov: >>>>>> Hi Outi, >>>>>> We encounter this problem all the time in conjugate gradient >>>>>> and gmres iteration. >>>>>> For reasons of symmetry (and, hence, commutativity and associativity, >>>>>> which are two essential ingredients for parallel execution), I would >>>>>> suggest that you not try to store the data only once, but rather >>>>>> scale by the inverse counting-matrix (aka, multiplicity), so that >>>>>> interface points are not counted twice when computing your inner >>>>>> products. >>>>>> The inverse counting-matrix is stored in vmult() and tmult(). A >>>>>> typical application is: >>>>>> >>>>>> alpha = glsc3(vx,vmult,vx,n) (n=nx1*ny1*nz1*nelv) >>>>>> which gives the l2 inner product: alpha := sum_i (vx_i)^2 for a vector >>>>>> VX. >>>>>> Note that if you instead want the L2 inner product >>>>>> >>>>>> alpha = \int_Omega (vx)^2 dV >>>>>> you would compute this as: >>>>>> >>>>>> alpha = glsc3(vx,bm1,vx,n) >>>>>> >>>>>> = vx^T B vx >>>>>> which is the inner product of vx with the (diagonal) mass matrix B. >>>>>> If you want the average of the physical rms (say), it would be: >>>>>> >>>>>> alpha = glsc3(vx,bm1,vx,n) >>>>>> if (alpha.gt.0) alpha = sqrt(alpha/volvm1) >>>>>> etc. >>>>>> In summary, for linear algebra, use vmult(). For physics, use bm1() >>>>>> (B, on Mesh 1). >>>>>> Please let me know if this help to resolve your problem. >>>>>> Best regards, >>>>>> Paul >>>>>> On Wed, 14 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: >>>>>>> Hi Neks, >>>>>>> I am using Nek5000 coupled to an Arnoldi algorithm for hydrodynamic >>>>>>> stability computations. In these, I form a vector of the velocities, >>>>>>> which I regularly pass to the Arnoldi solver. Then, a new velocity >>>>>>> vector is formed which is passed back to Nek5000. >>>>>>> Now, the code works as it is, but in addition to the physical modes it >>>>>>> produces some spurious modes, which I think originate from the fact >>>>>>> that the velocities at the element-common boundaries are accounted for >>>>>>> twice. To fix this, I need to access the element connectivity >>>>>>> information. Can you please guide me to in which variable this is >>>>>>> stored? >>>>>>> In particular, this is what I would like to do: >>>>>>> - add the element-common points to the local vector only for one of >>>>>>> two adjacent elements (and for a corner point, only one of the four >>>>>>> elements adjacent to it). >>>>>>> - for the vector that Arnoldi returns, make sure that the new values >>>>>>> of the velocity are inserted also for the other adjacent element(s). >>>>>>> Thanks a lot in advance! >>>>>>> Outi >>>>>>> _______________________________________________ >>>>>>> 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 >>>> _______________________________________________ >>>> 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 > > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users From nek5000-users at lists.mcs.anl.gov Tue Mar 20 22:45:50 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Tue, 20 Mar 2012 22:45:50 -0500 (CDT) Subject: [Nek5000-users] =?utf-8?q?changing_the_number_of_cores_in_conjunc?= =?utf-8?q?tion_with=09new_restart?= In-Reply-To: <4F54D982.5030403@mech.kth.se> References: <4F54D982.5030403@mech.kth.se> Message-ID: Dear Johan et al., Hopefully the velocity for full restart will now come out correctly even when you change the number of processors for the restart. There was a bug in ic.f. Thanks for bringing this to my attention and apologies for the trouble. Paul On Mon, 5 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Dear nek5000 developers, > > I just wanted to share an observation that I've done. I've seen that the > velocity field is a bit reshuffled when I use the new accurate restart > feature in nek5000 and restart with a different number of cores compared > to the number used when the rs8blah0.f* were written out. Has anyone > noticed this? Could there be a bug somewhere in the related routines? If > not, then maybe we use the routines in the wrong way. We've used a few > versions > 75? of the code. > > Best regards, > > Johan Malm > > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users > From nek5000-users at lists.mcs.anl.gov Thu Mar 22 05:10:10 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Thu, 22 Mar 2012 11:10:10 +0100 Subject: [Nek5000-users] Lagrangian Particle Tracking In-Reply-To: References: Message-ID: <4F6AFA82.6070308@esstin.uhp-nancy.fr> -- Anne Tani?re MDC-HDR Nouvel email: anne.taniere at univ-lorraine.fr Responsable des stages 5A, MFE ESSTIN tel : 03.83.68.50.83 From nek5000-users at lists.mcs.anl.gov Wed Mar 28 05:27:25 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Wed, 28 Mar 2012 12:27:25 +0200 Subject: [Nek5000-users] rotating disk with periodic boundaries Message-ID: <4F72E78D.5000802@mech.kth.se> Dear nek users, I am doing simulations over a rotating disk with nekton and would like to decrease my domain in order to save computational time. The mesh is currently very similar to that of a pipe, with inflow in one end (max(z)) and a rotating wall in the other end (z=0). Around the curved edges I use the outflow boundary condition. The way I would like to decrease the domain in is by using periodic boundary conditions in the rotational direction, that is cutting the pipe in the z-direction to only use a third or a quarter of the pipe. My problem is that when I try to do this, I have to make one element periodic with itself, this is since I would like to have few elements in the middle of the domain and thus not want to use the cylindrical coordinates. In some setups, I recieve an error when using genmap (when trying different mesh tolerance numbers), and in some setups I get a communication error when running the code; genmap error: 4 z1 0.0000E+00 1.5224E-01 1.5224E-01 0.0000E+00 2 3 3 1.00000005E-03 1.00000000E+00 abort: FACE MATCH FAIL 7 4 5 1.00000005E-03 2.54558474E-01 abort: FACE MATCH FAIL communication error: veryfy mesh topology ... ... ... WARNING1 Element mesh mismatch at: i,j,k,ie: 1 1 1 1 Near X = 0.59397000 0.59397000 0.00000000 , d: 0.0000000 -0.11313799 1.4142136 ... ... The type of error seem to depend on how the elements are numbered in the domain. I've understood that for using the periodic boundary conditions, one need at least three elements. Is there a way around this when it comes to my setup? Or would there be an easy fix for this problem? Best regards, Ellinor -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: mesh.dra URL: From nek5000-users at lists.mcs.anl.gov Wed Mar 28 07:44:25 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Wed, 28 Mar 2012 14:44:25 +0200 Subject: [Nek5000-users] How to use an external lib with nek5000 Message-ID: <4F7307A9.8090803@onera.fr> Hi neks ! I would like to use the subroutines in the JMFFT lib (Fast Fourrier Transform library) http://www.idris.fr/data/publications/JMFFT/ How can i do this with nek5000?? B.regards Can From nek5000-users at lists.mcs.anl.gov Wed Mar 28 07:50:22 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Wed, 28 Mar 2012 07:50:22 -0500 (CDT) Subject: [Nek5000-users] rotating disk with periodic boundaries In-Reply-To: <4F72E78D.5000802@mech.kth.se> References: <4F72E78D.5000802@mech.kth.se> Message-ID: Dear Ellinor, Yes, there are some topological issues that arise with your configuration. In fact, what you would need is to zero out two velocity components that are orthognal to the axis and leave the 3rd component floating. Let me look into the possibilities and see if we can resolve it -- no guarantees, as it tends to be a difficult problem. I am tied up the next few days but can hopefully look at this within a week. Paul On Wed, 28 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Dear nek users, > I am doing simulations over a rotating disk with nekton and would like to > decrease my domain in order to save computational time. > > The mesh is currently very similar to that of a pipe, with inflow in one > end > (max(z)) and a rotating wall in the other end (z=0). Around the curved > edges I use the outflow boundary condition. > > The way I would like to decrease the domain in is by using periodic > boundary conditions in the rotational direction, that is cutting the > pipe in the > z-direction to only use a third or a quarter of the pipe. > > My problem is that when I try to do this, I have to make one element > periodic > with itself, this is since I would like to have few elements in the > middle of > the domain and thus not want to use the cylindrical coordinates. > > In some setups, I recieve an error when using genmap (when trying > different mesh > tolerance numbers), and in some setups I get a communication error when > running > the code; > > > genmap error: > > 4 z1 0.0000E+00 1.5224E-01 1.5224E-01 0.0000E+00 > 2 3 3 1.00000005E-03 1.00000000E+00 abort: FACE MATCH FAIL > 7 4 5 1.00000005E-03 2.54558474E-01 abort: FACE MATCH FAIL > > > communication error: > > veryfy mesh topology ... > ... > ... > WARNING1 Element mesh mismatch at: > i,j,k,ie: 1 1 1 1 > Near X = 0.59397000 0.59397000 0.00000000 , d: 0.0000000 > -0.11313799 1.4142136 > ... > ... > > > > The type of error seem to depend on how the elements are numbered in the > domain. > > I've understood that for using the periodic boundary conditions, one > need at > least three elements. Is there a way around this when it comes to my setup? > Or would there be an easy fix for this problem? > > > Best regards, > Ellinor > From nek5000-users at lists.mcs.anl.gov Wed Mar 28 07:54:17 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Wed, 28 Mar 2012 07:54:17 -0500 (CDT) Subject: [Nek5000-users] How to use an external lib with nek5000 In-Reply-To: <4F7307A9.8090803@onera.fr> References: <4F7307A9.8090803@onera.fr> Message-ID: Can, If I need to modify the makefile, I usually run makenek once to have it generate the appropriate makefile, then edit it (say, to add the library links). Make certain you make a copy of your edited makefile or it will be overwritten by a future "makenek" execution. This is one way... but there are probably some better ones. If you just want to add routines from the library you can include them directly into your .usr file and call them from there. Hope this helps. Paul On Wed, 28 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hi neks ! > > I would like to use the subroutines in the JMFFT lib (Fast Fourrier Transform > library) > > http://www.idris.fr/data/publications/JMFFT/ > > How can i do this with nek5000?? > > B.regards > Can > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users > From nek5000-users at lists.mcs.anl.gov Wed Mar 28 08:25:08 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Wed, 28 Mar 2012 08:25:08 -0500 (CDT) Subject: [Nek5000-users] How to use an external lib with nek5000 In-Reply-To: Message-ID: <474369245.73075.1332941108261.JavaMail.root@zimbra-mb2.anl.gov> Hi Can, Another way to link Nek5000 with other libraries, is through makenek directly by specifying appropriate USR_LFLAGS Best. Aleks ----- Original Message ----- From: nek5000-users at lists.mcs.anl.gov To: nek5000-users at lists.mcs.anl.gov Sent: Wednesday, March 28, 2012 7:54:17 AM Subject: Re: [Nek5000-users] How to use an external lib with nek5000 Can, If I need to modify the makefile, I usually run makenek once to have it generate the appropriate makefile, then edit it (say, to add the library links). Make certain you make a copy of your edited makefile or it will be overwritten by a future "makenek" execution. This is one way... but there are probably some better ones. If you just want to add routines from the library you can include them directly into your .usr file and call them from there. Hope this helps. Paul On Wed, 28 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hi neks ! > > I would like to use the subroutines in the JMFFT lib (Fast Fourrier Transform > library) > > http://www.idris.fr/data/publications/JMFFT/ > > How can i do this with nek5000?? > > B.regards > Can > _______________________________________________ > 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 From nek5000-users at lists.mcs.anl.gov Wed Mar 28 08:28:32 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Wed, 28 Mar 2012 15:28:32 +0200 Subject: [Nek5000-users] How to use an external lib with nek5000 In-Reply-To: <474369245.73075.1332941108261.JavaMail.root@zimbra-mb2.anl.gov> References: <474369245.73075.1332941108261.JavaMail.root@zimbra-mb2.anl.gov> Message-ID: <4F731200.10903@onera.fr> nek5000-users at lists.mcs.anl.gov a ?crit : > Hi Can, > > Another way to link Nek5000 with other libraries, is through makenek directly by specifying appropriate USR_LFLAGS > > Best. > Aleks > > > ----- Original Message ----- > From: nek5000-users at lists.mcs.anl.gov > To: nek5000-users at lists.mcs.anl.gov > Sent: Wednesday, March 28, 2012 7:54:17 AM > Subject: Re: [Nek5000-users] How to use an external lib with nek5000 > > > Can, > > If I need to modify the makefile, I usually run makenek once > to have it generate the appropriate makefile, then edit it > (say, to add the library links). > > Make certain you make a copy of your edited makefile or it > will be overwritten by a future "makenek" execution. > > This is one way... but there are probably some better ones. > > If you just want to add routines from the library you can > include them directly into your .usr file and call them from > there. > > Hope this helps. > > Paul > > On Wed, 28 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > > >> Hi neks ! >> >> I would like to use the subroutines in the JMFFT lib (Fast Fourrier Transform >> library) >> >> http://www.idris.fr/data/publications/JMFFT/ >> >> How can i do this with nek5000?? >> >> B.regards >> Can >> _______________________________________________ >> 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 > Hi again i could resovle the problem thx to you thank you Can From nek5000-users at lists.mcs.anl.gov Thu Mar 29 07:25:04 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Thu, 29 Mar 2012 14:25:04 +0200 Subject: [Nek5000-users] "convert" a given u_x(i, j, k) in an uniform grid to a vx(i, j, k, e) in a GLL grid ?? Message-ID: <4F7454A0.6050507@onera.fr> Hi neks, I am trying to set a random turbulent velocity field as an initial condition for my simulation. The domaine is a cube 2pi * 2pi * 2pi and nelx = nely=nelz=32 (lx1=12) And i was wondering if they are some routines for "project" a given value of u_x(i,j,k) (x component of the velocity field in a regular grid) to vx(i,j,k,e) (x component of the velocity field on GLL grid) ?? In one of the emails you said "given i,j,k,e,p, one can find the associated (x,y,z) point. The inverse problem of finding i,j,k,e,p for a given (x,y,z) value is much more difficult (and expensive), but we have routines to handle this.)" Can you tell me more about this ?? B.regards Can From nek5000-users at lists.mcs.anl.gov Thu Mar 29 10:52:26 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Thu, 29 Mar 2012 10:52:26 -0500 (CDT) Subject: [Nek5000-users] "convert" a given u_x(i, j, k) in an uniform grid to a vx(i, j, k, e) in a GLL grid ?? In-Reply-To: <4F7454A0.6050507@onera.fr> Message-ID: <2068726091.79424.1333036346808.JavaMail.root@zimbra-mb2.anl.gov> Hi Can, Sorry if I am missing something but what do you mean by projection of random field on uniform mesh to GLL grid? Interpolation won't work since it relies on at least some smoothness of the field. Do you want to do it in wavenumber space instead? Thanks. Aleks ----- Original Message ----- From: nek5000-users at lists.mcs.anl.gov To: nek5000-users at lists.mcs.anl.gov Sent: Thursday, March 29, 2012 7:25:04 AM Subject: [Nek5000-users] "convert" a given u_x(i, j, k) in an uniform grid to a vx(i, j, k, e) in a GLL grid ?? Hi neks, I am trying to set a random turbulent velocity field as an initial condition for my simulation. The domaine is a cube 2pi * 2pi * 2pi and nelx = nely=nelz=32 (lx1=12) And i was wondering if they are some routines for "project" a given value of u_x(i,j,k) (x component of the velocity field in a regular grid) to vx(i,j,k,e) (x component of the velocity field on GLL grid) ?? In one of the emails you said "given i,j,k,e,p, one can find the associated (x,y,z) point. The inverse problem of finding i,j,k,e,p for a given (x,y,z) value is much more difficult (and expensive), but we have routines to handle this.)" Can you tell me more about this ?? B.regards Can _______________________________________________ Nek5000-users mailing list Nek5000-users at lists.mcs.anl.gov https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users From nek5000-users at lists.mcs.anl.gov Fri Mar 30 12:22:33 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 30 Mar 2012 19:22:33 +0200 Subject: [Nek5000-users] "convert" a given u_x(i, j, k) in an uniform grid to a vx(i, j, k, e) in a GLL grid ?? In-Reply-To: <2068726091.79424.1333036346808.JavaMail.root@zimbra-mb2.anl.gov> References: <2068726091.79424.1333036346808.JavaMail.root@zimbra-mb2.anl.gov> Message-ID: <4F75EBD9.5020601@onera.fr> nek5000-users at lists.mcs.anl.gov a ?crit : > Hi Can, > > Sorry if I am missing something but what do you mean by projection of random field on uniform mesh to GLL grid? Interpolation won't work since it relies on at least some smoothness of the field. > > Do you want to do it in wavenumber space instead? > > Thanks. > Aleks > > ----- Original Message ----- > From: nek5000-users at lists.mcs.anl.gov > To: nek5000-users at lists.mcs.anl.gov > Sent: Thursday, March 29, 2012 7:25:04 AM > Subject: [Nek5000-users] "convert" a given u_x(i, j, k) in an uniform grid to a vx(i, j, k, e) in a GLL grid ?? > > Hi neks, > > I am trying to set a random turbulent velocity field as an initial > condition for my simulation. The domaine is a cube 2pi * 2pi * 2pi and > nelx = nely=nelz=32 (lx1=12) > > And i was wondering if they are some routines for "project" a given > value of u_x(i,j,k) (x component of the velocity field in a regular > grid) to vx(i,j,k,e) (x component of the velocity field on GLL grid) ?? > In one of the emails you said "given i,j,k,e,p, one can find the > associated (x,y,z) point. The inverse problem of finding i,j,k,e,p for a > given (x,y,z) value is much more difficult (and expensive), but we have > routines to handle this.)" > Can you tell me more about this ?? > B.regards > Can > > _______________________________________________ > 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 > I generated an isotropic velocity field on the Fourier space that i transformed to the physical spatial space (x,y,z) with some IFFT routine. I did this with an external fortran program in an uniform grid (number of cell per direction n=32) with the velocity field being expressed as u(i,j,k). The velocity field is then known on every nodes of my equi-spaced grid. Having an identical domain (a cube of 2pi*2pi*2pi and nelx=nely=nelz=32), i want to project this velocity field in my nek GLL grid to use it as an initial condition. i wonder if there is an interpolating routine for doing this. Thanks for helping me B.regards Can From nek5000-users at lists.mcs.anl.gov Fri Mar 30 15:56:49 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 30 Mar 2012 16:56:49 -0400 Subject: [Nek5000-users] Time-dependent Boundary Condition Message-ID: <20120330165649.18646a2he89o1rm9@webmail.vt.edu> Hi, I want to simulate a 2D test case with time-dependent velocity boundary condition with the following form: ux = A sin(2*pi*t) I implemented the BC as velocity (v) in rea file and as ux=A*sin(2*pi*time) in userbc subroutine. Looking at the results, it seems that the BC is not enforced correctly and the velocity is zero at the boundary. I wonder if you could help me in this regard. Regards, Alireza From nek5000-users at lists.mcs.anl.gov Fri Mar 30 16:18:11 2012 From: nek5000-users at lists.mcs.anl.gov (nek5000-users at lists.mcs.anl.gov) Date: Fri, 30 Mar 2012 16:18:11 -0500 (CDT) Subject: [Nek5000-users] Time-dependent Boundary Condition In-Reply-To: <20120330165649.18646a2he89o1rm9@webmail.vt.edu> References: <20120330165649.18646a2he89o1rm9@webmail.vt.edu> Message-ID: Hi Alireza, I would normally put something like: write(6,*) a,pi,time,ux stop after the assign statement, run it, and see what happens. Please let me know if that clarifies at all. Also, how did you implement the bc? Was it in genbox? Did you specify: 'v ' (v, followed by two spaces) ? Best regards, Paul On Fri, 30 Mar 2012, nek5000-users at lists.mcs.anl.gov wrote: > Hi, > > I want to simulate a 2D test case with time-dependent velocity boundary > condition with the following form: > ux = A sin(2*pi*t) > > I implemented the BC as velocity (v) in rea file and as > ux=A*sin(2*pi*time) > in userbc subroutine. Looking at the results, it seems that the BC is not > enforced correctly and the velocity is zero at the boundary. I wonder if you > could help me in this regard. > > Regards, > Alireza > > > > _______________________________________________ > Nek5000-users mailing list > Nek5000-users at lists.mcs.anl.gov > https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users