stokes flow with time-dependent boundary
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
Hi Lailai, I have used the approach you proposed for solving multiple steady stokes problems... you use an artificially large timestep. That works. 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, [email protected] 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 [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
On 12/19/2011 06:17 PM, [email protected] 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, [email protected] 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 [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
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, [email protected] wrote:
On 12/19/2011 06:17 PM, [email protected] 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, [email protected] 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 [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
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, [email protected] 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, [email protected] wrote:
On 12/19/2011 06:17 PM, [email protected] 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, [email protected] 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 [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
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, [email protected] 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, [email protected] 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, [email protected] wrote:
On 12/19/2011 06:17 PM, [email protected] 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, [email protected] 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 [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
On 12/21/2011 10:17 PM, [email protected] 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.)
yes, this is what i did before, solving the Kovasznay problem in the tutorial using steady Stokes. The way i used is simply setting DENSITY to be zero in the .rea file, is this the right way to solve the steady Stokes problem? it seems work out for me, as the numerical results agreed very well with the analytical ones. lailai
Paul
On Wed, 21 Dec 2011, [email protected] 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, [email protected] 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, [email protected] wrote:
On 12/19/2011 06:17 PM, [email protected] 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, [email protected] 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 [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] wrote:
On 12/19/2011 06:17 PM, [email protected] 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, [email protected] 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 [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] wrote:
On 12/19/2011 06:17 PM, [email protected] 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, [email protected] 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 [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] wrote:
On 12/19/2011 06:17 PM, [email protected] 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, [email protected] 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 [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] wrote:
On 12/19/2011 06:17 PM, [email protected] 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, [email protected] 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 [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] wrote:
On 12/19/2011 06:17 PM, [email protected] 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, [email protected] 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 [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] 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, [email protected] wrote:
On 12/19/2011 06:17 PM, [email protected] 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, [email protected] 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 [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
_______________________________________________ Nek5000-users mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
participants (1)
-
nek5000-users@lists.mcs.anl.gov