[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