VPM-B Project - Report

Jan Darowski jan.darowski at gmail.com
Wed May 20 15:11:41 PDT 2015

Here is the current VPM-B project's state:
I've been mostly working on two things: better understanding the
algorithm and getting through the existing subsurface planning code.
Lately I've started coding some skeleton of the vpm-b implementation.
My first idea was to seperate it completely from the Subsurface code.
Robert Helling told me that there is a lot of code that can be used
inside vpm-b and maybe I should consider just branching the existing
code and working on it.
The problem here is, that current implementation of the planner code
is completely unprepared for adding new deco algorithms. I would spend
more time on refactoring and seeking integration bugs than on writting
vpm-b. So wanting to first focus on the algorithm, I'm creating a new
code, which includes only few Subsurface files (dive.h, units.h).
Doing this, I can write implementation based on the Subsurface data
structures, using helping functions, without loosing control over the
whole code. Of course my implementation is based on how current deco
code is written.

About the algorithm: I've been planning to prepare the first part of
the algorithms description (what algorithm does before the deco,
during the dive simulation) by now but it appears to be quiet trivial:
It calculates gas pressure in the tissue compartments just like
current deco.c implementation but using more precise Schreiner
equation (instead of  Haldane) and keeps track of the maximum crushing
pressure (difference between gas pressure in the compartment and
ambient pressure). And that's all!

As soon as my implementation will correctly read input files and
simulate gas pressures, I will link a repo so anyone could take a look
at it. I hope it will be done this weekend.

Jan Darowski

More information about the subsurface mailing list