[Nek5000-users] stokes flow with time-dependent boundary

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Sat Mar 3 16:37:26 CST 2012


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
>



More information about the Nek5000-users mailing list