[PULL REQUEST] VPM-B Attempt 2.

Rick Walsh rickmwalsh at gmail.com
Sat Jul 4 00:22:34 PDT 2015


Hi Jan,

On 4 July 2015 at 08:27, Jan Darowski <jan.darowski at gmail.com> wrote:

> Hi,
> Here is another pull request. I hope now it's better. Everything was
> reorganized from scratch, the final code is almost the same.
>
>
I tried your VPM patch set.  I haven't worked through the logic of the code
or looked at individual commits.  I just tested the dive VPM planner.

I don't have Multideco or any other VPM planner for comparison, so I was
only comparing it against example profiles I could find.  Almost all
examples were using VPM-B, and most had an added conservatism factor - both
very good things for planning real dives, but quite annoying as a
comparison, since I understand you have not yet implemented the Boyle's law
adjustment or conservatism factors.  But, there is an example in the
introduction to Eric Baker's original VPM Fortran code.

Note that the licence for the Fortran code is, "DISTRIBUTE FREELY - CREDIT
THE AUTHORS".

The example uses 15/45 trimix bottom gas, and 36% and 100% as deco gasses.
There are two example dives to 260 ft (79 metres) with 30 minute bottom
time, and 60 minute surface interval between the dives.  Descent rate is 75
ft/min (23 m/min), and ascent rate is generally 30 ft/min (9 m/min) then 10
ft/min (3 m/min) from final stop.  Total dives times are 101 and 126
minutes, respectively.

Setting the same profiles, the deco schedule calculated by Subsurface is
quite a bit more aggressive.  Total dive times are 86 and 103 minutes.

But then I checked the configuration parameters adopted, and there are
differences.  I altered vpmb_config to match what was used in the Fortran
code.
critical radius of N2 was 0.6, changed to 0.8 microns
critical radius of He was 0.5, changed to 0.7 microns
critical volume of lambda was 250, changed to 231.021 bar (=7500 fsw-min)

Using these configuration parameters, we get total dive times of 101 and
125 minutes, respectively.  I.e.within 1 minute (which is nothing) of the
example dives.  It would be a huge coincidence if the calculations weren't
being performed correctly.

I can't claim these configuration parameters are 'better', but with them,
we can match the benchmark.  A patch is attached.  You may or may not want
to take it: when the Boyles Law adjustment is made, I think the critical
radii should be reduced back to how they were, but the lambda parameter
should also be reduced to ~200 bar.

I also attached a patch to include the units in the config structure, to
make it marginally easier to understand what the parameters represent.

Cheers,

Rick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20150704/feaa5c07/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0013-Use-same-VPM-configuration-parameters-as-Fortran-exa.patch
Type: text/x-patch
Size: 1062 bytes
Desc: not available
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20150704/feaa5c07/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0014-Include-units-in-VPM-config-structure-definition.patch
Type: text/x-patch
Size: 1865 bytes
Desc: not available
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20150704/feaa5c07/attachment-0001.bin>


More information about the subsurface mailing list