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

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Thu Mar 1 14:46:43 CST 2012


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
>



More information about the Nek5000-users mailing list