Make the VPMB-B planner pass all tests

Rick Walsh rickmwalsh at gmail.com
Sat Aug 29 16:40:58 PDT 2015


Robert,

On 30 August 2015 at 02:32, Robert C. Helling <helling at atdotde.de> wrote:

> Rick,
>
> you are a hero! Sorting alt these things out.
>
> On 29 Aug 2015, at 14:38, Rick Walsh <rickmwalsh at gmail.com> wrote:
>
> With this series of patches, we now pass all VPM-B tests
>
> [PATCH 01/10] VPM-B Tests: Output first ceiling
> [PATCH 02/10] Update expected runtime of VPM-B test to match
> [PATCH 03/10] VPM-B: Use correct gamma values
> [PATCH 04/10] Use Schreiner water vapour pressure for VPM-B
> [PATCH 05/10] VPM-B: Calculate crushing pressure on descent
> [PATCH 06/10] Planner: Change where we clear deco and reset gradients
> [PATCH 07/10] VPM-B: Remove obsolete first_ceiling_pressure
> [PATCH 08/10] VPM-B: Round first ceiling pressure up to stop
> [PATCH 09/10] VPM-B tests: correct typo
> [PATCH 10/10] VPM-B Tests: Compare against known Subsurface runtime
>
>
> In general, this all looks good, except for a number of minor points: When
> doing such a series of patches (and yes, it is good to split them into
> small functional units) and you later find you want to correct one of the
> earlier patches, there is git commit —amend and git rebase -i („Rewriting
> history“)  where you can hide the fact, that earlier you committed a typo
> in a comment and did some miscalculation, see for example
>
> https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase-i
>
> Thanks, I'm aware of and use --amend, but haven't/hadn't worked out how to
use git rebase.  Rewriting history sounds useful.


> My only worry is 4/10: What is the „Schreiner water vapour pressure“? I
> already have problems with people giving a name to the solution of the
> differential equation
>
> y’(x) = gamma (f(x) - y(x))
>
> for f(x) a linear function (some people call this the Schreiner equation
> when they talk about tissue loadings during an ascent or descent). But how
> can two different people have different values for water vapour? This is a
> measurable value (which is temperature dependent of course), see
> https://en.wikipedia.org/wiki/Vapour_pressure_of_water
>

I have explained the Schreiner water vapour pressure in a new patch.  It is
an effective value to account for CO2 and a respiratory quotient, Rq.  An
alternative could have kept the water vapour pressure the same, but created
new constants for CO2 and Rq, and re-written the gas loading equations such
that they no longer look familiar.  Let me know if you don't agree with the
explanation in my patch.

This is separate from the constant depth (Buhmann) vs varying depth
(Schreiner) equations.  I agree we do not need to introduce the Schreiner
equation as we use a small enough step size.

>
> I mean, I gave up arguing about the reasonableness of values of VPM-B,
> they are what they are, but when doing strange things one should no longer
> pretend that there is a physical basis for something.
>
> How much difference does this patch (in its corrected version) actually
> make for run-times?
>

 The difference appears to be ~2% of decompression time.

>
> Also, don’t test prefs.deco_mode alone, always use it in conjunction with
> in_planner() (maybe we need a macro or inline function for that) since, at
> least so far, the deco mode only has a relevance in the planner and when
> plotting profiles outside the planner, we always use Buehlmann.
>
> I'll send a patch for that.

Cheers,

Rick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20150830/3336b74b/attachment.html>


More information about the subsurface mailing list