|
[Sponsors] |
Trouble with floating point errors using buoyantSimpleFoam |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
September 6, 2017, 11:51 |
Trouble with floating point errors using buoyantSimpleFoam
|
#1 |
Member
Join Date: Jun 2017
Posts: 58
Rep Power: 9 |
Hi all
I am attempting to model forced convection from air passing over heated surfaces on a large scale. While the velocities are low, the disturbances to the velocity are significant enough at higher altitudes (around 2-3km) that I felt I needed to use a compressible solver to account for changes in air density. I am currently running a test case where it is simply a 2D rectangular domain, with the left side a velocity inlet, top and right sides inletoutlets. Bottom is a wall with slip condition. Currently no heat is added to the system as I'm trying to iron out the issues with what I feel should be a relatively simple case. I initialise the temperature and pressure fields using funkySetFields, according to the ISA equations (http://www.wxaviation.com/ISAweb-2.pdf). However, I can't get past the first timestep without a floating point exception. In ParaView, the temperature field looks fine: Looking at vertical velocity, there's is a huge drawdown across the top of the domain: I plotted vertical p and p_rgh distribution: Clearly there is an issue manifesting here too. Pressure is too high at the surface (should just be around 10e5) and the initial distribution I set seems to mostly be modified, except for the outlet at 10000m where it's restricted to the correct value for that altitude. The p_rgh distribution is also very confusing to me - my understanding was that it was initialised based on p, and it was pressure minus rho*gravity*height, but then shouldn't it just be constant at 10e5, since there's nothing else to disturb the pressure? Any help or advice is appreciated - I have been trying to get this relatively simple problem to run for longer than I'd like to admit and the issues at every stage become more and more obscure and harder to find anything online about. Any additional info/entire case file can be uploaded if that's helpful. |
|
September 7, 2017, 09:40 |
|
#2 |
Member
Join Date: Jun 2017
Posts: 58
Rep Power: 9 |
I believe I may have found my issue, or at least an issue...
Looking at the p vs p_rgh values, density vs altitude is accurate compared to ISA tables. But clearly the pressures are incorrect. Is the solver evaluating each cell assuming that the rho at that particular point is constant across the vertical column? It would explain why p_rgh drops when it should really be constant, since as height increases, the rgh term will count for less than it would be if it was considering the higher density beneath it. Which would mean that buoyantSimpleFoam is not appropriate for solving cases where the density varies significantly versus the altitude? If someone could confirm or deny my assessment and possibly point me towards a more appropriate solver I would be grateful |
|
September 20, 2017, 06:03 |
|
#3 |
Member
Join Date: Jun 2017
Posts: 58
Rep Power: 9 |
Sorry to bump but I am still unable to get a resolution on my issue through my own work or searching online. If anyone could confirm my assessment that buoyantSimpleFoam is not appropriate for this type of modelling and suggest a better solver I would be grateful. Thanks
|
|
September 25, 2017, 12:23 |
|
#4 |
Member
Join Date: Jun 2017
Posts: 58
Rep Power: 9 |
I appreciate that this is bordering on spam so this will be the final time I bump this. I am still struggling with this problem and at this point I've exhausted every option I can think of, including burning incense underneath a makeshift shrine to the gods of OpenFOAM. Unfortunately they have not been appeased.
I found this thread: buoyantPimpleFoam weird behavior Where a user seems to be having a similar problem to me. However, I modified the solver as some of the comments suggested and still had the same issues. I initialise all my fields based on ISA equations, but at the first timestep the pressure field just snaps to strange values then I get floating point errors. I also found a bug report online suggesting that the thermal solvers do not initialise fields properly in cases like this, where there is a large change across the pressure and temperature fields. So my questions are these: 1) Is buoyantSimpleFoam simply inappropriate for solving a case such as this, where the vertical domain extends several kilometers and the temperature and pressure contrast between the top and bottom of the domain is very large? 2) If not, is there some other solver which will fit my needs better, or some modification I can make to buoyantSimpleFoam to achieve my goals? Again, I apologise for bumping this yet again but I am fairly desperate for any advice at this stage. Any help or hint as to what may be the issue is massively appreciated. Thanks sturgeon |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
icoFoam - Floating point exception (core dumped) | File | OpenFOAM Running, Solving & CFD | 26 | March 6, 2021 05:26 |
Floating point exception (yes...) | sandri_92 | OpenFOAM Running, Solving & CFD | 0 | October 23, 2016 15:42 |
Got a Floating point exception when using buoyantSimpleFoam | sajad6 | OpenFOAM Running, Solving & CFD | 1 | October 29, 2014 16:35 |
AMI interDyMFoam for mixer nu problem | danny123 | OpenFOAM Programming & Development | 8 | September 6, 2013 03:34 |
block-structured mesh for t-junction | Robert@cfd | ANSYS Meshing & Geometry | 20 | November 11, 2011 05:59 |