Hi, finally, here is a patch that (I hope) fixes the issue.
reverse_slope.patch
Description: Binary data
Please take my old email below as commit message together with Fixes #549 Signed-off-by: Robert C. Helling <hell...@atdotde.de> Best Robert On 16.06.2014, at 23:25, Robert C. Helling <hell...@atdotde.de> wrote: > Hi, > > I have investigated this for a seizable number of hours but am still not in > the position to send a commit that fixes this problem in all circumstances. > > Here is a progress report on what happens: In a dive, when you choose a very > low GFlow (like 5 or 9) and a trimix with quite some He (12/48 in the > example) and descend fast, the ceiling seems to do strange things in the > first minutes of the dive (very very deep for example or jumping around). > > To understand what is going on we have to recall what gradient factors do in > detail: Plain Buehlmann gives you for each tissue a maximal inert gas > pressure that is a straight line when plotted against the ambient pressure. > So for each depth (=ambient pressure) there is a maximally allowed > over-pressure. > > The idea of gradient factors is that one does not use all the possible > over-pressure that Buehlmann gives us but only a depth dependent fraction. > GFhigh is the fraction of the possible over-pressure at the surface while > GFlow is the fraction at the first deco stop. In between, the fraction is > linearly interpolated. As the Buehlmann over-pressure is increasing with > depth and typically also the allowed overpressure after applications of > gradient factors increases with depth or said differently: the tissu > saturation has be lower if the diver wants to ascent. > > The main problem is: What is the first stop (where to apply GFlow)? In a > planned dive, we could take the first deco stop, but in a real dive from a > dive computer download it is impossible to say what constitutes a stop and > what is only a slow ascent? > > What I have used so far is not exactly the first stop but rather the first > theoretical stop: During all of the dive, I have calculated the ceiling under > the assumption that GFlow applies everywhere (and not just at a single > depth). The deepest of these ceilings I have used as the “first stop depth”, > the depth at which GFlow applies. > > Even more, I only wanted to use the information that a diver has during the > dive, so I actually only considered the ceilings in the past (and not in the > future of a given sample). > > But this brings with it the problem that early in the dive, in particular > during the descent the lowest ceiling so far is very shallow (as not much gas > has built up in the body so far). > > This problem now interferes with a second one: If at the start of the dive > when the all compartments have 790mbar N2 the diver starts breathing a > He-heavy mix (like 12/48) and descents fast the He builds up in the tissues > before the N2 can diffuse out. So right at the start, we already encounter > high tissue loadings. > > If now we have a large difference between GFhigh and GFlow but they apply at > very similar depth (the surface and a very shallow depth of the deepest > ceiling (which for a non-decompression dive would be theoretically at > negative depth) so far) it can happen that the linear interpolation as > opposite slope then in the typical case above: The allowed over-pressure is > degreasing with depth, shallower depth do not require lower gas loading in > the tissue (i.e. can be reached after further off-gasing) but but tolerate > higher loadings. In that situation the ceiling disappears (or is rather a > floor). > > So far, I got rid of that problem, by stating that the minimum depth for > GFlow was 20m (after all, GFlow is about deep stops, so it should better not > be too shallow). Now the dive reported in ticket #549 takes values to an > extreme in such away that 20m (which is determined by > buehlmann_config.gf_low_position_min in deco.c) was not enough to prevent > this inversion problem (or in a milder form that the interpolation of > gradient factors is in fact an extrapolation with quite extreme values). > > I have now a patch that gets rid of the problem for the dive described above > but still it is possible to find (more extreme) parameter choices that lead > to non-realistic ceilings. I am still working on this. > > Let me close by pointing out that all this is only about the descent, as it > is about too shallow depth for GFlow. So no real deco (i.e. later part of the > dive) is inflicted. This is only about a theoretical ceiling displayed > possibly in the first minutes of a dive. So this is more an aesthetically > than a practical problem. > > Best > Robert > > PS: I also copy this text to trac. > > > > -- > > .oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oO > > Robert C. Helling Elite Master Course Theoretical and Mathematical > Physics > Scientific Coordinator > Ludwig Maximilians Universitaet Muenchen, Dept. Physik > > print "Just another Phone: +49 89 2180-4523 Theresienstr. 39, rm. B339 > > stupid .sig\n"; http://www.atdotde.de > > _______________________________________________ > subsurface mailing list > subsurface@hohndel.org > http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ subsurface mailing list subsurface@hohndel.org http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface