Hi,

finally, here is a patch that (I hope) fixes the issue.

Attachment: 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

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
subsurface mailing list
subsurface@hohndel.org
http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to