[Nek5000-users] linear stability tool

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Wed Mar 16 04:02:51 CDT 2016


Hi

I didn't work with time dependent base flow, so I'm not sure if there 
are some serious problem in implementation or not. First of all, the 
base flow is stored in the arrays for non linear solution (vx, vy, vz) 
and the perturbation in (vxp,vyp,vzp) (both in SOLN). Negative value of 
param(31) sets the logical ifbase to .false. excluding call to fluid in 
nek_advance. In this case only fluidp is executed. To get time dependent 
base flow you could set positive param(31) and comment ifbase check in 
arnoldi initialisation routine. This would activate fluid and evolve 
both perturbation and base flow. In this case you would need to resent 
vx,vy,vz to your initial conditions for base flow at the end of every 
arnoldi cycle (where pressure is set to zero). Other solution would be 
keeping ifbase=.false. and recalculating vx, vy,vz at every step within 
arnoldi cycle. That what you wrote in your mail, but this should be 
mostly local operation. I do not see any reason to use gop routines. If 
you have analytical solution for base flow you simply replace vx,vy,vz 
with new values base on the position of the gll point (xm1,ym1,zm1 
arrays in GEOM) and the time within the given cycle. If you are not 100% 
sure the function is continuous at the element faces, edges and 
vertices, you can add averaging step:
!     face averaging
             call opdssum(VX,VY,VZ)
             call opcolv (VX,VY,VZ,VMULT)
vmult is inverse of grid point multiplicity and is stored in SOLN. No 
more global operations is required. However, I'm not sure if this method 
would work, as ifbase shows up in navier5.f as well, and one would need 
to check the code to see what variables are really used. I would guess 
it should work, but I cannot guarantee it. You can try. You have to be 
sure the base flow evolution is exactly the same in each arnoldi cycle, 
to mimic the matrix operation properly.
Regards
Adam

On 2016-03-15 13:18, nek5000-users at lists.mcs.anl.gov wrote:
> Hi Adam,
>
> thank you, it works now.
>
> However I still have a question about this tool. My base flow is time 
> dependent, so I did in usrchk
>
> call opcopy (u,v,w,vx,vy,vz)
> u=u*function(time)
> v=v*function(time)
> w=w*function(time)
>
> call gop(u,work,'+  ',n)
> call gop(v,work,'+  ',n)
> call gop(w,work,'+  ',n)
>
> do e=1,nelv
>    eg = lglel(e)
>    call copy(vx(1,1,1,e),u(1,1,1,eg),nxyz)
>    call copy(vy(1,1,1,e),v(1,1,1,eg),nxyz)
>    call copy(vz(1,1,1,e),w(1,1,1,eg),nxyz)
> enddo
>
> However, I am not sure how to specify this velocity filed as the base 
> flow each time step...
>
> Thank you in advance.
> SL
>
> El 15-03-2016 19:06, nek5000-users at lists.mcs.anl.gov escribió:
>> Hi
>>
>> To force base flow to be constant you have to set negative param(31)
>> in your ###.rea file. Something like
>>    -1.00000     p031 NPERT: #perturbation modes
>> Of course you need the base flow as well. It could be analytical one
>> set in useric, or just a field read during initialisation.
>> Regards
>> Adam
>>
>>
>> On 2016-03-15 08:49, nek5000-users at lists.mcs.anl.gov wrote:
>>> Hi Neks,
>>>
>>> I'm trying to use the linear stability tool of Nek5000.
>>>
>>> To start with, I am trying to run the ext_cyl example. However, I 
>>> have found the following problem:
>>>
>>> ERROR: arnoldi assumes constant base flow.
>>>
>>> I have found on the README tutorial that the base flow has to be 
>>> specified on the .rea file. I have included a file in the 
>>> PRESOLVE/RESTART option, however I still have the same error.
>>>
>>> What should I modify?
>>>
>>> Finally, I have also used a subroutine defined in the .usr file that 
>>> reads the file containing the base flow. However, the error persist...
>>>
>>> Could you help me, please?
>>>
>>> Cheers
>>> SL
>>> _______________________________________________
>>> Nek5000-users mailing list
>>> Nek5000-users at lists.mcs.anl.gov
>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>
>> _______________________________________________
>> Nek5000-users mailing list
>> Nek5000-users at lists.mcs.anl.gov
>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>
>
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users



More information about the Nek5000-users mailing list