
[Sponsors] 
November 17, 2018, 14:59 
Simple vs Piso

#1 
New Member
Andreia
Join Date: Jun 2018
Posts: 13
Rep Power: 7 
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, 01:35 

#2 
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,492
Rep Power: 64 
Your timestep is probably too large, check your courant number. And you probably don't run enough iterations per timestep. Check to make sure your solution converges every time step.


November 19, 2018, 11:24 

#3 
New Member
Andreia
Join Date: Jun 2018
Posts: 13
Rep Power: 7 
Thank you for your reply.
I already tried to decrease time step and increase iteration/time step, i'm using for time step 1e5s 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, 11:35 

#4 
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,492
Rep Power: 64 
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 / timestep. If you never converge and move on to the next timestep, 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 timesteps vs small timesteps. With both, if you run too large timesteps you can actually never converge. Forget which one is better / more accurate, you need to do some basic sanity checks first. 

November 19, 2018, 14:09 

#5 
New Member
Andreia
Join Date: Jun 2018
Posts: 13
Rep Power: 7 
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, 11:18 

#6 
Senior Member
Join Date: Dec 2016
Posts: 152
Rep Power: 9 
Alright, I think you might be confusing a few terms here.
For an indepth discussion on what the Courant number is, check out this article (https://www.simscale.com/blog/2017/08/cflcondition/). 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 "levelingout" 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 1E5 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, 17:08 

#7 
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,492
Rep Power: 64 
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 timestep???????
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 timesteps for my simulations to get courant number of around 2. I have no clue whether a timestep of 1e05 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 timestep (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 timesteps. If you run more than a few iterations per timestep, 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 timestep is a lot and you shouldn't need this many to converge at a given timestep. Needing that many means your timesteps are too large. It's more optimal to run fewer iterations with smaller timesteps. 

November 27, 2018, 09:21 

#8 
New Member
Andreia
Join Date: Jun 2018
Posts: 13
Rep Power: 7 
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 1e4. I also check my courant number and it is very high, it is between 4 and 10. 

November 27, 2018, 09:56 

#9 
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,492
Rep Power: 64 
When Fluent/Ansys says that the solution is converged, it's not some allknowing 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 1e04 are quite high. A Courant number of 410 is not ridiculously high, so your timesteps size is on the right order of magnitude. But that explains why you need a ton of iterations per timestep. 

November 27, 2018, 16:37 

#10 
New Member
Andreia
Join Date: Jun 2018
Posts: 13
Rep Power: 7 
So how can i low the residuals? What i read is lower the time step, increase the iteration/timestep, 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 timesetp. 

November 27, 2018, 20:00 

#11 
Senior Member
Join Date: Dec 2016
Posts: 152
Rep Power: 9 
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 weeksworth 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, 20:24 

#12 
New Member
Andreia
Join Date: Jun 2018
Posts: 13
Rep Power: 7 
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, 10:17 

#13  
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,492
Rep Power: 64 
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 timestep. 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 
Thread Tools  Search this Thread 
Display Modes  


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 01:38 
Continuity. Stop critertion of PISO and SIMPLE in OpenFOAM solvers.  idrama  OpenFOAM  4  September 21, 2010 03:26 
compressible SIMPLE method  fakor  Main CFD Forum  1  August 30, 2010 11:21 
SIMPLE, SIMPLER or PISO?  Gem Leku  Main CFD Forum  7  October 24, 2007 11:20 
Making SIMPLE converge faster  Fabio  Main CFD Forum  4  April 9, 2006 11:35 