|
[Sponsors] |
November 17, 2018, 15:59 |
Simple vs Piso
|
#1 |
New Member
Andreia
Join Date: Jun 2018
Posts: 13
Rep Power: 8 |
Hi,
I'm new at ansys fluent and i'm doing a 2d transient simulation of a valveless pulsejet. I'm using SIMPLE and i'm getting results, is occurring combustion, exhaustion and intake of fresh air. But more recently a read that for turbulent transient flows PISO gives more accurate results. So i tried to run PISO since i'm getting very high residuals but the engine doesnt run. Combustion occurs but there is no pulsating cycle and the solution is very different. Why is this happening? should not they give similar results? |
|
November 18, 2018, 02:35 |
|
#2 |
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,763
Rep Power: 66 |
Your time-step is probably too large, check your courant number. And you probably don't run enough iterations per time-step. Check to make sure your solution converges every time step.
|
|
November 19, 2018, 12:24 |
|
#3 |
New Member
Andreia
Join Date: Jun 2018
Posts: 13
Rep Power: 8 |
Thank you for your reply.
I already tried to decrease time step and increase iteration/time step, i'm using for time step 1e-5s and 100 iteration/time step and the solution remains quite different and residuals are very high as with SIMPLE. In comparation with the literature SIMPLE results are better, but it shouldn't right? For my case PISO should be more accurate? |
|
November 19, 2018, 12:35 |
|
#4 |
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,763
Rep Power: 66 |
Blindly running different settings you always get something different with no clue why. You still need to check the courant number and solution convergence, even if you run 1000 iterations / time-step. If you never converge and move on to the next time-step, then you simply accumulate errors without ever improving anything.
SIMPLE & PISO are almost identically the same algorithm with one/two tiny differences that changes dramatically their behavior when you are running large time-steps vs small time-steps. With both, if you run too large time-steps you can actually never converge. Forget which one is better / more accurate, you need to do some basic sanity checks first. |
|
November 19, 2018, 15:09 |
|
#5 |
New Member
Andreia
Join Date: Jun 2018
Posts: 13
Rep Power: 8 |
At some point my solution converge, using SIMPLE or Piso but the residuals are in both very high.
How can i check my courant number? The smallest cell is 0,001m and my time step is 0,00001s. |
|
November 23, 2018, 12:18 |
|
#6 |
Senior Member
Join Date: Dec 2016
Posts: 152
Rep Power: 11 |
Alright, I think you might be confusing a few terms here.
For an in-depth discussion on what the Courant number is, check out this article (https://www.simscale.com/blog/2017/08/cfl-condition/). Read the whole thing at least twice, and make sure you understand where each term is coming from and how you can implement it. However, I think your time step is small enough that it might satisfy this regardless of what your velocity is (I'll come back to this later). So, now what do you mean by "convergence"? If you residuals are high, then how do you know your solution is "converged"? Read through this discussion on determining convergence (Convergence) and understand that a good solution depends not only on your residuals falling below a specified value, but also on certain quantities of interest "leveling-out" throughout the solution. A perfect example of this would be this article (https://www.engineering.com/DesignSo...nvergence.aspx), it shows you how your solution could change just by allowing the residuals to converge below a smaller value. Be warned, however, sometime your solution will not fall below these smaller values due to A) your initialization process was pretty good to begin with, B) your mesh isn't the best in the world, C) FLUENT hates you. This is why you must monitor convergence with several values, not just the residuals. Your time step seems really small. It could just be that I don't know the particulars of your setup, but I've only worked with time steps of around 0.5 ms, not 1E-5 s. Sometimes, using such a small value will cause minor errors to creep up, so just watch out for that. Remember, the goal is to use a large enough time step that you don't waste computational resources calculating something super precise, while still maintaining an accurate solution. Finally, I have to agree with LuckyTran on this one. If you are new, you should really try to avoid messing with the default settings until you know your problem, setup, and solutions are correct. Each setting you change has an entire book of background info contained within the manual that you should read through and understand how it will affect your sim. A "converged" solution does not mean a right one, nor does a complicated one. This isn't meant to scare you, only make you appreciate the amount of work required in CFD. Good luck! |
|
November 23, 2018, 18:08 |
|
#7 |
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,763
Rep Power: 66 |
The first step is to make sure it converges, even if it's inaccurate. How do you check that your solution is converged at each and every time-step???????
There is a Courant number field variable in Fluent, which gives the convective courant number. You didn't mention anything about acoustics so I assume the convective courant number is suitable for you. The courant number variable might be missing in some situations because you use a weird equation of state. I run sub microsecond time-steps for my simulations to get courant number of around 2. I have no clue whether a timestep of 1e-05 is too large or too small for your problem, checking the courant number will instantly tell you where you are. If you are using PISO, you should only be using a few iterations per time-step (1/2/3 and definitely not 100) because the urf's for PISO are pretty much 1 for everything; which is also exactly the reason PISO is unstable for large time-steps. If you run more than a few iterations per time-step, SIMPLE is usually a more optimal choice (with default urf's of 0.3 and 0.7 for pressure and velocity). Energy coupling makes this a little more complicated. Regardless, 100 iterations per time-step is a lot and you shouldn't need this many to converge at a given time-step. Needing that many means your time-steps are too large. It's more optimal to run fewer iterations with smaller time-steps. |
|
November 27, 2018, 10:21 |
|
#8 |
New Member
Andreia
Join Date: Jun 2018
Posts: 13
Rep Power: 8 |
Thank you both for your replies.
When a said that in some point the solution converge is because the ansys gives a message saying "solution has converged" besides the residuals i'm also monitoring some other values that are important and after some iteration the values start so be similars. My residuals oscillate between 1e+0 and 1e-4. I also check my courant number and it is very high, it is between 4 and 10. |
|
November 27, 2018, 10:56 |
|
#9 |
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,763
Rep Power: 66 |
When Fluent/Ansys says that the solution is converged, it's not some all-knowing message from Heaven. It means it has satisfied the convergence criteria that you specified (even if you leave it as defaults, that's still your fault). The default convergence criteria are utter garbage.
You need to monitor the solution variable. Create monitors! And look at them! You're also doing an unsteady simulation, every timestep needs to be converged. For a transient simulation, residuals of 1e-04 are quite high. A Courant number of 4-10 is not ridiculously high, so your time-steps size is on the right order of magnitude. But that explains why you need a ton of iterations per time-step. |
|
November 27, 2018, 17:37 |
|
#10 |
New Member
Andreia
Join Date: Jun 2018
Posts: 13
Rep Power: 8 |
So how can i low the residuals? What i read is lower the time step, increase the iteration/time-step, decrease the URFs or change the mesh, but i've tried and they still high.
I'm monitoring other variables like the velocity, temperature and pressure every time-setp. |
|
November 27, 2018, 21:00 |
|
#11 |
Senior Member
Join Date: Dec 2016
Posts: 152
Rep Power: 11 |
Okay, I think this post has derailed from its initial intention.
Let me start by saying that, as a new user, ANSYS is not necessarily the nicest thing in the world to work with. Furthermore, CFD as a discipline has a huge learning curve. You literally need to spend weeks-worth of reading the manuals and background material to even begin to understand it. A good place to start would be here (https://confluence.cornell.edu/displ...arning+Modules). That being said, the questions you're asking right now, to put it bluntly, aren't the best. Not having a proper understanding of what the residuals are or how your inputs affect them show that you're working with a tool you don't fully grasp yet. You mentioned that you tried some other tricks (more iterations, lowering time step value, mesh, etc.) but until you know why these tricks work, it's not really beneficial to mess with them. Furthermore, the problem you are working on sounds fairly complicated, one that a beginner should not undertake unless you A.) have a person who built it previously that you can ask questions and get assistance when needed, or B.) understand CFD very well, and just have problems manipulating ANSYS. It sounds like you're the latter, so time to study up! You also need to understand that this community exists to help people and further everyone's knowledge of CFD techniques. I, just like everyone else on here, want to give you a hand. But, as you could probably tell, sometimes we get a little frustrated when people ask the same basic questions (how can I lower my residuals, how can I improve my mesh, why do I need to care about convergence) repeatedly in multiple forums. We’re here to help, not do your work for you, so it’s a great idea to see what others have asked and work out what solutions they came up with. Finally, and this is just a general comment, don’t monitor variables per time step. Instead, monitor them per iteration. This will give you a much better idea if the solution is correct before it begins a new time step. Check out that link I provided, and work as many tutorials as you can. If you are still having trouble, come back and ask a specific question with a lot of context (pictures, this is my number of iterations, I’m using the energy equation, etc.). We generally like it when we have a better idea what you are doing. Good luck! |
|
November 27, 2018, 21:24 |
|
#12 |
New Member
Andreia
Join Date: Jun 2018
Posts: 13
Rep Power: 8 |
Thank you for your replay.
I understand your point, and i read a lot about ANSYS but there is so much information and so different opinions that makes me confused. I'm doing my master thesis so i have a short time to finish this. I think i have a complicate case and i have to learn everything on my own in a short time this is way my question are so basic. I'm having troubles because when i think i finally have a solution another problem appears. But thank you all for your tima and for your tipsi really appreciate it, i will try to read more about it. |
|
November 28, 2018, 11:17 |
|
#13 | |
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,763
Rep Power: 66 |
Quote:
What you need first is to establish a baseline. Pick any group of settings and figure out how many iterations it takes for your solution to converge for 1 and every single time-step. That means look at the variables per iteration. If it diverges and blows up you have a problem. If it converges, then you finally have a start. Once you achieve iterative convergence, i.e. the solution no longer changes as you iterate more there is absolutely nothing you can do (in that particular simulation or case file) to improve your residuals. But if your solution is not converged, then there is absolutely no reason to even analyze any results coming from it. It's simply wrong. That is why it is soooo important to check that your solution is actually converged. Once you are converged.... the only thing you can do is change settings (like discretization schemes) and change your mesh. If your solution is already converged, more iterations doesn't make it go anywhere. Changing urf's also doesn't change what the solution converges to. |
||
Tags |
fluent, piso, pulsejet, simple |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
How to add correcting pressure equation in SIMPLE of MRFSimpleFOAM? | renyun0511 | OpenFOAM Programming & Development | 0 | November 4, 2010 02:38 |
Continuity. Stop critertion of PISO and SIMPLE in OpenFOAM solvers. | idrama | OpenFOAM | 4 | September 21, 2010 04:26 |
compressible SIMPLE method | fakor | Main CFD Forum | 1 | August 30, 2010 12:21 |
SIMPLE, SIMPLER or PISO? | Gem Leku | Main CFD Forum | 7 | October 24, 2007 12:20 |
Making SIMPLE converge faster | Fabio | Main CFD Forum | 4 | April 9, 2006 12:35 |